如果您在 Linux 上启用了密码策略,则必须在密码过期之前更改密码,否则登录时会通知您更改密码,直到密码过期。这通常是 7 天的宽限期。
出于安全原因,定期更改密码被认为是一种很好的做法。
如果您很少使用您的帐户,它可能会因密码过期而被锁定。
在许多情况下,这可能发生在使用无密码登录的服务帐户中。
什么是 chage 命令?
chage代表改变年龄。用于修改用户密码过期信息。它使您能够查看用户帐户老化信息、更改密码更改之间应经过的天数以及查看上次更改密码的日期。
系统使用此信息来确定用户何时应更改其密码。
它允许管理员执行其他功能,例如设置帐户到期日期、设置到期后密码无效以及设置到期警告。
1) 如何在 Linux 上检查特定用户的密码到期日期?
如果要检查 Linux 中特定用户的密码到期日期,请使用以下命令:
2) 如何在 Linux 上检查所有用户的密码到期日期?
chage 命令可用于查看特定用户的密码到期日期,但不能用于同时查询多个用户的此信息。
为此,您可能需要编写一个小的 shell 脚本。以下 shell 脚本允许您列出所有用户的密码到期日期,包括系统用户:
# vim /opt/scripts/user-password-expiration-date.sh
#!/bin/sh
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'
设置shell脚本文件的可执行权限:
# chmod +x /opt/scripts/user-password-expiration-date.sh
3) 如何在 Linux 上查看除系统用户以外的所有用户的密码有效期?
下面的 shell 脚本将显示用户列表(不包括系统用户)及其密码到期日期:
# vim /opt/scripts/user-password-expiration-date-1.sh
#!/bin/sh
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"
设置shell脚本文件的可执行权限:
# chmod +x /opt/scripts/user-password-expiration-date-1.sh