faillock配置功能:在错误的密码登录deny=3次数后,锁定unlock_time=600秒。600秒后输入正确的密码,fail login count清零,可正常登录。在RHEL7中,只需要配置/etc/pam.d/password-auth 和/etc/pam.d/system-auth 文件。

通过 pam_faillock 模块,将登录尝试失败的数据储存在 /var/run/faillock 目录下每位用户的独立文件中

配置

添加以下命令行到 /etc/pam.d/system-auth 文件和/etc/pam.d/password-auth 文件中的对应区段

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


注意:
auth required pam_faillock.so preauth silent audit deny=3 必须在最前面。 
适用于root在pam_faillock 条目里添加 even_deny_root 选项 

faillock命令

查看每个用户的尝试失败次数

$ faillock
test:
When    Type Source           Valid
2021-06-20 14:29:05 RHOST 192.168.56.1           V
2021-06-20 14:29:14 RHOST 192.168.56.1           V
2021-06-20 14:29:17 RHOST 192.168.56.1           V

解锁一个用户的账户

faillock --user <username> --reset

关于faillock 连续错误和不连续错误的验证

不间断连续输入三次错误密码

连续输错密码三次
在这里插入图片描述

查看锁定情况,三次记录触发deny=3锁定600秒
在这里插入图片描述

输入正确密码 无法登陆
在这里插入图片描述

间断输入一次错误一次正确再次错误密码

输入错误正确密码各一次
在这里插入图片描述
在这里插入图片描述
再次输入两次错误密码一次正确密码,发现依然无法登陆
在这里插入图片描述
在这里插入图片描述

证明:由上实验可知,faillock 模块不会因中途输入正确密码而重置错误次数,错误次数会不断累加。

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐