IT技术分享

分享技术文章

Linux 系统中检查用户密码到期时间?

如果您在 Linux 上启用了密码策略,则必须在密码过期之前更改密码,否则登录时会通知您更改密码,直到密码过期。这通常是 7 天的宽限期。

出于安全原因,定期更改密码被认为是一种很好的做法。

如果您很少使用您的帐户,它可能会因密码过期而被锁定。

在许多情况下,这可能发生在使用无密码登录的服务帐户中。

什么是 chage 命令?

chage代表改变年龄。用于修改用户密码过期信息。它使您能够查看用户帐户老化信息、更改密码更改之间应经过的天数以及查看上次更改密码的日期。

系统使用此信息来确定用户何时应更改其密码。

它允许管理员执行其他功能,例如设置帐户到期日期、设置到期后密码无效以及设置到期警告。


1) 如何在 Linux 上检查特定用户的密码到期日期?

如果要检查 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

点赞