无法解锁Linux用户帐户


14

我有一个带有锁定用户帐户的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)中查看它似乎表明它没有被锁定(未选中“禁用帐户”按钮)。

我还需要检查其他地方,以查看此帐户拒绝解锁/登录的方式和原因?


哪个发行版和版本?
2013年

这台机器是OpenSuSE 11.3
果酱

Answers:


18

我今天有这个问题。这就是解决方法。

pam_tally --user =-重置

pam_tally --user=cyberninja --reset

我希望这可以帮助别人。


我发现这篇文章正在寻找这个确切问题的答案。我在SLES 11 SP2服务器上遇到了相同的错误。我的同事重设了我的密码,并尝试使用命令解锁我的帐户passwd -u。我的另一位同事说,我需要在PAM中有清晰的帐户,并给了我命令。我已经在上面发布了。


更新,

我现在有一个修复程序,可以防止这种情况再次发生。似乎有两个PAM文件存在冲突。这些文件是:/etc/pam.d/login/etc/pam.d/sshd。这两个文件都有这一行。

需要验证pam_tally.so onerr =失败拒绝= 3

您必须从上面列出的文件之一中提交这一行。我们在/etc/pam.d/sshd文件中注释了这一行。

完成此操作后,您再也不会遇到此问题。


欢迎来到SU。如果可以的话,请尝试多说明一些问题的解决方法,并多回答一些答案。
Sickest

好的,我将更新我的帖子。
Cyber​​ninja

也可以在我的RHEL6服务器上工作。该命令是“ pam_tally2”。
SidJ

检查PAM配置!在我的PAM中,它使用file /var/log/failllog,但pam_tally2命令默认使用/var/log/tallylog,因此报告的用户未锁定。您可以使用pam_tally2 --file /var/log/faillog
Marki555

8

我今天在运行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

希望这可以帮助其他人避免像我过去一个小时左右那样伤脑筋。因此,总而言之,请注意,将帐户锁定在SuSE中时,同时检查“ pam_tally ”和“ pam_tally2 ” !!

问候,埃尔南。


非常感谢:) pam_tally和pam_tally2有什么区别?
mwfearnley'7

1
检查PAM配置!在我的PAM中,它使用file /var/log/failllog,但是pam_tally2默认情况下/var/log/tallylog,command使用,因此错误地报告用户未锁定。您可以使用pam_tally2 --file /var/log/faillog
Marki555

3

您可以输入:

pam_tally2 -r -u user_name

解锁帐户。


1

尝试

usermod --expire 9999

以禁用该帐户的不活动状态(这会将到期日期设置为1/1/9999)。passwd -u仅在密码“锁定”时有效,而对禁用的帐户无效。


我知道,因此密码被锁定/禁用与帐户被锁定/禁用有区别吗?登录失败的消息然后误导了我。这种方法会影响密码的有效期吗?还是“帐户的有效期”是另外一回事?
果酱

我尝试了这个,现在尝试登录时,即使我肯定输入的密码正确,也只是说“登录失败”(在1次失败后,我将其更改为100%确保此密码)。有什么建议么?S:
果酱

这将更改帐户有效期,这与密码有效期分开。因此,帐户可能处于活动状态或已过期,密码可能处于活动状态,已锁定或已过期,并且有可能在密码过期后自动使帐户过期。输出是passwd --status <username>什么?如果可以将其添加到您的问题中,将很有帮助。
Darth Android

passwd发行版的版本不可接受,--statuspasswd -S <user>(显示密码属性)给出:<user> PS <date> <password expiry options>其中date是我上次更改密码的日期(昨天),密码到期选项为min age(0),max age(90),days before expiry to issue warning(7)和days after expiry with usable login(-1)。这些设置以前都可以使用,所以我认为它们都不是问题的原因。
果酱

1

问题还可能是刚刚创建了帐户并且尚未分配密码。

如果是这样,passwd -S <user>将显示LK(用于锁定)并且passwd -u <user>将不起作用。

您只需要向用户分配密码即可解决此问题。


0

使用此命令,您可以创建没有任何密码的解锁用户:

adduser --gecos "Username" --disabled-password "username"

这意味着系统上不会挂有随机密码。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.