首页 > 运维 > linux运维 > 正文

如何配置Linux用户登录失败处理 pam_faillock模块详解

P粉602998670
发布: 2025-06-30 10:01:01
原创
757人浏览过

pam_faillock 是 linux 系统中用于账户锁定策略的 pam 模块,其作用是在用户连续输入错误密码达到设定次数后自动锁定账户,防止暴力破解。它通过记录登录失败次数(deny=n)、设定锁定时间(unlock_time=秒数)及失败间隔(fail_interval=秒数)等参数实现控制逻辑。启用时需编辑如 /etc/pam.d/system-auth 或 /etc/pam.d/sshd 文件,添加包含 preauth、authfail 和 authsucc 的配置项,并注意不同发行版配置结构可能不同。查看和重置失败计数可使用 faillog -a、faillog -u username 及 faillog -r -u username 命令,passwd -u username 在某些情况下无法清除锁定状态。此外,ssh 与本地登录配置可能分离,日志审计和测试验证同样重要,且应结合其他安全措施共同防护系统安全。

如何配置Linux用户登录失败处理 pam_faillock模块详解

Linux系统中,用户登录失败的处理机制是安全防护的重要一环。pam_faillock模块就是用来实现账户锁定策略的关键组件之一。它可以在用户连续输入错误密码后自动锁定账号,防止暴力破解。

如何配置Linux用户登录失败处理 pam_faillock模块详解

什么是 pam_faillock 模块?

pam_faillock.so 是 PAM(Pluggable Authentication Modules)的一部分,用于记录用户的登录失败次数,并在达到设定阈值时阻止进一步的登录尝试。

如何配置Linux用户登录失败处理 pam_faillock模块详解

它的基本逻辑是:

  • 用户登录失败 → 记录失败次数
  • 达到预设失败次数 → 锁定账户
  • 成功登录 → 清空失败计数

这个模块通常与 /etc/pam.d/sshd/etc/pam.d/system-auth 等配置文件配合使用。

如何配置Linux用户登录失败处理 pam_faillock模块详解

如何启用 pam_faillock 模块?

要在系统中启用 pam_faillock,需要编辑对应的 PAM 配置文件。常见的位置包括:

  • /etc/pam.d/login
  • /etc/pam.d/sshd
  • /etc/pam.d/system-auth

以 CentOS/RHEL 系统为例,在 /etc/pam.d/system-auth 文件中添加或修改如下行:

auth        required      pam_faillock.so preauth
auth        [default=die] pam_faillock.so authfail
auth        sufficient    pam_faillock.so authsucc
登录后复制

这些配置项的作用分别是:

lavender.ai
lavender.ai

销售类电子邮件写作教练

lavender.ai 112
查看详情 lavender.ai
  • preauth:在认证前检查是否已被锁定
  • authfail:认证失败时记录一次失败
  • authsucc:认证成功时清除失败记录
注意:不同发行版的PAM配置结构略有差异,建议先备份原文件再修改。

常见参数设置及说明

你可以在 PAM 配置中为 pam_faillock.so 添加一些参数来定制行为。常用参数如下:

  • deny=N:允许的最大失败次数,默认为5
  • unlock_time=秒数:账户锁定后自动解锁的时间(单位为秒)
  • fail_interval=秒数:两次失败之间的时间间隔,超过该时间则重新计数
  • authfailauthsucc:用于判断是否记录失败或成功

例如:

auth required pam_faillock.so preauth deny=3 unlock_time=600
登录后复制

上面这行表示最多允许3次失败,锁定10分钟(600秒)后自动解锁。


如何查看和重置失败计数?

当用户被锁定后,可以使用 faillog 命令查看和管理失败记录:

  • 查看所有用户的失败记录:
faillog -a
登录后复制
  • 查看特定用户的失败记录:
faillog -u username
登录后复制
  • 重置某个用户的失败计数:
faillog -r -u username
登录后复制

也可以使用 passwd 命令手动解锁用户:

passwd -u username
登录后复制

但要注意的是,某些情况下 pam_faillock 的锁定状态不会随 passwd -u 自动清除,仍需使用 faillog 才能完全解除。


小贴士:几个容易忽略的点

  • SSH 登录和本地登录可能分开配置:比如 /etc/pam.d/sshd/etc/pam.d/login 分别控制远程和本地登录的失败处理。
  • 日志记录很重要:建议开启审计功能(如 auditd)或查看 /var/log/secure 来追踪登录失败事件。
  • 测试环境优先:修改 PAM 配置有风险,最好先在非生产环境中验证效果。
  • 不要过度依赖 faillock:它只是防线之一,结合 SSH 密钥登录、防火墙限制等手段更安全。

基本上就这些。合理配置 pam_faillock 可以有效增强系统的安全性,虽然不复杂,但细节容易出错,操作前记得确认当前配置并做好备份。

以上就是如何配置Linux用户登录失败处理 pam_faillock模块详解的详细内容,更多请关注php中文网其它相关文章!

相关标签:
最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号