当前位置:首页 >> 服务器

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

1、编辑PAM的配置文件

sudo vim /etc/pam.d/login

在第二行添加

auth required pam_tally2.so deny=3 unlock_time=5 even_deny_root root_unlock_time=10

参数介绍

even_deny_root 也限制root用户;
deny  设置普通用户和root用户连续错误登陆的最大次数,超过最大次数,则锁定该用户;
unlock_time 设定普通用户锁定后,多少时间后解锁,单位是秒;
root_unlock_time 设定root用户锁定后,多少时间后解锁,单位是秒;

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

此处使用的是 pam_tally2 模块,如果不支持 pam_tally2 可以使用 pam_tally 模块。另外,不同的pam版本,设置可能有所不同,具体使用方法,可以参照相关模块的使用规则。

注意

在第二行,添加内容,一定要写在前面,如果写在后面,虽然用户被锁定,但是只要用户输入正确的密码,还是可以登录的!

2、修改sshd文件

这个只是限制了用户从tty登录,而没有限制远程登录,如果想限制远程登录,需要改sshd文件

sudo vim /etc/pam.d/sshd

继续在第二行上添加

auth required pam_tally2.so deny=3 unlock_time=5 even_deny_root root_unlock_time=10

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

查看用户登录失败的次数:

sudo pam_tally2 --user

结果

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

解锁指定用户:

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,不知道其它终端有没有提示,但是只要超过设定的值,输入正确的密码也是登陆不了的!,还是要等到设定的时间在重新尝试输入正确密码进行登录认证

总结

以上所述是小编给大家介绍的linux(ubuntu)用户连续N次输入错误密码进行登陆时自动锁定X分钟,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!