用户登录锁定策略PAM配置

使用 pam_faillock.so 模块来实现密码登录错误 m 次后锁定账户 n 分钟的功能,pam_faillock.so 是 PAM(可插入认证模块)的一部分,在较新的系统中常被用于替代 pam_tally2.so 来进行登录失败次数的跟踪和锁定。以下是具体的配置步骤:

1. 编辑pam配置文件

对于 /etc/pam.d/system-auth

auth 部分添加如下配置:

auth        required      pam_faillock.so preauth audit deny=3 even_deny_root unlock_time=60
auth        sufficient    pam_unix.so nullok try_first_pass
auth        [default=die] pam_faillock.so authfail audit deny=3 even_deny_root unlock_time=60
auth        sufficient    pam_faillock.so authsucc audit deny=3 even_deny_root unlock_time=60
account     required      pam_faillock.so
  • deny=3:表示允许的最大失败尝试次数为 3 次。
  • unlock_time=60:表示锁定时间为 60 秒(即 1 分钟)。
  • even_deny_root:表示对 root 用户也应用此规则。

对于 /etc/pam.d/password-authpassword-auth-crond

auth 部分添加如下配置:

auth        required      pam_faillock.so preauth audit deny=3 even_deny_root unlock_time=60
auth        sufficient    pam_unix.so nullok try_first_pass
auth        [default=die] pam_faillock.so authfail audit deny=3 even_deny_root unlock_time=60
auth        sufficient    pam_faillock.so authsucc audit deny=3 even_deny_root unlock_time=60

2. 验证配置

完成上述配置后,当用户连续登录失败 3 次时,账户将被锁定 1 分钟。你可以通过以下命令查看用户的锁定状态:

faillock --user <username>

其中,<username> 是你要查看的用户名。

如果你想手动重置用户的失败尝试次数,可以使用以下命令:

faillock --user <username> --reset
posted @ 2025-02-18 16:16  wanghongwei-dev  阅读(587)  评论(0)    收藏  举报