最近帮忙给朋友搞Linux加固,其中一项需要设置登录失败3次后锁定账号一定时间后再解锁。网上搜了一下,基本都是采用pam_tally2认证模块实现的,通过修改配置文件可以满足要求,但是,没有对图形用户界面GNOME登录失败锁定和解锁的。因此,记录下GNOME界面登录的修改方案。
1.实验环境
虚拟机下安装的CentOS7
2.锁定通过tty终端登录的用户
编辑/etc/pam.d/login文件,在第一行下即#%PAM-1.0的下面添加: auth required pam_tally2.so deny=3 unlock_time=180 per_user reset
如果还要锁定root用户,可以添加以下内容:
auth required pam_tally2.so deny=3 unlock_time=180 even_deny_root root_unlock_time=30 per_user reset
各参数解释:
deny 设置普通用户和root用户连续错误登录的最大次数,超过最大次数,则锁定该用户
unlock_time 设定普通用户锁定后,多长时间后解锁,此处我设置为180秒 even_deny_root 限制root用户
root_unlock_time 设定root用户锁定后,多长时间后解锁,此处我设置为30秒
per_user reset 解锁时间到了以后,清除用户锁定状态
实验:
(1)终端下输入init 3进入tty端 输错密码,提示账号锁定
再次输入正确密码,由于解锁时间未到,依旧锁定,切换到root用户查看锁定状态(锁定中)
(2)解锁时间到,输入正确密码正常登入
查看锁定状态(无锁定)
3.锁定通过ssh协议登录的用户
编辑/etc/pam.d/sshd文件,在第一行下即#%PAM-1.0的下面添加: auth required pam_tally2.so deny=3 unlock_time=180 per_user reset
如果还要锁定root用户,可以添加以下内容:
auth required pam_tally2.so deny=3 unlock_time=180 even_deny_root root_unlock_time=30 per_user reset
实验:
(1)在宿主机上通过SecureCRT连接虚拟机CentOS7 输错密码,账号锁定
再次输入正确密码,由于解锁时间未到,依旧锁定,切换到root用户查看锁定状态(锁定中)
(2)解锁时间到,输入正确密码正常登入
查看锁定状态(无锁定)
4.锁定通过GNOME图形界面登录的用户
编辑/etc/pam.d/login文件,在第一行下即#%PAM-1.0的下面添加: auth required pam_tally2.so deny=3 unlock_time=180 per_user reset
如果还要锁定root用户,可以添加以下内容:
auth required pam_tally2.so deny=3 unlock_time=180 even_deny_root root_unlock_time=30 per_user reset
各参数解释:
deny 设置普通用户和root用户连续错误登录的最大次数,超过最大次数,则锁定该用户
unlock_time 设定普通用户锁定后,多长时间后解锁,此处我设置为180秒 even_deny_root 限制root用户
root_unlock_time 设定root用户锁定后,多长时间后解锁,此处我设置为30秒
per_user reset 解锁时间到了以后,清除用户锁定状态
实验:
(1)终端下输入init 3进入tty端 输错密码,提示账号锁定
再次输入正确密码,由于解锁时间未到,依旧锁定,切换到root用户查看锁定状态(锁定中)
(2)解锁时间到,输入正确密码正常登入
查看锁定状态(无锁定)
5.查看锁定的账号
pam_tally2 //查看所有锁定账号
pam_tally2 -u test //查看test账号是否被锁定
6.手动解锁账号
pam_tally2 -r //解锁所有账号
pam_tally2 -r -u test //解锁test账号
写的比较粗糙,不足之处欢迎大家批评指正!