一、/etc/login.defs檔案:
pass_max_days 90 #密碼最大有效期,此處引數pass_max_days為90,表示90天後,密碼會過期。99999表示永不過期。
pass_min_days 10 #兩次修改密碼的最小間隔時間,0表示可以隨時修改賬號密碼
pass_min_len 8 #密碼最小長度,對於root無效
pass_warn_age 7 #密碼過期前多少天開始提示
注:修改了 /etc/login.defs下引數時,會立即生效,但是它只對修改後建立的使用者生效。
二、如上所示/etc/login.defs只是控制了賬號的最小長度以及控制密碼的有效期等,那麼linux是如何實現對使用者的密碼的複雜度的檢查的呢?其實系統對密碼的控制是有兩部分組成:
1、cracklib
2、/etc/login.defs
pam_cracklib.so 才是控制密碼複雜度的關鍵檔案/lib/security/pam_cracklib.so, redhat公司專門開發了cracklib這個安裝包來判斷密碼的複雜度。
1)例項:
pam_cracklib.so try_first_pass retry=3 dcredit=-1 lcredit=-1 ucredit=-1 ocredit=-1 minlen=8
retry=3:改變輸入密碼的次數,預設值是1。就是說,如果使用者輸入的密碼強度不夠就退出。可以使用這個選項設定輸入的次數,以免一切都從頭再來。
dcredit=-1 lcredit=-1 ucredit=-1 ocredit=-1 minlen=8:最小長度為8和至少1位數字,1位大寫字母,和另外1個字元的密碼。
2)注意這個設定對於root沒有作用,
只針對普通使用者修改自己密碼時起作用
3)如果新建使用者的密碼不符合密碼複雜度,就會出現bad password: it is based on a dictionary word提示。
passwd ttt
changing password for user ttt.
new unix password:
bad password: it is based on a dictionary word
一些常見的引數:
retry=n
改變輸入密碼的次數,預設值是1。就是說,如果使用者輸入的密碼強度不夠就退出。可以使用這個選項設定輸入的次數,以免一切都從頭再來
minlen=n
新密碼最低可接受的長度
difok=n
預設值為10。這個引數設定允許的新、舊密碼相同字元的個數。不過,如果新密碼中1/2的字元和舊密碼不同,則新密碼被接受
dcredit=n
限制新密碼中至少有多少個數字
ucredit=n
限制新密碼中至少有多少個大寫字元。
lcredit=n
限制新密碼中至少有多少個小寫字元。
個人密碼安全策略
我們現在處於網路時代,時常要登入各種 論壇 郵箱 網上銀行等等,這些訪問常需要帳戶 密碼的身份認證,因此我們不斷地註冊使用者,就有了數不清的網路帳戶和密碼。大多數人為了便於記憶,習慣只用乙個常用的網路使用者名稱 郵箱和密碼,這是非常危險的。那麼,網上的密碼我們應該怎麼設定,才能相對安全一些呢?總的來...
個人密碼安全策略
我們現在處於網路時代,時常要登入各種 論壇 郵箱 網上銀行等等,這些訪問常需要帳戶 密碼的身份認證,因此我們不斷地註冊使用者,就有了數不清的網路帳戶和密碼。大多數人為了便於記憶,習慣只用乙個常用的網路使用者名稱 郵箱和密碼,這是非常危險的。那麼,網上的密碼我們應該怎麼設定,才能相對安全一些呢?總的來...
個人密碼安全策略
我們現在處於網路時代,時常要登入各種 論壇 郵箱 網上銀行等等,這些訪問常需要帳戶 密碼的身份認證,因此我們不斷地註冊使用者,就有了數不清的網路帳戶和密碼。大多數人為了便於記憶,習慣只用乙個常用的網路使用者名稱 郵箱和密碼,這是非常危險的。那麼,網上的密碼我們應該怎麼設定,才能相對安全一些呢?總的來...