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