实验成果说明
在本实验中,您将定义默认的密码策略,创建包含三个新用户的补充组,以及修改一个用户的密码策略
1、在 server 上有一个名为 consultants 的新组,三个新用户: sspade bboop dtracy
2、 所有新庄户都应该要求在首次登录时更改密码,并且之后每 30 天进行更改
3、新的顾问账户应当在 90 天合同到期,bboop 账户必须每 15 天更改一次密码
实验详细需求
开始重置您的 server 系统 : rht-vmctl reset server
1、确保新创建的用户具有必须每 30 天修改一次密码
2、新建一个名为: consultants 、GID 为 40000 的组
3、创建三个用户: sspade bboop dtracy 密码为: default ,并且将他们添加到补充组 consultants 中,主组应当保留为用户的专用组
4、确定未来 90 天后的日志,并将新用户均设置为在该日期到期
5、更改 bboop 账户的密码策略,使其 15 天要求创建新密码
6、此外强制所有用户在首次登录时更改密码
7、完成后运行: lab localusers grade 评估此次实验结果
具体实验步骤
1. 确保新创建的用户具有必须每 30 天修改一次密码
1.1 这个需求是对登录用户,针对的是所有用户考虑下login配置文件:/etc/login.defs
# PASS_MAX_DAYS Maximum number of days a password may be used.
PASS_MAX_DAYS 99999 修改为:PASS_MAX_DAYS 30
2. 新建一个名为: consultants 、GID 为 40000 的组
2.1. groupadd consultants -g 40000
2.2. 验证 cat /etc/group
3. 创建三个用户: sspade bboop dtracy 密码为: default ,并且将他们添加到补充组 consultants 中,主组应当保留为用户的专用组
这个需求我们可以useradd name 然后在passwd修改密码我们取巧用for循环搞下
3.1. 执行命令
# stdin 可以从标准输入获取密码就不需要以交互的形式去修改密码了
for i in sspade bboop dtracy; do useradd $i -G consultants; echo default |passwd $i --stdin ; done
3.2. 验证
新用户已添加: cat /etc/passwd
附加组已生效: cat /etc/group # 效果类似:consultants:x:40000:sspade,bboop,dtracy
用户默认30天修改一次密码: chage -l xxxx
4. 确定未来 90 天后的日志,并将新用户均设置为在该日期到期
这个地方注意的是如何获取90天后的日志,并确认90天后的日志然后修改用户
4.1. 先通过: date -d "+90day" 获取90天后的日期
4.2. 在确认: cal -y 获取日历年份表根据这个对照
4.3. 在修改: for i in sspade bboop dtracy; do chage -E "2019-09-30" $i ; done
4.4. 验证: chage -l sspade 看:Account expires 账号到期时间
5. 更改 bboop 账户的密码策略,使其 15 天要求创建新密码
这需求就是设定用户多久修改一次密码,单独说一个用户的话
5.1. chage bboop -M 15
5.2. 验证
[root@server0 ~]# chage -l bboop
Last password change : Jul 01, 2019
Password expires : Jul 31, 2019
Password inactive : never
Account expires : Sep 30, 2019
Minimum number of days between password change : 0
Maximum number of days between password change : 30
Number of days of warning before password expires : 7
[root@server0 ~]# chage bboop -M 15
[root@server0 ~]# chage -l bboop
Last password change : Jul 01, 2019
Password expires : Jul 16, 2019
Password inactive : never
Account expires : Sep 30, 2019
Minimum number of days between password change : 0
Maximum number of days between password change : 15 # 这里从配置文件新用户创建30天修改一次密码改成了15天修改一次
Number of days of warning before password expires : 7
6. 此外强制所有用户在首次登录时更改密码
6.1 执行命令+验证
# 之前
[root@server0 ~]# chage -l bboop
Last password change : Jul 01, 2019
Password expires : Jul 16, 2019
Password inactive : never
Account expires : Sep 30, 2019
Minimum number of days between password change : 0
Maximum number of days between password change : 15
Number of days of warning before password expires : 7
# 执行命令: for i in sspade bboop dtracy; do chage $i -d 0 ; done
# 之后
[root@server0 ~]# chage -l bboop
Last password change : password must be changed # 这里都改成必须修改密码了
Password expires : password must be changed # 这里都改成必须修改密码了
Password inactive : password must be changed # 这里都改成必须修改密码了
Account expires : Sep 30, 2019
Minimum number of days between password change : 0
Maximum number of days between password change : 15
Number of days of warning before password expires : 7