首页/系统/信创系统运维速查/pam_tally2 旧机制与迁移
安全加固65 条

pam_tally2 旧机制与迁移

老版本信创系统仍在用 pam_tally2 做登录失败计数:用 pam_tally2 命令查看与清零;新版本已由 faillock 取代,两套计数不互通。

信创系统运维速查系统更新于 2026-10-13

pam_tally2 与 faillock 的关系

登录失败计数与账户锁定由 PAM 模块实现。较老的发行版使用 pam_tally2,计数写在 /var/log/tallylog,用 pam_tally2 命令查看与清零;较新版本改用 pam_faillock,计数在 /var/run/faillock 下按用户存文件,命令是 faillock。两套机制的数据完全不互通,排查锁定问题时必须先确认本机 PAM 实际引用了哪一套,按资料年份猜测很容易找错对象。

基本信息

适用平台全 Linux;具体用哪套取决于发行版版本
旧机制pam_tally2,计数文件 /var/log/tallylog
新机制pam_faillock,计数目录 /var/run/faillock
判断方法grep -rE 'pam_faillock|pam_tally2' /etc/pam.d/
解锁操作pam_tally2 --reset 或 faillock --reset,需 root

典型使用场景

  • 账户被锁定:确认被哪套机制锁住,按对应命令查看剩余次数
  • 应急解锁:运维人员自己输错多次被锁,需要快速清零
  • 等保整改:核查登录失败锁定参数是否符合要求
  • 升级适配:系统升级后旧模块被替换,原脚本失效需要改写
  • 安全事件分析:查看某账户的失败次数与来源,判断是否被爆破

查看与清零

查看与清零
grep -rE 'pam_faillock|pam_tally2' /etc/pam.d/ | head   # 先确认本机用哪一套

# 旧机制(pam_tally2)
pam_tally2 --user someuser            # 查看该用户失败计数与最近失败信息
pam_tally2 --user someuser --reset    # 清零(解锁)
cat /var/log/tallylog | head          # 计数文件为二进制,仅确认存在

# 新机制(pam_faillock)
faillock --user someuser              # 查看失败记录
faillock --user someuser --reset      # 清零
ls /var/run/faillock/                 # 按用户存放的计数文件

# 参数配置位置
cat /etc/security/faillock.conf 2>/dev/null | grep -vE '^#|^$'

两套机制对照

项目pam_tally2pam_faillock
出现版本较老发行版较新发行版
数据文件/var/log/tallylog/var/run/faillock/
查看命令pam_tally2 --userfaillock --user
清零命令pam_tally2 --user --resetfaillock --user --reset
参数位置pam.d 行内或模块参数/etc/security/faillock.conf
是否互通不互通,独立计数不互通,独立计数
同时启用 tally2 与 faillock 没有叠加收益,只会让行为难以排查;确认本机机制后只保留一套配置。
删除计数文件或执行 reset 都会立即解除锁定,属于会削弱安全控制的操作,应留操作记录并确认调用方身份。

易错点

  • 按资料年份猜测机制版本,去查错误的那套数据,结论与现场不符;必须先看 /etc/pam.d/ 的实际引用。
  • 迁移期两套机制并存,登录失败时到底由谁锁定不明确,排查耗时显著增加。
  • 删除 /var/log/tallylog 或计数目录作为应急手段后未记录,安全审计时无法说明锁定状态变化原因。
  • 只改 PAM 配置不确认服务重启与生效范围,参数写对了但登录流程不读取。
  • 把失败计数清零当作解决爆破的手段,没有处理来源 IP 与口令策略,问题很快复现。

数据来源与参考

  • man 8 pam_tally2(旧版本)
  • man 8 pam_faillock
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌