首页/安全/安全加固速查/faillock 核查与手工解锁
口令与认证策略55 条

faillock 核查与手工解锁

运维日常两类操作:查某账号的失败计数与锁定状态、解锁被锁账号;faillock 命令直接读内核态记录,简单可靠。

安全加固速查安全更新于 2026-10-13

faillock 的两类日常操作

faillock 是 Linux 上查看与清理认证失败计数的工具:日常运维只用到两件事,一是查某账号当前失败次数与是否被锁,二是把被锁账号解锁。它的数据由 pam_faillock 模块维护,与 PAM 配置中的 deny、unlock_time 等参数直接相关。

基本信息

适用平台Linux(RHEL 8+、较新 Debian/Ubuntu 等使用 faillock 工具)
查询命令faillock --user <账号>;faillock 查看全部记录
解锁命令faillock --user <账号> --reset
老系统使用 pam_tally2,命令与配置键名不同

典型使用场景

  • 用户报「登录不上」时:区分是密码错还是被锁定,避免盲目改密码
  • 值班处理:确认失败计数后按流程解锁并记录操作
  • 安全排查:某账号短期内大量失败,可能是定向爆破,需结合来源 IP 判断
  • 策略验证:改过 PAM 锁定参数后,用真实失败尝试验证 deny 与 unlock_time 是否按预期生效

查询与解锁

查询与解锁
# 查看单个账号的失败记录与锁定状态
faillock --user zhangsan
# 解锁:清空该账号的失败计数
faillock --user zhangsan --reset
# 查看全部账号的失败记录(便于发现被爆破的账号)
faillock | head -40

日志侧佐证

日志侧佐证
# RHEL 系看 /var/log/secure,Debian 系看 /var/log/auth.log
grep -i 'faillock' /var/log/secure | tail -20
grep -i 'pam_unix.*authentication failure' /var/log/secure | tail -20

工具与数据源对照

对象命令或文件说明
faillockfaillock --user x较新系统上的失败计数与解锁工具
pam_tally2pam_tally2 --user x老系统上的同类工具,键名与参数不同
认证日志/var/log/secure 或 auth.log用于交叉确认失败时间与来源
失败计数目录/var/run/faillock 或 tally 目录记录内容为各账号失败信息,重启后可能清空
解锁要区分「被锁定」与「密码错」:解锁后立刻再试仍失败,说明是口令问题,继续解锁没有意义,应走重置流程。
多个服务共享同一份失败计数:SSH、sudo、控制台登录的失败会叠加到同一账号上,调节阈值时要考虑叠加效应,避免正常用户被误锁。
解锁操作要留痕:记录账号、时间、解锁原因与操作人,事后复盘时才能区分「确实被爆破」与「用户自己记错口令」两类情况。

易错点

  • 在老系统上敲 faillock:命令不存在,白耽误处置时间,先确认发行版与版本
  • 只解锁不记录:反复解锁同一账号却不追查原因,等于给爆破开绿灯
  • 忽略计数存放位置:部分系统中计数在 /var/run 下,重启后自动清零,验收时机影响判断
  • 把锁定时长设为永久:用户永久无法登录,恢复要靠管理员手工干预

数据来源与参考

  • man 8 faillock
  • RHEL 文档:账户锁定排障

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌