我有一台 Linux 机器(OpenSuSE 11.3),其用户帐户被锁定。我以 root 帐户身份登录以解锁它passwd -u <user>
,但我收到一条消息'Cannot unlock the password for <user>!'
我尝试通过 将密码更改为新密码passwd
,但尝试使用此新密码登录时仍然出现“由于 x 次尝试失败,帐户已被锁定”的错误消息。
passwd -S
给出帐户的状态标志“PS”。我不认识“S”,但无论如何它没有显示“L”(已锁定)或“NP”(无密码)。 /etc/shadow
不包含任何奇怪的字符,如此!
帐户行首的字符。查看此发行版的管理应用程序 (YaST) 似乎显示它不是已锁定(未选中‘禁用帐户’按钮)。
我还需要检查哪里来了解该帐户拒绝解锁/登录的原因和原因?
答案1
我今天遇到了这个问题。这是解决办法。
pam_tally --user=--reset
例子
pam_tally --user=cyberninja --reset
我希望这可以帮助别人。
我找到了这篇文章来寻找这个问题的答案。我在 SLES 11 SP2 服务器上遇到了同样的错误。我的同事重置了我的密码并尝试使用命令解锁我的帐户passwd -u
。我的另一位同事说我需要在 PAM 中清除帐户并给了我命令。我已在上面发布了该命令。
更新,
我现在有一个修复程序可以防止这种情况再次发生。似乎有两个 PAM 文件存在冲突。这些文件是;/etc/pam.d/login
和/etc/pam.d/sshd
。两个文件都有此行。
需要身份验证 pam_tally.so onerr=fail denied=3
您必须从上面列出的文件之一中提交此行。我们已在文件中注释掉此行/etc/pam.d/sshd
。
完成此操作后,您将不会再遇到此问题。
答案2
今天我在运行 SUSE Linux Enterprise Server 11 SP2 的服务器中遇到了一个用户帐户的相同问题,即使重置密码并将年龄更改为 0(chage -d 0 userID)也是如此
[me@mordor ~]$ ssh frodo@mordor
Welcome to SUSE Linux Enterprise Server 11 SP2 (x86_64) - Kernel \r (\l).
Account locked due to 29 failed logins
Password:
Account locked due to 30 failed logins
Password:
与 @Jam 在其原始帖子中描述的场景相同。没有任何内容显示帐户在“/etc/passwd”或“/etc/shadow”上被锁定。诸如“passwd -S -a | grep frodo”之类的命令显示 ID 未被锁定(LK)
me@mordor:~> sudo passwd -S -a | grep frodo
frodo PS 01/01/1970 1 90 7 180
还 ”pam_tally2“表明该ID未被锁定:
me@mordor:~> sudo /sbin/pam_tally2 --user frodo
Login Failures Latest failure From
frodo 0
但问题实际上在于“pam_tally“
me@mordor:~> sudo /sbin/pam_tally --user frodo
User frodo (500) has 32
解锁用户 ID 密码后,我能够使用新凭据登录并避免出现错误消息。
me@mordor:~> sudo /sbin/pam_tally --user frodo --reset
User frodo (500) had 32
me@mordor:~> sudo /sbin/pam_tally --user frodo
User frodo (500) has 0
希望这可以帮助其他人避免像我在过去一个小时左右做的那样伤脑筋……长话短说,请注意检查“pam_tally“ 和 ”pam_tally2“当账户在 SuSE 中被锁定时!!
此致敬礼,埃尔南。
答案3
您可以输入:
pam_tally2 -r -u user_name
解锁帐户。
答案4
问题也可能是该帐户刚刚创建并且尚未分配密码。
如果是的话,passwd -S <user>
将显示LK
(已锁定)并且passwd -u <user>
将不起作用。
您只需为用户分配一个密码即可解决问题。