linux(ubuntu)用户连续N次输入错误密码进行登录时,自动锁定X分钟

一、编辑PAM的配置文件

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

二、修改sshd文件

这个只是限制了用户从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