linux上的用戶,如果用戶連續3次登錄失敗,就鎖定該用戶,幾分鍾后該用戶再自動解鎖。Linux有一個pam_tally2.so的PAM模塊,來限定用戶的登錄失敗次數,如果次數達到設置的閾值,則鎖定用戶。
1、 vim /etc/pam.d/sshd (遠程ssh)
限制用戶遠程登錄
在#%PAM-1.0的下面,即第二行,添加內容,一定要寫在前面,如果寫在后面,雖然用戶被鎖定,但是只要用戶輸入正確的密碼,仍舊可以登錄。
#%PAM-1.0
auth required pam_tally2.so deny=3 unlock_time=600 even_deny_root root_unlock_time=1200 // 三次錯誤密碼鎖定,普通用戶鎖定600秒,even_deny_root,對root用戶生效,root鎖定時間1200秒
auth required pam_sepermit.so
auth substack password-auth
auth include postlogin
# Used with polkit to reauthorize users in remote sessions
-auth optional pam_reauthorize.so prepare
account required pam_nologin.so
account include password-auth
password include password-auth
# pam_selinux.so close should be the first session rule
session required pam_selinux.so close
session required pam_loginuid.so
# pam_selinux.so open should only be followed by sessions to be executed in the user context
session required pam_selinux.so open env_params
session required pam_namespace.so
session optional pam_keyinit.so force revoke
session include password-auth
session include postlogin
# Used with polkit to reauthorize users in remote sessions
-session optional pam_reauthorize.so prepare
2、 vim /etc/pam.d/login(終端)
限制用戶終端登陸
在#%PAM-1.0的下面,即第二行,添加內容,同樣是一定要寫在前面。
#%PAM-1.0
auth required pam_tally2.so deny=3 unlock_time=600 even_deny_root root_unlock_time=1200
auth [user_unknown=ignore success=ok ignore=ignore default=bad] pam_securetty.so
auth substack system-auth
auth include postlogin
account required pam_nologin.so
account include system-auth
password include system-auth
# pam_selinux.so close should be the first session rule
session required pam_selinux.so close
session required pam_loginuid.so
session optional pam_console.so
# pam_selinux.so open should only be followed by sessions to be executed in the user context
session required pam_selinux.so open
session required pam_namespace.so
session optional pam_keyinit.so force revoke
session include system-auth
session include postlogin
-session optional pam_ck_connector.so
3、 解除鎖定
查看某一用戶錯誤登陸次數:
pam_tally –-user
清空某一用戶錯誤登陸次數:
pam_tally –-user –-reset
比如查看pamtest用戶錯誤登陸次數

比如清空pamtest用戶的錯誤登陸次數

如果前面的命令沒有清楚成功,可以試下下面這個命令
pam_tally2 –u tom --reset
4、2020-09-04,本來是平常的一天,可是今天我一台機器的root密碼忘了,而且這台機器還做了上述的安全認證。。。恢復難度可想而知。。。下面記錄下恢復過程。。。
第1步:開機后在內核上按“e”

這時會進入內核啟動,在linux16這行的后面輸入“rd.break console=tty0” 然后按“ctrl+x "

進入系統安全模式

#mount –o remount,rw /sysroot
#chroot /sysroot
#passwd 密碼這個時候設置復雜些
#touch /.autorelabel
#exit
#exit
以上操作完成之后,root用戶密碼已經修改,正常情況下已經可以登陸了,可是我設置了用戶鎖定策略。
#vim /etc/pam.d/sshd
刪除第二行
#vim /etc/pam.d/login
刪除第二行
#exit
#exit
總算恢復了。
