首先检查用户锁定状态,使用passwd -S确认是否被锁;若因登录失败被锁定,可用pam_tally2或faillock工具重置计数并解锁;最后可通过passwd -u命令解锁账户,必要时手动编辑/etc/shadow文件恢复密码字段。

如果您尝试在Linux系统中登录某个用户账户时发现无法成功登录,可能是该用户已被系统锁定。这种情况通常由多次错误登录、安全策略触发或管理员手动锁定导致。以下是解决此问题的具体步骤:
本文运行环境:Dell XPS 13,Ubuntu 22.04
一、使用passwd命令解锁用户
passwd命令不仅可以修改密码,还能用于解锁被锁定的用户账户。该方法适用于因密码尝试失败次数过多而被PAM模块锁定的情况。
1、以root权限登录系统或使用具有sudo权限的用户执行后续命令。
2、输入以下命令查看目标用户是否被锁定:
passwd -S username
其中username为实际用户名。若输出中包含“L”或“LK”,表示账户已被锁定。
3、执行解锁命令:
passwd -u username
此命令将解除账户锁定状态。
二、通过pam_tally2模块处理失败计数
pam_tally2是PAM提供的登录失败计数工具,可用于清零失败尝试次数并解锁账户,适用于配置了pam_tally2.so的系统。
1、检查用户当前的失败登录计数:
pam_tally2 –user=username
2、若显示非零计数,可执行以下命令重置失败次数并解锁:
pam_tally2 –user=username –reset
3、再次使用passwd -S验证账户状态,确认已解锁。
三、利用faillock管理账户锁定状态
对于使用faillock(取代pam_tally2)的现代Linux发行版,可通过faillock命令清除认证失败记录。
1、查看指定用户的失败记录:
faillock –user username
2、清除该用户的失败尝试历史:
faillock –user username –reset
3、完成操作后,用户应能正常进行登录尝试。
四、编辑shadow文件直接修改账户状态
当其他工具不可用时,可手动编辑/etc/shadow文件,直接移除锁定标记。此方法风险较高,需谨慎操作。
1、打开终端并执行命令编辑shadow文件:
sudo vipw -s
该命令会安全地锁定文件并启动编辑器。
2、找到对应用户的行,其格式为:
username:!!:19405:0:99999:7:::
其中”!!”表示账户被锁定。
3、将”!!”替换为原密码哈希值(如之前备份过),或保留为空表示无密码(不推荐)。
4、保存并退出编辑器,系统将自动应用更改。

路由网














