如果你很少使用自己的帐户,那么可能由于密码逾期而被锁定。在许多情况下,这可能会在无需密码登录的服务帐户中发生,因为没人会注意到它。-- Magesh Maruthamuthu(作者)如果你在 Linux 上启用了密码计谋。密码必须在到期前举行更改,而且登录到系统时会收到通知。
如果你很少使用自己的帐户,那么可能由于密码逾期而被锁定。在许多情况下,这可能会在 无需密码登录 的服务帐户中发生,因为没人会注意到它。
这将导致停止服务器上设置的 cronjob/crontab。如果如此,该如何缓解这种情况。
你可以写一个 shell 剧本来获得有关它的通知,我们前一段时间为此写了一篇文章。使用 Bash 剧本发送包罗几天内到期的用户账号列表的电子邮件它将给出天数,可是本文旨在在终端中给你实际日期。
这可以使用 chage 下令来实现。什么是 chage 下令?chage 代表 更改时效(change age)。
它更改用户密码到期信息。chage 下令可以修改两次密码更改之间的天数,以及最后一次更改密码的日期。
系统使用此信息来确定用户何时应更改密码。它还允许用户执行其他功效,例如设置帐户到期日期、在到期后将密码设置为无效、显示帐户时效信息、设置密码更改之前的最小和最大天数以及设置到期警告天数。1)如何在 Linux 上检查特定用户的密码到期日期如果要检查 Linux 上特定用户的密码到期日期,请使用以下下令。# chage -l daygeekLast password change: Feb 13, 2020Password expires: May 13, 2020Password inactive : neverAccount expires : neverMinimum number of days between password change: 7Maximum number of days between password change: 90Number of days of warning before password expires : 72)如何在 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: neverbin : neverdaemon: neveradm : neverlp: neversync: nevershutdown: neveru1 : Nov 12, 2018u2 : Jun 17, 2019u3 : Jun 17, 2019u4 : Jun 17, 2019u5 : Jun 17, 20193)如何检查 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, 2018u2 : Jun 17, 2019u3 : Jun 17, 2019u4 : Jun 17, 2019u5 : Jun 17, 2019via: https://www.2daygeek.com/linux-check-user-password-expiration-date/作者: Magesh Maruthamuthu 选题: lujun9972 译者: geekpi 校对: wxy本文由 LCTT 原创编译, Linux中国 荣誉推出点击“相识更多”可会见文内链接。
本文来源:威尼斯官方网址下载-www.cnqzcater.com