1、用户的查看
1) 查看当前用户
whoami
2)系统中用户的查看
id wang ##查看指定用户wang的id信息
id -u wang ##查看用户的uid
id -g wang ##查看用户的gid
id -G wang ##查看用户所在的所有组的id
id -n wang ##显示名字而不是id数字 ps:需要和ugG参数使用
2、用户切换
gnome- session- quit --force ##注销当前用户
su - 用户名称 ##切换到用户
su - 中,“-”表示在身份切换的同时切换当前的用户环境
su - 执行时,高级用户切换到其他用户时不需要密码,低级切换到高级需要密码,同级之间切换也需要密码。
ps: su 切换到其他用户时,操作完成必须退出,然后再切换到其他用户。 可Ctrl+d 或 exit退出!
3、用户在系统中的存储方式
/etc/passwd ##用户名称:密码 : uid : gid : 说明文字 : 家目录 : 默认shell
/etc/group ##组名 : 组密码 : 组id : 组成员
/etc/shadow ##认证信息文件
/etc/skel/.* ##默认开启shell的配置文件,用户的骨文件
/home/username ##用户的家目录
4、用户管理命令
1)用户的删除
userdel westos ##删除用户但不删除用户的配置文件
userdel -r westos ##删除用户并删除用户的配置文件
2)用户的建立
新建用户之前
useradd -u 2222 wang1 ##指定用户的uid
useradd -g 22 wang2 ##指定用户的初始组id,“22用户组必须存在”
useradd -G 22 wang3 ##指定用户的附加组id。“22用户组必须存在”
useradd -c “hahaha” wang4 ##指定用户的说明文字
useradd -d /home/redhat wang5 ##指定用户的家目录
useradd -s /sbin/nologin wang6 ##指定用户的默认shell
新建后如下图:
groupadd groupwang ##建立用户组
groupadd -g 1111 groupwang2 ##建立用户组并指定用户组id
groupdel groupwang ##删除用户组
**用户信息监控**
watch -n 1 ' tail -n 6 /etc/passwd /etc/group; ls -l /'
3)更改用户信息
usermod
usermod -l qifan wang1 ##更改用户名称
usermod -u 1234 qifan ##更改用户uid
usermod -g 21 qifan ##更改用户的初始组
usermod -G 22 qifan ##更改用户的附加组
更改之前:
更改之后:
usermod -aG 72 qifan ##添加用户的附加组
usermod -G “” qifan ##删除用户所有附加组的身份
usermod -c “haha” qifan ##指定用户说明文字
usermod -d /home/xiao qifan ##更改用户家目录指向
usermod -md /home/xiao qifan ##更改用户家目录
usermod -s /bin/sh qifan ##更改用户的shell
usermod -L student ##冻结用户
usermod -U student ## 解锁用户
冻结前:
冻结后:
解锁:
解锁后:
5、 密码问题
1)用户认证信息
etc/shadow ##记录用户认证信息
wangqi: !! :17899:0:99999: 7 : : :
[1] [2] [3] [4] [5] [6] [7] [8] [9]
[1] wangqi ##用户名称
[2] !! ##用户密码,用户密码是加密字符串,默认使用sha512对称加密方式,如果加密字符串前出现!,则表示用户被冻结。
[3] 17899 ##用户密码最后一次被修改的时间,此时间是从1970-1-1开始计算的,1970年为计算机元年。
[4] 0 ##用户密码最短有效期,也就是说密码在这个数字天数之内不能被再次修改。
[5] 99999 ##用户密码最长有效期,用户在此数字显示的天数内必须修改密码,超过就会被冻结。
[6] 7 ##用户密码警告期限,也就是说在密码到期前此数字显示天数开始,系统会向用户发送密码修改警告。
[7] ##用户非活跃天数,此位默认为空,若有数字设定,则表示在用户密码到期后,还可以使用数字天数。
[8] ##用户到期日,默认为空,若设定时间数字,则表示到达时间点用户账号会被冻结,与是否修改密码无关。
[9] ##用户自定义列,目前没有启用。
2)用户密码
passwd -S wangqi ##查看用户的密码信息
passwd wangqi ##更改wangqi的密码
密码修改前:
修改后:
passwd -l wangqi ##在用户密码前加入“!!”,冻结用户
passwd -u wangqi ##解锁用户
usermod -L wangqi ##在用户密码前加“!”也表示冻结用户,但是没有passwd -l wangqi的强度高
usermod -U wangqi ##解锁
passwd -d wangqi ##清空用户密码
注意:普通用户修改密码时
1、需要知道当前用户的原始密码,超级用户修改普通用户时不需;
2、密码不能和账号名称相似;
3、密码不能是纯数字或字母;
4、密码不能是有序的字母和数字组合。
用户密码最后一次被更改的时间
passwd -e wangqi ##会改变用户最后一次更改密码时间为0,用户在下次登录时会被强制要求更改密码
chage -d wangqi ##同上命令相似
用户密码最短有效期
passwd -n 1 wangqi ##用户在1天之内不能修改密码
chage -m 0 wangqi ##同上
密码警告期限
passwd -w 5 wangqi ##密码过期前5天发出警告
chage -W 0 wangqi ##同上
密码最长有效期
passwd -x 100 wangqi ##100天内必须修改密码
chage -M 99999 wangqi ##同上
用户非活跃天数
passwd -i 2 wangqi ##密码过期2天仍可登录
chage -I -1 wangqi ##同上
用户到期日
chage -E 2020-11-11 wangqi ##到2020-11-11用户到期
6、 用户授权
1)授权配置文件 /etc/sudoers ----此文件可直接用vim编辑,但不提供语法检测;
可使用visudo 编辑,提供语法检测
2)授权配置命令
visudo
在100行左右
用户 主机名称= (转换成新的用户身份) 命令1,命令2 。。。
wangqi localhost=(root) /usr/sbin/useradd ##wangqi在localhost上以root的身份运行useradd命令
wangqi localhost=(root) NOPASSWD: /usr/sbin/useradd ##wangqi在localhost上以root的身份运行useradd命令,免密操作。
操作如下:
首先尝试用普通用户wangqi执行useradd命令,发现没有权限
超级用户root 运行visudo命令
此处 :set nu 显示行数
对wangqi 用户授权useradd命令使用
此时可运行useradd命令,但是运行时需要输入用户密码
再次运行visudo命令,对wangqi用户免密授权
此时wangqi用户再运行useradd命令不需输入密码