要查看因密码错误被锁定账户的安全日志,需定位认证失败事件、识别pam_faillock等锁定机制,并关联用户与时间;rhel系查/var/log/secure,debian系查/var/log/auth.log;用grep搜索“locked|faillock|authentication failure”;结合faillog或pam_tally2验证失败次数与锁定状态;补充journalctl检索sshd或systemd-logind日志;最后用passwd -s、grep /etc/shadow和chage -l交叉验证实际锁定状态。

要查看因密码错误被锁定账户的安全日志,核心是定位认证失败事件、识别锁定触发机制(如 pam_faillock),并关联到具体用户和时间。不同发行版日志路径不同,但分析逻辑一致。
确认安全日志位置并检查锁定相关关键词
RHEL/CentOS/Fedora 系统默认记录在 /var/log/secure,Ubuntu/Debian/Pop!_OS 等则使用 /var/log/auth.log。锁定行为通常由 PAM 模块(如 pam_faillock.so)触发,日志中会出现明确提示:
- 搜索“
account locked”、“authentication failure; logname=”、“pam_faillock”等关键词 - 运行命令:
sudo grep -i "locked\|faillock\|authentication failure" /var/log/secure(RHEL系)或/var/log/auth.log(Debian系) - 若系统启用了
pam_faillock,常见条目形如:pam_faillock(login:auth): user 'alice' failed authentication 5 times, account locked
结合 faillog 和 pam_tally2 查看失败计数与锁定状态
仅靠文本日志可能不够完整,需用专用工具验证是否已达锁定阈值:
Linux 性能分析与调优专家,覆盖 CPU、内存、磁盘 I/O、网络、内核参数、编译优化、容器/K8s。适用场景:系统卡顿/高负载、内存不足/OOM/Swap 高、CPU 异常/iowait 高。
- 运行
sudo faillog -u username,查看该用户累计失败次数及最后一次失败时间;若显示Failures: 5且已超设定阈值(如 3 次),即表明已被锁定 - 对启用
pam_tally2的系统(常见于旧版 RHEL),执行sudo pam_tally2 --user=username,输出中Login Failures非零且状态为Locked即确认锁定 - 注意:
faillog数据来自/var/log/btmp,需确保该文件未被轮转清空;可用lastb -n 20快速查看最近 20 条失败登录记录
从 journalctl 中提取 systemd 认证服务的锁定事件
部分锁定动作(尤其是 sshd 重启后或 PAM 日志未落盘时)会暂存于 journald,需用 journalctl 补充检索:
- 查看 sshd 服务中所有含锁定信息的日志:
sudo journalctl -u sshd --no-pager | grep -i "locked\|faillock\|denied" - 聚焦最近 2 小时内锁定相关事件:
sudo journalctl -u sshd --since "2 hours ago" | grep -E "(faillock|locked|maximum attempts)" - 若使用
systemd-logind处理本地登录,也可查:sudo journalctl -u systemd-logind --no-pager | grep -i "lock"
交叉验证账户实际锁定状态
日志显示“被锁”不等于系统当前仍处于锁定状态(例如管理员可能已手动解锁)。建议同步检查账户真实状态:
- 用
sudo passwd -S username,若第二列为LK,表示密码字段被锁定(!开头) - 用
sudo grep "^username:" /etc/shadow,观察密码字段(第二个:后)是否以!或!!开头 - 运行
sudo chage -l username,确认无Account expires或Password inactive等干扰项










