我偶尔会发现自己处于这样一种情况:一个维护不足的系统有一个被锁定的帐户.问题在于,可以通过多种方式锁定帐户,每种方式都有自己的解锁方法.
这并不是说帐户被错误地锁定,只是意外,但找到正确的锁定以进行重置是很困难的.
我最近对这个问题的攻击是在一个SUSE系统上,结果证明密码已经过期(最初并不知道,因为登录尝试不是通过提供这种反馈的系统),然后也是锁定的由于登录尝试失败.
是否存在所有不同帐户锁的某个列表以及如何禁用它们?我打算让实际的破坏,例如主目录访问问题,损坏的PAM库等超出这个问题的范围.
解决方法
您可以使用passwd收集一些信息,例如如果帐户被锁定
passwd -S user user LK 2012-11-06 0 99999 7 -1 (Password locked.) (CentOS) user L 01/22/2013 0 99999 7 -1 (Ubuntu)
chage实用程序将提供有关帐户上各种计时器的信息,例如对于未过期的密码
chage -l user Last password change : Nov 12,2012 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
对于过期的密码
chage -l user Last password change : password must be changed Password expires : password must be changed Password inactive : password must be changed Account expires : never Minimum number of days between password change : 0 Maximum number of days between password change : 22 Number of days of warning before password expires : 33
passwd和chage实用程序还列出了许多帐户锁.
getent passwd user user:x:505:505::/home/passtest:/sbin/nologin <-- denied login getent shadow user user:!!:0:0:22:33:44:: <-- this is locked