编译PAM的配置文件
# vim /etc/pam.d/login
- #%PAM-1.0
- authrequiredpam_tally2.sodeny=3lock_time=300even_deny_rootroot_unlock_time=10
- auth[user_unkNown=ignoresuccess=okignoreignore=ignoredefault=bad]pam_securetty.so
- authincludesystem-auth
- accountrequiredpam_nologin.so
- accountincludesystem-auth
- passwordincludesystem-auth
- #pam_selinux.socloseshouldbethefirstsessionrule
- sessionrequiredpam_selinux.soclose
- sessionoptionalpam_keyinit.soforcerevoke
- sessionrequiredpam_loginuid.so
- sessionincludesystem-auth
- sessionoptionalpam_console.so
- #pam_selinux.soopenshouldonlybefollowedbysessionstobeexecutedintheusercontext
- sessionrequiredpam_selinux.soopen
各参数解释
- even_deny_root也限制root用户;
- deny设置普通用户和root用户连续错误登陆的最大次数,超过最大次数,则锁定该用户
- unlock_time设定普通用户锁定后,多少时间后解锁,单位是秒;
- root_unlock_time设定root用户锁定后,多少时间后解锁,单位是秒;
- 此处使用的是pam_tally2模块,如果不支持pam_tally2可以使用pam_tally模块。另外,不同的pam版本,设置可能有所不同,具体使用方法,可以参照相关模块的使用规则。
在#%PAM-1.0的下面,即第二行,添加内容,一定要写在前面,如果写在后面,虽然用户被锁定,但是只要用户输入正确的密码,还是可以登录的!
最终效果如下图
这个只是限制了用户从tty登录,而没有限制远程登录,如果想限制远程登录,需要改SSHD文件
# vim /etc/pam.d/sshd
- #%PAM-1.0
- authrequiredpam_tally2.sodeny=3unlock_time=300even_deny_rootroot_unlock_time=10
- authincludesystem-auth
- accountrequiredpam_nologin.so
- accountincludesystem-auth
- passwordincludesystem-auth
- sessionoptionalpam_keyinit.soforcerevoke
- sessionincludesystem-auth
- sessionrequiredpam_loginuid.so
同样是增加在第2行!
- [[email protected]]#pam_tally2--userredhat
- LoginFailuresLatestfailureFrom
- redhat707/16/1215:18:22tty1
解锁指定用户
- [[email protected]]#pam_tally2-r-uredhat
- LoginFailuresLatestfailureFrom
- redhat707/16/1215:18:22tty1
这个远程ssh的时候,没有提示,我用的是Xshell,不知道其它终端有没提示,只要超过设定的值,输入正确的密码也是登陆不了的!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。