Centos 用戶登錄失敗N次后鎖定用戶禁止登陸


針對linux上的用戶,如果用戶連續3次登錄失敗,就鎖定該用戶,幾分鍾后該用戶再自動解鎖

Linux有一個pam_tally2.so的PAM模塊,來限定用戶的登錄失敗次數,如果次數達到設置的閾值,則鎖定用戶。

1、修改配置文件
# vim /etc/pam.d/login

#%PAM-1.0
auth required pam_tally2.so deny=3 unlock_time=300 even_deny_root root_unlock_time=10 onerr=succeed file=/var/log/tallylog

auth [user_unknown=ignore success=ok ignoreignore=ignore default=bad] pam_securetty.so
auth include system-auth

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 optional pam_keyinit.so force revoke
session required pam_loginuid.so
session include system-auth
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

各參數解釋
even_deny_root 也限制root用戶;
deny 設置普通用戶和root用戶連續錯誤登陸的最大次數,超過最大次數,則鎖定該用戶
unlock_time 設定普通用戶鎖定后,多少時間后解鎖,單位是秒;
root_unlock_time 設定root用戶鎖定后,多少時間后解鎖,單位是秒;

2、限制用戶從tty登錄
在#%PAM-1.0的下面,即第二行,添加內容,一定要寫在前面,如果寫在后面,雖然用戶被鎖定,但是只要用戶輸入正確的密碼,還是可以登錄的!
# vim /etc/pam.d/login
#%PAM-1.0
auth required pam_tally2.so deny=3 lock_time=300 even_deny_root root_unlock_time=10

3、驗證ssh是否加載pam_tally2身份驗證模塊
ldd /usr/bin/passwd | grep libpam
libpam_misc.so.0 => /lib64/libpam_misc.so.0 (0x00007fb74f748000)
libpam.so.0 => /lib64/libpam.so.0 (0x00007fb74eb45000)
如看到有類似的輸出,說明該程序使用了PAM,沒有輸出,則沒有使用。

4、查看root用戶登錄失敗次數
[root@bigdata ~]# pam_tally2 --user root
Login Failures Latest failure From
root 18 12/24/20 13:39:28 10.10.76.22

5、解鎖指定用戶
[root@bigdata ~]# pam_tally2 -r -u root
Login Failures Latest failure From

6、Linux中普通用戶配置sudo權限(帶密或免密)
配置步驟如下:

6.1、登陸或切換到root用戶下;

6.2、添加sudo文件的寫權限,命令是:chmod u+w /etc/sudoers

6.3、編輯sudoers文件:vi /etc/sudoers或者visudo

找到這行 root ALL=(ALL) ALL,在他下面添加xxx ALL=(ALL) ALL (注:這里的xxx是你的用戶名)

你可以根據實際需要在sudoers文件中按照下面四行格式中任意一條進行添加:
youuser ALL=(ALL) ALL
%youuser ALL=(ALL) ALL
youuser ALL=(ALL) NOPASSWD: ALL
%youuser ALL=(ALL) NOPASSWD: ALL

Defaults:bbders timestamp_timeout=-1,runaspw

第一行:允許用戶youuser執行sudo命令(需要輸入密碼)。
第二行:允許用戶組youuser里面的用戶執行sudo命令(需要輸入密碼)。
第三行:允許用戶youuser執行sudo命令,並且在執行的時候不輸入密碼。
第四行:允許用戶組youuser里面的用戶執行sudo命令,並且在執行的時候不輸入密碼。
第五行:timestamp_timeout=-1 只需驗證一次密碼,以后系統自動記憶,runaspw 需要root密碼,如果不加默認是要輸入普通賬戶的密碼
6.4、撤銷sudoers文件寫權限,命令:chmod u-w /etc/sudoers


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM