麒麟系统sudo输错密码被PAM锁定后,需先用pam_tally2 --user=$USER确认锁定状态,再执行pam_tally2 --user=$USER --reset即时解锁,无需重启或登出,重置后sudo -l可验证是否恢复。

麒麟系统终端执行sudo命令时输错密码次数过多,触发PAM失败计数机制,导致后续sudo操作被拒绝——这不是密码本身错误,而是账户被策略性锁定,需手动重置失败计数才能恢复。
确认当前用户是否被PAM锁定
在终端中直接运行:pam_tally2 --user=$USER。若输出中“Failed login attempts”值大于0,说明已被锁定。
这一步必须先做,否则后续所有sudo操作都会失败,且不会提示具体原因。
立即重置失败计数
执行命令:pam_tally2 --user=$USER --reset。
【必须确保当前已登录桌面或TTY,且能正常执行命令】该操作即时生效,无需重启、无需登出,重置后立刻可再次使用sudo。
若当前无法执行任何命令(如PATH损坏)
方法一:临时修复环境变量
运行export PATH="/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin",再执行重置命令。
方法二:切换到其他可用用户解锁
若有其他未锁定账户(如admin、test),先用其登录→打开终端→运行pam_tally2 --user=【被锁用户名】 --reset。
注意:被锁用户名必须与whoami输出完全一致,大小写敏感,输错则重置无效。
预防下次再锁
第一步:查看当前PAM锁定阈值sudo grep deny /etc/pam.d/common-auth,找到类似deny=3的行,即输错3次就锁。
第二步:临时降低风险(仅限个人设备)
编辑sudo visudo,在末尾添加:%sudo ALL=(ALL:ALL) NOPASSWD: /usr/bin/pam_tally2,保存后即可免密调用重置工具。
第三步:养成习惯——输sudo密码前先敲个空格,避免因粘连导致误输;密码输入无光标反馈,但会真实接收,别慌。
验证是否解锁成功
运行sudo -l。若列出授权命令列表,说明已恢复;若仍报错“incorrect password”,说明重置未执行或用户填错。

















