Linux 如何設定密碼複雜度?
對於 Linux 系統管理員來說,使用者管理是最重要的事之一。這涉及到很多因素,實現強密碼策略是使用者管理的其中一個方面。移步後面的 URL 檢視如何 在 Linux 上生成一個強密碼。它會限制系統未授權的使用者的訪問。
所有人都知道 Linux 的預設策略很安全,然而我們還是要做一些微調,這樣才更安全。弱密碼有安全隱患,因此,請特別注意。移步後面的 URL 檢視生成的強密碼的密碼長度和分值。本文將教你在 Linux 中如何實現最安全的策略。
在大多數 Linux 系統中,我們可以用 PAM(可插拔認證模組)來加強密碼策略。在下面的路徑可以找到這個檔案。
- 在紅帽系列的系統中,路徑:
/etc/pam.d/system-auth
。 - Debian 系列的系統中,路徑:
/etc/pam.d/common-password
。
關於預設的密碼過期時間,可以在 /etc/login.defs
檔案中檢視詳細資訊。
為了更好理解,我摘取了檔案的部分內容:
# vi /etc/login.defs
PASS_MAX_DAYS 99999
PASS_MIN_DAYS 0
PASS_MIN_LEN 5
PASS_WARN_AGE 7
詳細解釋:
PASS_MAX_DAYS
:一個密碼可使用的最大天數。PASS_MIN_DAYS
:兩次密碼修改之間最小的間隔天數。PASS_MIN_LEN
:密碼最小長度。PASS_WARN_AGE
:密碼過期前給出警告的天數。
我們將會展示在 Linux 中如何實現下面的 11 個密碼策略。
- 一個密碼可使用的最大天數
- 兩次密碼修改之間最小的間隔天數
- 密碼過期前給出警告的天數
- 密碼歷史記錄/拒絕重複使用密碼
- 密碼最小長度
- 最少的大寫字母個數
- 最少的小寫字母個數
- 最少的數字個數
- 最少的其他字元(符號)個數
- 賬號鎖定 — 重試
- 賬號解鎖時間
密碼可使用的最大天數是什麼?
這一引數限制一個密碼可使用的最大天數。它強制使用者在過期前修改他/她的密碼。如果他們忘記修改,那麼他們會登入不了系統。他們需要聯絡管理員才能正常登入。這個引數可以在 /etc/login.defs
檔案中設定。我把這個引數設定為 90 天。
# vi /etc/login.defs
PASS_MAX_DAYS 90
密碼最小天數是什麼?
這個引數限制兩次修改之間的最少天數。舉例來說,如果這個引數被設定為 15 天,使用者今天修改了密碼,那麼在 15 天之內他都不能修改密碼。這個引數可以在 /etc/login.defs
檔案中設定。我設定為 15 天。
# vi /etc/login.defs
PASS_MIN_DAYS 15
密碼警告天數是什麼?
這個引數控制密碼警告的前置天數,在密碼即將過期時會給使用者警告提示。在警告天數結束前,使用者會收到日常警告提示。這可以提醒使用者在密碼過期前修改他們的密碼,否則我們就需要聯絡管理員來解鎖密碼。這個引數可以在 /etc/login.defs
檔案中設定。我設定為 10 天。
# vi /etc/login.defs
PASS_WARN_AGE 10
注意: 上面的所有引數僅對新賬號有效,對已存在的賬號無效。
密碼歷史或拒絕重複使用密碼是什麼?
這個引數控制密碼歷史。它記錄曾經使用過的密碼(禁止使用的曾用密碼的個數)。當使用者設定新的密碼時,它會檢查密碼歷史,如果他們要設定的密碼是一個曾經使用過的舊密碼,將會發出警告提示。這個引數可以在 /etc/pam.d/system-auth
檔案中設定。我設定密碼歷史為 5。
# vi /etc/pam.d/system-auth
password sufficient pam_unix.so md5 shadow nullok try_first_pass use_authtok remember=5
密碼最小長度是什麼?
這個參數列示密碼的最小長度。當使用者設定新密碼時,系統會檢查這個引數,如果新設的密碼長度小於這個引數設定的值,會收到警告提示。這個引數可以在 /etc/pam.d/system-auth
檔案中設定。我設定最小密碼長度為 12。
# vi /etc/pam.d/system-auth
password requisite pam_cracklib.so try_first_pass retry=3 minlen=12
try_first_pass retry=3
:在密碼設定互動介面,使用者有 3 次機會重設密碼。
設定最少的大寫字母個數?
這個參數列示密碼中至少需要的大寫字母的個數。這些是密碼強度引數,可以讓密碼更健壯。當使用者設定新密碼時,系統會檢查這個引數,如果密碼中沒有大寫字母,會收到警告提示。這個引數可以在 /etc/pam.d/system-auth
檔案中設定。我設定密碼(中的大寫字母)的最小長度為 1 個字母。
# vi /etc/pam.d/system-auth
password requisite pam_cracklib.so try_first_pass retry=3 minlen=12 ucredit=-1
設定最少的小寫字母個數?
這個參數列示密碼中至少需要的小寫字母的個數。這些是密碼強度引數,可以讓密碼更健壯。當使用者設定新密碼時,系統會檢查這個引數,如果密碼中沒有小寫字母,會收到警告提示。這個引數可以在 /etc/pam.d/system-auth
檔案中設定。我設定為 1 個字母。
# vi /etc/pam.d/system-auth
password requisite pam_cracklib.so try_first_pass retry=3 minlen=12 lcredit=-1
設定密碼中最少的數字個數?
這個參數列示密碼中至少需要的數字的個數。這些是密碼強度引數,可以讓密碼更健壯。當使用者設定新密碼時,系統會檢查這個引數,如果密碼中沒有數字,會收到警告提示。這個引數可以在 /etc/pam.d/system-auth
檔案中設定。我設定為 1 個數字。
# vi /etc/pam.d/system-auth
password requisite pam_cracklib.so try_first_pass retry=3 minlen=12 dcredit=-1
設定密碼中最少的其他字元(符號)個數?
這個參數列示密碼中至少需要的特殊符號的個數。這些是密碼強度引數,可以讓密碼更健壯。當使用者設定新密碼時,系統會檢查這個引數,如果密碼中沒有特殊符號,會收到警告提示。這個引數可以在 /etc/pam.d/system-auth
檔案中設定。我設定為 1 個字元。
# vi /etc/pam.d/system-auth
password requisite pam_cracklib.so try_first_pass retry=3 minlen=12 ocredit=-1
設定賬號鎖定?
這個引數控制使用者連續登入失敗的最大次數。當達到設定的連續失敗登入次數閾值時,鎖定賬號。這個引數可以在 /etc/pam.d/system-auth
檔案中設定。
# vi /etc/pam.d/system-auth
auth required pam_tally2.so onerr=fail audit silent deny=5
account required pam_tally2.so
設定賬號解鎖時間?
這個參數列示使用者解鎖時間。如果一個使用者賬號在連續認證失敗後被鎖定了,當過了設定的解鎖時間後,才會解鎖。設定被鎖定中的賬號的解鎖時間(900 秒 = 15分鐘)。這個引數可以在 /etc/pam.d/system-auth
檔案中設定。
# vi /etc/pam.d/system-auth
auth required pam_tally2.so onerr=fail audit silent deny=5 unlock_time=900
account required pam_tally2.so
via: https://www.2daygeek.com/how-to-set-password-complexity-policy-on-linux/
作者:Magesh Maruthamuthu 選題:lujun9972 譯者:lxbwolf 校對:wxy
訂閱“Linux 中國”官方小程式來檢視
相關文章
- Oracle EBS 資料庫密碼複雜度設定Oracle資料庫密碼複雜度
- 如何在 Linux 生成複雜密碼並且檢查密碼強度Linux密碼
- Profile設定高標準密碼複雜度的方法密碼複雜度
- GitLab 中文版如何設定密碼長度、複雜度以及過期時間?Gitlab密碼複雜度
- Linux 生成複雜密碼並且檢查密碼強度Linux密碼
- 分享Profile設定高標準密碼複雜度的方法密碼複雜度
- Linux設定口令複雜度和口令定期更換策略Linux複雜度
- Linux設定密碼策略Linux密碼
- 如何設定 Linux 系統的密碼策略Linux密碼
- 密碼的複雜化密碼
- 【PROFILE】Oracle11g密碼複雜度說明Oracle密碼複雜度
- Javascript校驗密碼複雜度的正規表示式JavaScript密碼複雜度
- mysql如何設定密碼MySql密碼
- DDD之理解複雜度、尊重複雜度、掌控複雜度複雜度
- 淺析程式碼圈複雜度及認知複雜度複雜度
- Linux系統自動隨機生成複雜密碼方法Linux隨機密碼
- Linux下設定redis訪問密碼LinuxRedis密碼
- 時間複雜度怎麼算?如何計算時間複雜度?時間複雜度
- oracle 開啟複雜密碼驗證Oracle密碼
- 降低程式碼的圈複雜度——複雜程式碼的解決之道複雜度
- 如何減小ABAP業務程式碼的複雜度複雜度
- 時間複雜度跟空間複雜度時間複雜度
- 時間複雜度與空間複雜度時間複雜度
- 時間複雜度和空間複雜度時間複雜度
- linux建立使用者並設定密碼Linux密碼
- 複雜度分析複雜度
- 如何給PDF檔案設定密碼?密碼
- 時間複雜度O(n)和空間複雜度時間複雜度
- 複雜度分析的套路及常見的複雜度複雜度
- 業務複雜度不夠,如何深挖複雜度
- win10設定硬碟密碼怎麼取消 win10硬碟設定密碼如何取消Win10硬碟密碼
- 重構指標之如何監控程式碼圈複雜度指標複雜度
- 如何在Mac上設定韌體密碼Mac密碼
- win10怎麼設密碼_如何設定開機密碼win10Win10密碼
- linux免密登陸設定Linux
- Linux設定免密登陸Linux
- Linux賬戶密碼過期安全策略設定Linux密碼
- win10區域網設定密碼如何設定 win10區域網怎麼設定訪問密碼Win10密碼