什么是 chage 命令?
chage 代表更改时效change age。它更改用户密码到期信息。
chage 命令可以修改两次密码更改之间的天数,以及最后一次更改密码的日期。
系统使用此信息来确定用户何时应更改密码。
它还允许用户执行其他功能,例如设置帐户到期日期、在到期后将密码设置为无效、显示帐户时效信息、设置密码更改之前的最小和最大天数以及设置到期警告天数。
1)如何在 Linux 上检查特定用户的密码到期日期
如果要检查 Linux 上特定用户的密码到期日期,请使用以下命令。
#chage -l daygeek
Last password change : Feb 13, 2020
Password expires : May 13, 2020
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
2)如何在 Linux 上检查所有用户的密码到期日期
你可以直接对单个用户使用 chage 命令,不过可能你对多个用户使用时可能无效。
为此,你需要编写一个小的 shell 脚本。下面的 shell 脚本可以列出添加到系统中的所有用户,包括系统用户。
#for user in $(cat /etc/passwd |cut -d: -f1); do echo $user; chage -l $user | grep "Password expires"; done | paste -d " " - - | sed 's/Password expires//g'
你将得到类似以下的输出,但是用户名可能不同。
root : never
bin : never
daemon : never
adm : never
lp : never
sync : never
shutdown : never
u1 : Nov 12, 2018
u2 : Jun 17, 2019
u3 : Jun 17, 2019
u4 : Jun 17, 2019
u5 : Jun 17, 2019
3)如何检查 Linux 上除系统用户外的所有用户的密码有效期
下面的 shell 脚本将显示有到期日期的用户列表。
#for user in $(cat /etc/passwd |cut -d: -f1); do echo $user; chage -l $user | grep "Password expires"; done | paste -d " " - - | sed 's/Password expires//g' | grep -v "never"
你将得到类似以下的输出,但是用户名可能不同。
u1 : Nov 12, 2018
u2 : Jun 17, 2019
u3 : Jun 17, 2019
u4 : Jun 17, 2019
u5 : Jun 17, 2019
更多:
如何用passwd命令修改用户过期时间
如何安全修改Linux用户shell
删除用户时Linux会删除哪些文件