linux系统中实现用户登录失败锁定功能最常用的方法是使用pam_tally2模块。具体步骤如下:1. 确认系统是否支持pam_tally2,通过查找/lib64/security/pam_tally2.so或/lib/security/pam_tally2.so文件判断;2. 修改pam配置文件,在/etc/pam.d/system-auth或/etc/pam.d/sshd的auth区域添加auth required pam_tally2.so deny=5 unlock_time=300启用失败计数;3. 使用sudo pam_tally2 --user=username --reset命令手动解锁账户,或查看失败次数;4. 注意事项包括该模块仅对pam认证服务有效、默认不锁定root账户、日志记录位置及模块顺序影响行为逻辑等问题。

Linux系统中实现用户登录失败锁定功能,最常用的方法是使用 pam_tally2 模块。这个模块可以记录用户的登录失败次数,并在达到设定值后自动锁定账户。下面我们就来看看具体的配置方法。

首先需要确认你的系统中是否存在 pam_tally2 模块。大多数基于 Red Hat 的系统(如 CentOS、RHEL)和 Debian 系列系统都默认安装了 PAM 模块,包括 pam_tally2。

你可以通过以下命令查看:
ls /lib64/security/pam_tally2.so # 64位系统 # 或者 ls /lib/security/pam_tally2.so # 32位系统
如果存在这个文件,说明模块已经就绪,可以直接配置使用。

在 Linux 中,PAM 的主配置文件通常是 /etc/pam.d/system-auth 或 /etc/pam.d/common-auth,具体取决于发行版。以 CentOS/RHEL 为例:
打开配置文件:
sudo vi /etc/pam.d/system-auth
在 auth 区域添加或修改如下行:
auth required pam_tally2.so deny=5 unlock_time=300
deny=5:表示最多允许失败 5 次,超过后锁定账户。unlock_time=300:锁定时间设置为 300 秒(即 5 分钟),之后自动解锁。如果你希望在 SSH 登录时也生效,还需要编辑 /etc/pam.d/sshd 文件,加入同样的配置行。
除了自动解锁外,你还可以手动清空失败计数来立即解锁账户。使用以下命令:
sudo pam_tally2 --user=username --reset
这会将指定用户的失败次数重置为 0,相当于解锁账户。
也可以查看当前用户的失败次数:
sudo pam_tally2 --user=username
输出示例:
username 3
表示该用户已失败 3 次。
pam_tally2 是基于 PAM 的机制,只对通过 PAM 进行认证的服务有效,比如 SSH、su、login 等,不适用于非 PAM 认证的程序。/var/log/secure(CentOS/RHEL)或 /var/log/auth.log(Debian/Ubuntu)中,方便排查问题。pam_tally2 放在前面的位置,避免被其他模块跳过。基本上就这些。虽然配置看起来不复杂,但很容易忽略一些细节,比如服务未启用 PAM 模块、路径写错、或者忘记重启服务等。只要一步步按需配置,就能很好地防止暴力破解攻击。
以上就是Linux如何实现用户登录失败锁定 pam_tally2模块配置方法的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号