用户信息的更改
usermod ##mod =modlify 修改
为了便于直观看出改变我们通过监控指令
watch -n 1 ‘tail -n3 /etc/passwd /etc/group;ls -l /home‘
来对用户的用户信息文件,用户组信息文件以及用户家目录进行监控。
首先,我们新建一个用户,mack
- usermod -l 更改后用户名 更改前用户名 #更改用户名
- usermod -u 用户名 #更改用户uid
- usermod -g 用户名 #更改用户初始组
- usermod -G 用户名 #更改用户的附加组,更改多个时在中间加“,“
附加一个:
附加多个:
- useradd -aG 用户名 #在原来的附加组不变的情况下添加新的附加组
--注意:如果不使用“-aG“而使用“-G“添加新的附加组原本的附加组会被替换
- usermod -G ““|‘‘(一个强引用一个弱引用) 用户名 #消除所有附加组
- usermod -d 用户名 #更改用户家目录名称(只改变家目录的指向但是不会更改用户创建时生成的家目录名称)
我们可以看到用户mack的家目录指向变为了/home/jim然而家目录文件中原本的家目录mack名称并未发生改变 - usermod -md 用户名 #可以同时改变家目录的指向和用户创建时生成的家目录名称,但该参数的顺序不能改变,-dm是一种错误用法。
可以看出不仅家目录指向发生了更改,/home下用户mack原本的家目录名称也发生了改变 - usermod -c 用户名 #更改说明文字
- usermod -s 用户名 #更改默认shell
- usermod -L 用户名 #冻结用户(L=lock)
首先我们创建一个用户mack 重启虚拟机,可以看到用户mack的登陆按钮
然而当我们执行完usermod -L mack指令后再次重启虚拟机可以看到mack用户的登陆界面消失说明mack用户已经被冻结
- usermod -U 用户名 #解锁用户
用户认证信息
用户的认证信息记录在 /etc/shadow 文件内
该文件共有九列(以最后一行为例)
列数 | 作用 |
---|---|
第一列:mack | 记录用户名称 |
第二列:!! | 用户的加密字符串,默认用的加密方式为sha512的对称加密,如果加密字符串前出现“!”那么用户被冻结##加密分为对称加密(加密解密全是同一串字符典型示例:指纹解锁)和非对称加密(公钥锁 密钥解) |
第三列:17897 | 密码最后一次被更改时间,此时间的计算是从1970-1-1开始计算的累计天数 |
第四列:0 | 密码最短有效期,如果此位有设定数字,那么在此数字范围内的天数内是不能更改密码的 |
第五列:99999 | 密码最长有效期,更改密码后会刷新 |
第六列:7 | 密码警告期限,在过期前制定天数内会发送警告信息给用户 |
第七列: | 用户非活跃天数,此为默认为空,如果设定数值x,那么在密码最长有效期过后只可以使用x天 |
第八列: | 用户到期日,默认为空,到期必定冻结,更改密码后也不会刷新 |
第九列: | 用户自定义,目前没有启用 |
用户密码管理
1.用户密码的修改
同样为了便于直观看出用户密码的改变我们通过监控命令:
watch -n 1 tail -n 3 /etc/shadow进行监控
- passwd 用户名 #更改用户密码
- passwd -l #在用户密码前加上“!!“即冻结用户
- passwd -u #解锁用户
- usermod -L #在用户密码前加上“!“冻结用户 强弱度比-l弱
- usermod -U #解锁用户
- passwd -d #清空用户密码
- passwd -S #查看用户认证信息
注意:普通用户更改密码时:
(1)必须知道当前用户的原始密码
(2)密码不能和帐号名称相似
(3)密码不能是春数字或者字母
(4)密码不能是有序的字母和数字的组合
超级用户更改密码时:
(1)更改自己密码时直接输入passwd,会受密码强弱度限制
(2)更改其他用户密码时不需要该用户的密码且不会手密码的强弱度限制
2.用户密码最后一次被更改时间的修改
- passwd -e 用户名 #只能改成0,用户登陆时会强制更改密码(应用示例:新建信用卡的初始密码的更改)
-
chage -d 0 用户名 #功能与上面相似,但是可以任意更改时间
3.用户密码最短有效期的更改 -
passwd -n 1 用户名 #用户1天内不能更改密码
-
chage -m 1 用户名
4.用户密码最长有效期的更改
- passwd -x 30 用户名 #用户在30天内必须更改密码
- chage -M 40 用户名
5.密码警告期限的更改
-
passwd -w 2 用户名 #密码过期前两天有警告输出
-
chage -W 3 用户名
6.非活跃天数的修改 -
passwd -i 2 用户名 #密码过期后仍可登陆系统的天数为2
-
chage -I(大写的i) 3 用户名
7.帐号到期日的修改 -
passwd无法修改
-
chage -E 2019-11-11 用户名 #用户到2019-11-11会被冻结
用户授权
通常情况下普通用户无法建立新的用户 此时便需要root下放权力
1.权力下放文件为/etc/sudoers
此文件可以用vim直接编辑,但是不提供语法检测无法确保自己的语句是否有语法错误
也可以使用visudo编辑此文件,visudo命令是提供语法检测的
2.下放方式
*visudo
100行左右
用户 主机名称=(得到的用户身份) 命令
#mack用户可以在localhost主机以root用户身份执行useradd命令
#mack用户可以在localhost主机以root用户身份免密执行useradd
注意:如果在sudoers中进行了误操作 可以通过输入“:q!”强制退出不保存
3.测试
su - 用户名
sudo useradd redhat