- 为安全起见,先对文件进行备份
cp /etc/pam.d/sshd /etc/pam.d/sshd.20231020.bak
cp /etc/pam.d/login /etc/pam.d/login.20231020.bak
cp /etc/pam.d/system-auth /etc/pam.d/system-auth.20231020.bak
2、检查是否有pam_tally2.so模块
find / -name "pam_tally2.so"
或者
cd /usr/lib64/security && ls |grep pam_tally2.so
3、设置登录失败处理策略
(1)服务器终端
vi /etc/pam.d/system-auth
在第一行下面添加如下内容:
auth required pam_tally2.so onerr=fail deny=3 unlock_time=40 even_deny_root root_unlock_time=30
(2)ssh远程登录
vi /etc/pam.d/sshd
同样的在第一行下面添加如下内容:
auth required pam_tally2.so deny=3 unlock_time=20 even_deny_root root_unlock_time=30
vi /etc/pam.d/login
第一行下面添加如下内容:
auth required pam_tally2.so deny=3 unlock_time=20 even_deny_root root_unlock_time=30
注意事项:
以服务器终端为例:
普通帐户和root的帐户登录连续3次失败,就统一锁定40秒,40秒后可以解锁。
如果不想限制root帐户,可以把even_deny_root root_unlock_time这两个参数去掉,root_unlock_time表示root帐户的锁定时间,onerr=fail表示连续失败,deny=3,表示超过3次登录失败即锁定。
用户锁定期间,无论在输入正确还是错误的密码,都将视为错误密码,并以最后一次登录为锁定起始时间,若果用户解锁后输入密码的第一次依然为错误密码,则再次重新锁定。