Linux用户管理 二

3)更改用户信息

命令 注释
usermod -l 新名称 用户名 更改用户名称
usermod -u 新id 用户名 更改用户uid
usermod -g 组名 用户名 更改用户的初始组
usermod -G 组名 用户名 更改用户的附加组
usermod -aG 组名 用户名 添加用户的附加组
usermod -G (双引号) 用户名 删除用户所有附加组的身份
usermod -c 说明文字 用户名 指定用户说明文字
usermod -d 目录名 用户名 更改用户家目录的指向
usermod -md 目录名 用户名 更改用户家目录
usermod -s 目录名 更改用户的shell
usermod -l 用户名 冻结用户
usermod -u 用户名 解锁用户

在这里插入图片描述
(注:usermod命令使用演示)

注意
1.更改分组时组名不要用数字,容易混淆组名与id
2.使用usermod -G双引号来删除一个用户的附加组,增加附加组时使用 -aG命令
3.更改用户的shell时,使用cat /etc/shells命令查看都有哪些shell可供更改
4.更改用户家目录的指向(-d)时只能选择已有的目录,而更改用户的家目录(-md)时可以直接更改,无论有没有该目录

shells目录下都有哪些shell可供更改
(注:shells目录下都有哪些shell可供更改)

5.用户认证信息

/etc/shadows ##记录用户认证信息
此文件一共有九列
在这里插入图片描述

列数 注释
1.用户名 用户名称
2.密码 用户的加密字符串,默认用的加密方式为SHA512对称加密,如果加密字符串前出现“!”那么用户被冻结
3.最后一次密码被更改的时间 此时间计算是从1970.1.1开始计算的累计天数
4.密码最短有效期 如果此位有设定数字,那么在此数字范围内的天数是不能修改用户密码的
5.密码最长有效期 用户必须在此有效期内更新密码,如果超时会被冻结,即密码还能用多少天
6. 密码警告期限 在过期前指定天数内会发送警告信息给用户
7.用户非活跃天数 此位默认为空,如果设定数值,那么在用户密码最长有效期过后仍然可以使用的天数,即理应不能登,再让你登的天数
8.用户到期日 默认为空,表示帐号一定会被冻结的时间点
9.用户自定义列 用户自定义

在这里插入图片描述
(注:默认在/etc/login.defs 里)

在这里插入图片描述
(注:加密方式为SHA512对称加密)

2.用户密码

命令 注释
passwd -l 用户名 在用户名密码前加入“!!”
passwd -u 用户名 消除用户名密码前的“!”
usermod -L 用户名 在用户名密码前加“!”
usermod -U 用户名 消除用户名密码前的“!”,在密码不为空时使用
usermod -d 用户名 清空该用户密码
passwd 用户名 更改该用户密码
passwd -S 用户名 查看用户密码信息

在这里插入图片描述
(注:用户密码命令使用演示)

注意

1.普通用户更改密码时必须知道当前用户的原始密码
2.密码不能和当前账号相似
3.密码不能是纯数字或纯字母
4.密码不能是有序的数字和字母的组合
5.使用 “passwd -d 用户名” 命令删掉该用户的密码后,该用户可以不输密码直接登陆
6.超级用户更改密码时不会受到密码强弱度的限制

3.用户密码最后一次被更改的时间

命令 注释
passwd -e 用户名 会改变用户最后一次更改密码的时间
chage -d 0 用户名 用户在登陆时会被强制更改密码

(注:两个命令功能类似)

4.密码最短有效期

命令 注释
passwd -n 1 用户名 该用户在1天之内不能修改密码
chage -m 1 用户名 该用户在1天之内不能修改密码

5.密码最长有效期

命令 注释
passwd -x 7 用户名 设定该用户在7天之内不能修改密码
chage -M 7 用户名 设定该用户在7天之内不能修改密码

6.密码警告期限

命令 注释
passwd -w 3 用户名 密码过期前3天有警告输出
chage -W 3 密码过期前3天有警告输出

7.用户非活跃天数

命令 注释
passwd -i 3 用户名 密码过期后仍可登陆系统3天
chage -I 3 用户名 密码过期后仍可登陆系统3天

8.用户到期日

命令 注释
chage -E 2020-1-10 用户名 该用户在2020-1-10会被冻结

6.用户授权

1)权力下放文件为 /etc/sudoers,此文件可以用用vim直接编辑,但不提供语法检测,建议使用visudo命令编辑此文件,visudo命令是提供于法检测的。

2)下放方式
使用
visudo
命令,在该文件的100行左右,输入:set nu 设置行数 ,或者直接输入:100到第100行,进行查找。

    用户     主机名称=(得到的用户身份)       命令  
举例:
    ##allow tom to run useradd localhost
    leo      localhost=(root)            /user/bin/useradd    ##用户leo可以在localhost主机以root身份执行useradd命令
    leo      localhost=(root)NOPASSWD:  /user/bin/useradd    ##用户leo可以在localhost主机以root身份执行useradd命令

在这里插入图片描述
(注:在行前加##将其标注,系统不会运行)

3)测试
su - leo ##切换用户到
leo

然后输入sudo useradd harry 查看是否生效
测试时可以使用ctrl+shift+t 增加窗口,在增加的窗口测试,方便操作

在这里插入图片描述
注意
1.使用被授权的命令前记得加sudo
2.输入hostname查看当前主机名称
3.当要授权多个命令时中间加逗号 “

猜你喜欢

转载自blog.csdn.net/weixin_44299264/article/details/85642742