Linux系统中的用户管理(3) ---用户认证信息及用户权利下放
七、用户认证信息管理
1.记录用户认证信息
/etc/shadows ##记录用户认证信息
此文件一共有九列:
用户名称:用户密码: 用户密码最后一次被更改的时间(密码使用天数):用户密码最短有效期:用户密码最长有效期:密码过期警告期限: 用户非活跃天数:账号认证到期时间 :用户自定义列(未启用功能)
2.用户认证信息管理
<1>用户名称
watch -n 1 "tail -n 1 /etc/shadow ; echo "===============";passwd -S westos" ##监控代码##
<2>用户密码
passwd -S name ##查看密码状态
1.更改密码
·passwd name ##只有root可以执行 | “echo 123 | passwd --stdin lee”
.passwd ##普通用户改密码
passwd
Changing password for user lee.
Current password: #输入原始密码
New password: ##输入新密码(8位以上无序数字+无序字母组合)
Retype new password: ##重复输入
passwd: all authentication tokens updated successfully.
2.冻结认证
passwd -l name ##冻结账号认证
passwd -u name ##解锁账号认证
3.密码删除
passwd -d name ##删除密码##
<3>密码使用天数
*从1970-1-1算其到今天的时间 #两个命令功能相似,都使用户在登陆时会被强制更改密码#
passwd -e name ##修改默认使用时间为0##
chage -d 0 name ##账号必须改密码才能登陆系统##
<4>密码最短有效期 ##两条指令相同##
passwd -n 1 name ##用户在1天内不能改密码##
chage -m 1 name
<5>密码最长有效期 ##两条指令相同##
passwd -x 40 name ##40天内用户必须更新密码否则会被冻结##
chage -M 30 name ##30天--- ##
<6>密码过期警告 ##两条指令相同##
passwd -w 2 name ##密码过期前2天警告时间##
chage -W 2 name
<7>认证非活跃天数 ##两条指令相同##
passwd -i 2 name ##密码过期后仍可登陆系统的天数(2天)
chage -I 1 name ##账号认证最大时间超过后还能用多久(一天)
<8>账号认证到期时间
chage -E "2020-05-15" name ##到2020-5-15这天账号会被冻结##
<9>未启用功能
八、用户权力下放
- 在系统中普通用户是无法执行系统管理命令的
- 如果需要普通用户执行系统管理动作那么需要root用户来授权
- 普通用户授权方式 “sudo”
- 查看当前主机名称 “hostname”
作用: 可以使普通用户使用指定的用户身份呢运行命令
授权方法: visudo ##此命令作用是编辑/etc/sudoers并提供语法检测##
在文件的100行左右 ##代码规范性 :set nu显示行号##
username hostname = (newusername) [NOPASSWD:] /command, / command1
#westos用户 在localhost.localdomain主机=(用超级用户身份) 执行useradd命令
westos localhost.localdomain = (root) /usr/sbin/useradd
#fyl用户 在localhost.localdomain =(超级用户) 免密 执行 useradd 和 userdel
fyl localhost.localdomain = (root) NOPASSWD: /usr/sbin/ useradd, /usr/sbin/userdel
测试:
su - westos
sudo useradd westostest ##在westos第一次使用sudo命令时需要输入westos密码
exit #退出westos
su - fyl
sudo userdel -r westostest ##fyl可以免密执行userdel 命令