学习配置linux登录限制遇到的一个大坑
首先在linux系统中centos8以下的是使用的是pam.tally2模块,在centos8以及8以上的系统是已经把pam.tally2命令舍弃掉了,因此不少人在配置linux登录限制的时候还是选择pam.tally2模块,导致配置后即使输入正确的密码也无法登录,配置linux登录限制的正确做法如下:
centos8及以上或kali2021、2022系统配置登录限制的命令
使用vim /etc/pam.d/sshd打开sshd文件进行配置
方式一:
auth required pam_faillock.so preauth silent audit deny=3 even_deny_root root_unlock_time=60 unlock_time=60
auth sufficient pam_unix.so nullok try_first_pass
auth [default=die] pam_faillock.so authfail audit deny=3
方式二:
方式二与旧版的linux系统的配置差不多,就是将pam.tally2.so改成pam_faillock.so而已
auth required .so deny=2 even_deny_root root_unlock_time=30 unlock_time=30
个人比较支持方式一的做法,因为方式一能够记录哪些用户登录失败
此外,在新版的linux系统中,faillock有下面几个命令可供使用
#查询所有登录失败的用户 仅限于方式一开启日志,方式二没开启日志,查询结果为空
┌──(root㉿kali)-[/etc/pam.d]
└─# faillock
#查询某个用户的登录失败信息
┌──(root㉿kali)-[/etc/pam.d]
└─# faillock --user 用户名
#重置失败计数
faillock --user 用户名 --reset
#设置保存失败记录的目录
faillock --dir /var/run/faillock
centos8以下使用的配置linux登录限制的命令
使用vim /etc/pam.d/sshd打开sshd文件进行配置
auth required pam_tally2.so deny=2 even_deny_root root_unlock_time=30 unlock_time=30
配置参数deny表示的是输入错误密码的次数,even_deny_root参数是指即使是root用户登录失败两次也会被锁定,root_unlock_time=30是指root用户在被锁定30秒后自动解锁,unlock_time=30指的是普通用户在被锁定30秒后自动解锁