七、用户认证信息管理
1.记录用户认证信息
/etc/shadow ##记录用户认证信息
此文件一共有9列
用户名称:用户密码:用户密码最后一次被更改的时间(密码使用天数):用户密码最短有效期:用户密码最长有效期:密码过期警告期限:用户非活跃天数:账号认证到期时间:用户自定义列(未启用功能)
2.用户认证信息管理
1.用户名称
passwd -S name ##查看密码状态
watch -n 1 "tail -n 1 /etc/shadow ;echo "===status====";passwd -S name" ##监控代码
2.用户加密字符 ##更改密码
1.passwd name ##只有root可以执行 "echo 123 | passwd --stdin name"
2.passwd ##普通用户改密码
3.冻结认证
passwd -l name ##冻结账号认证
passwd -u name ##解锁账号认证
4.密码删除
passwd -d name
3.密码使用天数
*从1970-1-1起算到今天的时间 #两个命令功能相似,都使用户在登陆时会被强制更改密码#
passwd -e name ##修改默认使用时间为0
chage -d0 name ##账号必须改密码才能登陆系统
4.密码最短有效期
passwd -n 1 name ##用户在1天内不能改密码
chage -m 1 name
5.密码最长有效期
passwd -x 40 name ##40天内用户必须更新密码否则会被冻结
chage -M 40 name
6.密码过期警告
passwd -w 2 name ##密码过期前两天警告时间
chage -W 1 name
7.认证非活跃天数
passwd -i 2 name ##密码过期后仍可登陆系统的天数
chage -I 1 name ##账号认证最大时间超过后还能用多久(1天)
8.账号认证到期时间
chage -E "2020-07-09" name ##到2020-07-09这天账号会被冻结
9.未启用功能
八、用户权力下放
- 在系统中普通用户是无法执行系统管理命令
- 如果需要普通用户执行系统管理动作,那么需要root用户来进行授权
- 普通用户授权方式"sudo"
- 查看当前主机名称"hostname"
##作用: 可以使普通用户使用指定的用户身份运行命令
授权方法:
visudo ##此命令作用是编辑/etc/sudoers并提供语法检测
在文件的100行左右 ##代码规范性
username hostname=(newusername) [NOPASSWD:]/command,/command1
#westos用户 在yxy主机 =(超级用户身份) 执行useradd命令westos yxy = (root) /usr/sbin/useradd
#yang 用户 在yxy主机 =(超级用户身份) 免密执行 useradd和userdel命令
yang yxy = (root) NOPASSWD: /usr/sbin/useradd,/usr/sbin/userdel
测试:
su - westos
sudo useradd westosadmin ##在westos第一次使用sudo命令时需要输入westos密码
exit ##退出westos
su - yang
sudo useradd yang1 ##yang可以免密执行useradd 命令
sudo userdel -r yang1 ##yang可以免密执行userdel 命令
exit