# vi /etc/pam.d/system-auth
增加
auth required pam_tally.so deny=3(deny=N为登录失败N次后锁定用户)
2、在客户端测试
# ssh user@192.168.1.1(user为服务器端的用户,192.168.1.1为主机IP地址)
3、3次后再次测试并用正确密码登录会发现仍不能登录
4、解除锁定方法
在服务器端以root用户登录
执行命令:
# faillog –a ////查看用户登录错误次数
如果超过三次的话,用户不能登录并且此后登录用户错误登录次数还是会增加。
在登录错误次数不满三次时,登录成功后,则这个用户登录错误值将清零,退出后重新ssh登录将采用新的计数。
# faillog -u user –r ////清空指定用户user的错误登录次数
# faillog –r ////清空所有用户错误登录次数
测试系统 :Asianux 3.0 sp2 x86
kernel : 2.6.18-128.7
pam版本:pam-0.99.6.2-4.1AXS3
操作方法:
一、在字符终端下,实现某一用户连续错误登陆N次后,就锁定该用户X分钟。
执行 vi /etc/pam.d/login
在#%PAM-1.0 下新起一行,加入
auth required pam_tally2.so deny=3 unlock_time=5 even_deny_root root_unlock_time=10
如果不限制root用户,则可以写成
auth required pam_tally2.so deny=3 unlock_time=5
1 |
其中大概含义如下: |
2 |
even_deny_root 也限制root用户; |
3 |
deny 设置普通用户和root用户连续错误登陆的最大次数,超过最大次数,则锁定该用户; |
4 |
unlock_time 设定普通用户锁定后,多少时间后解锁,单位是秒; |
5 |
root_unlock_time 设定root用户锁定后,多少时间后解锁,单位是秒; |
此处使用的是 pam_tally2 模块,如果不支持 pam_tally2 可以使用 pam_tally 模块。另外,不同的pam版本,设置可能有所不同,具体使用方法,可以参照相关模块的使用规则。
二、在图形登陆界面下,实现某一用户连续错误登陆N次后,就锁定该用户X分钟。
执行 vi /etc/pam.d/kde
在#%PAM-1.0 下新起一行,加入
auth required pam_tally2.so even_deny_root deny=3 unlock_time=5 root_unlock_time=10
如果不限制root用户,则可以写成
auth required pam_tally2.so deny=3 unlock_time=5
三、也可以直接在 system-auth 文件中直接添加这些命令,修改完成后,凡是调用 system-auth 文件的服务,都会生效。因为有自动解锁时间,所以,不用担心全部限制后,会出现永远无法登陆的“尴尬”情况。
备注:
可以使用 pam_tally2 -r -u username 命令,手动清除某用户记录次数。
关于 pam_tally 的用法,可参考下面链接:
http://www.edward-han.com/166.html