用户登录锁定策略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 @   wanghongwei-dev  阅读(20)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统
点击右上角即可分享
微信分享提示