wfa*_*ulk 12 linux unix authentication user-accounts
我偶尔会发现自己处于维护不足的系统有一个帐户被锁定的情况。问题是有多种方法可以锁定帐户,每种方法都有自己的解锁方法。
不是账户被不正确锁定,只是意外,但找到正确的锁定来重置很困难。
我最近对该问题的攻击是在 SUSE 系统上进行的,结果密码已过期(最初并不知道,因为登录尝试不是通过提供此类反馈的系统),然后也被锁定由于登录尝试失败。
是否有列出所有不同可能的帐户锁定以及如何禁用它们的列表?我打算解决实际损坏问题,例如主目录访问问题、损坏的 PAM 库等,不在此问题的范围内。
use*_*517 13
您可以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)
Run Code Online (Sandbox Code Playgroud)
该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
Run Code Online (Sandbox Code Playgroud)
对于过期的密码
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
Run Code Online (Sandbox Code Playgroud)
该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
Run Code Online (Sandbox Code Playgroud)
一般来说:没有。
Iain 的回答很好地总结了如何查询密码老化系统,但错过了各种事情。例如:
sshd配置中的指令禁止。PAM配置可能需要明确的组成员身份才能登录,或者可能只允许特定的用户列表。/etc/nologin,这对于某些应用程序(例如ssh)将锁定所有用户。换句话说,有很多方法可以锁定与passwd文件无关的帐户。最好的办法是检查/var/log/secure或分发适当的本地模拟。
| 归档时间: |
|
| 查看次数: |
95143 次 |
| 最近记录: |