linux – 如何查找Unix用户帐户被锁定的所有方式

我偶尔会发现自己处于这样一种情况:一个维护不足的系统有一个被锁定的帐户.问题在于,可以通过多种方式锁定帐户,每种方式都有自己的解锁方法.

这并不是说帐户被错误地锁定,只是意外,但找到正确的锁定以进行重置是很困难的.

我最近对这个问题的攻击是在一个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直接从相关数据库中提取信息进行检查

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

相关文章

查找全部容器的日志文件 $ sudo find /var/lib/docker/conta...
Linux日志文件中列属性的详细解析
在Linux系统中没有duf命令,如何有效地管理磁盘空间?
深入探讨EncryptPad在Linux操作系统中的功能和优势
原理和应用场景:Linux中ttyload工具的工作原理和实际用途
深度解析SELinux的三种策略类型