介绍
在本实验中,你将学习如何在 Linux 中使用 chage 命令来修改用户的密码过期日期并强制执行密码过期策略。chage 命令允许你查看和管理各种密码老化信息,例如上次密码更改日期、密码过期日期、密码过期警告期以及密码更改之间的最小和最大天数。你将学习如何使用 chage 命令为用户设置新的密码过期日期,并确保密码定期更新以维护系统安全。
理解 chage 命令
在这一步中,你将学习 Linux 中的 chage 命令,该命令用于修改用户的密码过期日期以及其他密码老化信息。
chage 命令允许你查看和修改用户账户的以下密码老化信息:
- 上次密码更改日期
- 密码过期日期
- 密码过期警告期
- 密码更改之间的最小天数
- 密码更改之间的最大天数
要查看用户的当前密码老化信息,可以使用 chage 命令并加上 -l 选项:
$ sudo chage -l labex
Last password change : Jan 01, 2023
Password expires : never
Password inactive : never
Account expires : never
Minimum number of days between password change : 0
Maximum number of days between password change : 99999
Number of days of warning before password expires : 7
此输出显示用户 labex 未设置密码过期日期,密码将永不过期。
要修改用户的密码过期日期,可以使用 chage 命令并加上 -E 选项,后跟新的过期日期,格式为 YYYY-MM-DD。例如,将 labex 用户的密码过期日期设置为从现在起 30 天:
$ sudo chage -E $(date -d "+30 days" '+%Y-%m-%d') labex
示例输出:
$ sudo chage -l labex
Last password change : Jan 01, 2023
Password expires : Feb 01, 2023
Password inactive : never
Account expires : never
Minimum number of days between password change : 0
Maximum number of days between password change : 99999
Number of days of warning before password expires : 7
chage 命令还提供了其他选项来管理密码老化策略。你可以使用 man chage 命令来探索这些选项。
修改用户密码过期日期
在这一步中,你将学习如何使用 chage 命令修改用户账户的密码过期日期。
首先,让我们检查 labex 用户的当前密码过期日期:
$ sudo chage -l labex
Last password change : Jan 01, 2023
Password expires : Feb 01, 2023
Password inactive : never
Account expires : never
Minimum number of days between password change : 0
Maximum number of days between password change : 99999
Number of days of warning before password expires : 7
如你所见,labex 用户的密码设置为 2023 年 2 月 1 日过期。
要修改密码过期日期,可以使用 chage 命令并加上 -E 选项,后跟新的过期日期,格式为 YYYY-MM-DD。例如,将密码过期日期设置为从现在起 90 天:
$ sudo chage -E $(date -d "+90 days" '+%Y-%m-%d') labex
现在,让我们验证新的密码过期日期:
$ sudo chage -l labex
Last password change : Jan 01, 2023
Password expires : Apr 01, 2023
Password inactive : never
Account expires : never
Minimum number of days between password change : 0
Maximum number of days between password change : 99999
Number of days of warning before password expires : 7
输出显示密码过期日期已更新为 2023 年 4 月 1 日。
强制执行密码过期策略
在这一步中,你将学习如何使用 chage 命令为用户账户强制执行密码过期策略。
首先,让我们检查 labex 用户的当前密码过期策略:
$ sudo chage -l labex
Last password change : Jan 01, 2023
Password expires : Apr 01, 2023
Password inactive : never
Account expires : never
Minimum number of days between password change : 0
Maximum number of days between password change : 99999
Number of days of warning before password expires : 7
如你所见,labex 用户的密码设置为 2023 年 4 月 1 日过期。
要强制执行密码过期策略,可以使用 chage 命令并配合以下选项:
-M:设置密码有效的最大天数-m:设置密码更改之间的最小天数-W:设置密码过期前的警告天数
例如,为 labex 用户设置以下密码过期策略:
- 密码最大有效期:90 天
- 密码最小有效期:7 天
- 密码过期警告期:7 天
你可以运行以下命令:
$ sudo chage -M 90 -m 7 -W 7 labex
现在,让我们验证更新后的密码过期策略:
$ sudo chage -l labex
Last password change : Jan 01, 2023
Password expires : Apr 01, 2023
Password inactive : never
Account expires : never
Minimum number of days between password change : 7
Maximum number of days between password change : 90
Number of days of warning before password expires : 7
输出显示密码过期策略已按预期更新。
总结
在本实验中,你学习了 Linux 中的 chage 命令,该命令用于修改用户的密码过期日期以及其他密码老化信息。你探索了如何查看用户的当前密码老化信息,以及如何修改用户的密码过期日期。你还学习了如何通过为用户设置密码过期日期来强制执行密码过期策略。



