1.用户切换
(1)用户查看
whoami 查看当前用户
id 查看用户id信息
-u 查看用户的用户id
-g 查看用户主组id
-G 查看用户所在的所有的组的id(主组和附加组)
-n 显示名称
(2)用户切换
使用下图命令可以强制退出当前用户,回到用户登录的界面。
su - username 切换用户
有 - 切换用户时也切换用户环境
无 - 切换用户时不切换用户环境
只有root用户切换到其他用户才不需要输入密码,其他用户切换到其他用户需要输入要切换的用户的密码。
注意:在做用户切换时当使用完毕用户身份及时退出 ,不要在一个shell中反复执行su命令 ,在一个shell中反复执行su命令会导致环境错乱。
2.用户涉及到的系统配置文件
(1)/etc/passwd 用户身份信息文件
用户名称:用户密码:用户id:用户主组id:用户说明:用户家目录:用户默认shell
用户密码目前已经不在这个文件中保存了,所以这里用x代替
(2)/etc/group 组身份信息文件
组名称:组密码:组id:组的附加成员
只有附加组才会显示组的附加成员
(3)/etc/skel/ 用户环境配置文件模板
在切换用户后,会从配置模板里复制文件到桌面。
(4)/etc/shadow 用户认证信息文件
(5)/home/username 用户家目录
(6)/var/spool/mail/username 用户邮箱文件
3.用户和用户组建立及删除
(1)用户建立与删除
用下面的命令监控用户建立:
watch -n 1 "tail -n 4 /etc/passwd /etc/group;echo =======;ls -l /home"
echo表示打印字符
下图为监控界面:(用ctrl+c退出)
userdel -r username 用户删除 (-r 删除用户的系统配置文件 不加-r只删一部分数据)
(2)用户组的建立与删除
groupadd groupname 组建立
-g id groupname 建立组时指定组id
groupdel groupname 组删除
4.用户和用户组的信息管理
groupmod -g 更改后的组id 组名 更改用户组id
命令规则:usermod + -要更改的属性代码 + 更改后的属性信息 + 要更改的用户名称
-l 更改用户名称
-u 更改用户id
-g 更改主组id
-G 更改用户附加组身份(如果本来没有附加组,会自动添加附加组身份,若本来有附 加组身份,会把原所在附加组的身份消除)
-aG 添加用户附加组身份
-G "" 删除所有附加组身份
-c +新的用户说明 +用户名 更改用户说明 -c "" 删除用户说明
-d +新的家目录 +用户名 更改家目录指向(只会在记录文件中变化家目录名 称,真实的家目录名称不改变)
-md 更改家目录指向同时更改家目录名称
-s 更改默认shell
-L 冻结账号
-U 解锁
5.用户认证信息管理
/etc/shadow
文件内容说明:
用户名称:用户密码的加密字符:用户密码最后一次被修改时间:密码最短有效期:密码最长有效期:密码过期前警告期: 账号非活跃期:账号到期时间:用户自定义(未使用)
(1)用户名称
passwd -S 用户名 查看密码状态
PS表示密码被设定过
(2)用户加密字符
I.更改密码:
passwd 用户名 超级用户更改密码 只有root可以执行 “echo 123 | passwd --stdin lee”
passwd 普通用户改密码
II.冻结认证
passwd -l 用户名 冻结账号认证
passwd -u 用户名 解锁账号认证
账号冻结后,账号名后会显示LK,root依然可以登录该账号:
III.密码删除
passwd -d 用户名
IV.密码使用天数(从1970-1-1算其到今天的时间)
passwd -e 用户名 修改默认使用时间为0
chage -d 0 用户名 账号必须改密码才能登陆系统
如果一个用户的密码使用天数为0,那该用户在登录系统时会被强制修改密码。
V.密码最短有效期
passwd -n 1 lee lee在1天内不能改密码
chage -m 1 lee
密码设置失败:
VI.密码最长有效期
passwd -x 40 lee 40天内用户lee必须更新密码否则会被冻结
chage -M 30 lee
只有管理员才能修改密码最长有效期
VII.密码过期警告
passwd -w 2 lee 账号过期前警告时间
chage -W 1 lee
VIII.认证非活跃天数
passwd -i 2 lee 账号认证最大时间超过后还能用多久
chage -I 1 lee
VIIII.账号认证到期时间
chage -E "2020-05-11" 到2020-5-11这天账号会被冻结
X.未启用功能
6.用户权力下放
在系统中普通用户是无法执行系统管理命令的。如果需要普通用户执行系统管理动作,那么需要 root用户来进行授权。
普通用户授权方式 “sudo”:
作用: 可以使普通用户使用指定的用户身份呢运行命令
授权方法: visudo 此命令作用是编辑/etc/sudoers并提供语法检测,不提供设 置的合理性检测
(不能用vim编辑这个文件,因为用vim编辑进去的语句不会被语法检测,也就不会被执行)
:100 为了代码规范性,建议在文件的100行左右书写。
查看主机名称:
username hostname=(newusername) [NOPASSWD:] /command, /command1
endless用户 在westoslinux.westos.org主机=(用超级用户身份) 执行useradd命令
endless westoslinux.westos.org /usr/sbin/useradd
编辑完后用:wq保存并退出。
要用sudo去使得刚才的编辑的命令生效。
需要输入sudo密码
若不想输入密码,则要加上NOPASSWD:空格
即为 endless westoslinux.westos.org NOPASSWD:空格/usr/sbin/useradd
可以发现名为hello的用户已经建立了。