sudo vim /etc/pam.d/login
在第二行添加web
auth required pam_tally2.so deny=3 unlock_time=5 even_deny_root root_unlock_time=10
参数介绍shell
even_deny_root 也限制root用户; deny 设置普通用户和root用户连续错误登录的最大次数,超过最大次数,则锁定该用户; unlock_time 设定普通用户锁定后,多少时间后解锁,单位是秒; root_unlock_time 设定root用户锁定后,多少时间后解锁,单位是秒;
此处使用的是 pam_tally2 模块,若是不支持 pam_tally2 能够使用 pam_tally 模块。另外,不一样的pam版本,设置可能有所不一样,具体使用方法,能够参照相关模块的使用规则。
注意
在第二行,添加内容,必定要写在前面,若是写在后面,虽然用户被锁定,可是只要用户输入正确的密码,仍是能够登陆的!ubuntu
这个只是限制了用户从tty登陆,而没有限制远程登陆,若是想限制远程登陆,须要改sshd文件vim
sudo vim /etc/pam.d/sshd
继续在第二行上添加ssh
auth required pam_tally2.so deny=3 unlock_time=5 even_deny_root root_unlock_time=10
查看用户登陆失败的次数:svg
sudo pam_tally2 --user
结果ui
ubuntu@VM-0-5-ubuntu:~$ sudo pam_tally2 --user
Login Failures Latest failure From
root 3 09/29/19 15:53:24 45.119.212.105
ubuntu 9 09/29/19 15:46:58 223.107.140.84
解锁指定用户:spa
sudo pam_tally2 -r -u ubuntu
ubuntu@VM-0-5-ubuntu:~$ sudo pam_tally2 -r -u ubuntu
Login Failures Latest failure From
ubuntu 15 09/29/19 15:58:49 223.107.140.84
ps:这个远程ssh的时候,输入密码错误超过三次可是没有提示,我用的是Xshell,不知道其它终端有没有提示,可是只要超过设定的值,输入正确的密码也是登录不了的!,仍是要等到设定的时间在从新尝试输入正确密码进行登陆认证
参考连接:https://blog.csdn.net/weixin_43822878/article/details/93018223.net