Linux学习笔记(三)——用户与用户组

用户与用户组

(一)、用户配置文件

1、用户管理简介

· 越是对服务器安全性要求高的服务器,越需要建立合理的用户权限等级制度和服务器操作规范。

· 在Linux中主要是通过用户配置文件来查看和修改用户信息。

2、/etc/passwd

· 第1字段:用户名称

· 第2字段:密码标志

· 第3字段:UID(用户ID)

​ - 0: 超级用户
​ - 1-499: 系统用户
​ - 500-65535:普通用户

· 第4字段:GID(用户初始组ID)

· 第5字段:用户说明

· 第6字段:家目录

​ - 普通用户:/home/用户名/
​ - 超级用户:/root/

· 第7字段:登录之后的Shell

3、初始组和附加组

· 初始组:就是指用户一登录就立刻拥有这个用户组的相关权限,每个用户的初始组只能有一个,一般就是和这个用户的用户名相同的组名作为这个用户的初始组。

· 附加组:指用户可以加入多个其他的用户组,并拥有这些组的权限,附加组可以有多个

4、影子文件/etc/shadow

· 第1字段:用户名

· 第2字段:加密密码

​ - 加密算法升级为SHA512散列加密算法

​ - 如果密码位是“!!”或“*”代表没有密码,不能登录

· 第3字段:密码最后一次修改日期

​ - 使用1970年1月1日作为标准时间,每过一天时间戳加1

· 第4字段:两次密码的修改间隔时间(和第3字段相比)

· 第5字段:密码有效期(和第3字段相比)

· 第6字段:密码修改到期前的警告天数(和第5字段相比)

· 第7字段:密码过期后的宽限天数(和第5字段相比)

​ - 0:代表密码过期后立即失效

​ - 1:则代表密码永久不会失效。

· 第8字段:帐号失效时间

​ - 要用时间戳表示

· 第9字段:保留

5、时间戳换算

· 把时间戳换算为日期

\- date -d "1970-01-01 16066 days"

· 把日期换算为时间戳

\- echo $(($(date --date="2014/01/06" +%s)/86400+1))

(二)、用户管理的相关文件

1、用户的家目录

· 普通用户:/home/用户名/,所有者和所属组都是此用户,权限是700

· 超级用户:/root/,所有者和所属组都是root用户,权限是550

2、用户的邮箱

· /var/spool/mail/用户名/

3、用户模版目录

· /etc/skel/

(三)、用户管理命令

1、用户添加命令 useradd
useradd [选项] 用户名

选项:

-u UID:手工指定用户的UID号

-d 家目录: 手工指定用户的家目录

-c 用户说明: 手工指定用户的说明

-g 组名: 手工指定用户的初始组

-G 组名: 指定用户的附加组

-s shell: 手工指定用户的登录shell。默认是/bin/bash

2、用户默认值文件

· /etc/default/useradd

​ - GROUP=100 #用户默认组

​ - HOME=/home #用户家目录

​ - INACTIVE=-1 #密码过期宽限天数(shadow文件7字段)

​ - EXPIRE= #密码失效时间(8)

​ - SHELL=/bin/bash #默认shell

​ - SKEL=/etc/skel #模版目录

​ - CREATE_MAIL_SPOOL=yes #是否建立邮箱

· /etc/login.defs

​ - PASS_MAX_DAYS 99999 #密码有效期(5)

​ - PASS_MIN_DAYS 0 #密码修改间隔(4)

​ - PASS_MIN_LEN 5 #密码最小5位(PAM)

​ - PASS_WARN_AGE 7 #密码到期警告(6)

​ - UID_MIN 500 #最小和最大UID范围

​ - GID_MAX 60000

​ - ENCRYPT_METHOD SHA512 #加密模式

3、修改用户密码 passwd
   passwd [选项] 用户名

选项:

​ -S 查询用户密码的密码状态。仅root用户可用。

​ -l 暂时锁定用户。仅root用户可用

​ -u 解锁用户。仅root用户可用

​ --stdin 可以通过管道符输出的数据作为用户的密码。

eg:使用字符串作为用户的密码

· [root@localhost ~]# echo “123” | passwd --stdin lamp

4、修改用户信息 usermod
usermod [选项] 用户名

选项:

-u UID:修改用户的UID号

-c 用户说明:修改用户的说明信息

-G 组名:修改用户的附加组

-L: 临时锁定用户(Lock)

-U: 解锁用户锁定(Unlock)

5、修改用户密码状态 chage
  chage [选项] 用户名

选项:

​ -l: 列出用户的详细密码状态

​ -d日期: 修改密码最后一次更改日期(shadow3字段)

​ -m 天数: 两次密码修改间隔(4字段)

​ -M 天数: 密码有效期(5字段)

​ -W 天数: 密码过期前警告天数(6字段)

​ -l 天数: 密码过后宽限天数(7字段)

​ -E 日期: 帐号失效时间(8字段)

· [root@localhost ~]chage -d 0 lamp

#这个命令其实是把密码修改日期归0了(shadow第3字段)

#这样用户一登陆就要修改密码

6、删除用户 userdel

  userdel [-r] 用户名

-r  删除用户的同时删除用户家目录

手工删除用户(删除所有用户配置文件中<6个>的相关信息)

· [root@localhost ~]#vi /etc/passwd

· [root@localhost ~]#vi /etc/showdow

· [root@localhost ~]#vi /etc/group

· [root@localhost ~]#vi /etc/gshadow

· [root@localhost ~]#rm -rf /var/spool/mail/lamp

· [root@localhost ~]#rm -rf /home/lamp/

7、查看用户ID Id

[root@localhost ~]Id 用户名
8、切换用户身份 su

[root@localhost ~]#su [选项] 用户名

选项:

  • :  选项只使用“-”代表连带用户的环境变量一起切换

-c 命令:仅执行一次命令,而不切换用户身份

(四)、用户组管理命令

1、添加用户组 groupadd

[root@localhost ~]#groupadd [选项] 组名

选项:

-g GID:    指定组ID

2、修改用户组 groupmod

[root@locahost ~]#groupmod [选项] 组名

选项:

-g GID:    修改组ID

-n 新组名:  修改组名

[root@locahost ~]#groupmod -n testgrp group 1

#把组名group1修改为testgrp

3、删除用户组 groupdel
[root@localhost ~]#groupdel 组名
4、管理用户组 gpasswd

[root@localhost ~]#gpasswd 选项 组名

选项:

-a 用户名:  把用户加入组

-d 用户名:  把用户从组中删除

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值