Linux 密碼複雜度

來源:互聯網
上載者:User

標籤:linux 密碼 複雜度 cracklib login.defs


 我們在使用linux系統設定密碼的時候,經常遇到這樣的問題,系統提示:您的密碼太簡單,或者您的密碼是字典的一部分。那麼系統是如何?對使用者的密碼的複雜度的檢查的呢?
  系統對密碼的控制是有兩部分(我知道的)組成:
  1 cracklib
  2 login.defs
  聲明:login.defs主要是控制密碼的有效期間。對密碼進行時間管理。此處不細談。
  login.defs --shadow password suite configuration

  pam_cracklib.so 才是控制密碼複雜度的關鍵檔案。

  redhat公司專門開發了cracklib這個安裝包來判斷密碼的複雜度。

  可以rpm -ql cracklib查看。

密碼的複雜度的判斷是通過pam模組控制來實現的,具體的模組是pam_cracklibpam_cracklib 的參數介紹:

debug

    該選項使用模組將資訊寫入到日誌(3)來指示組件的行為(這個選項不會記錄密碼資訊到記錄檔)。


type=XXX

    預設的操作是為模組,當請求密碼時,該模組預設操作是使用以下提示:“新的UNIX密碼:”和“重新輸入密碼UNIX”。此選項就是替換預設單詞的UNIX。


retry=N

    提示使用者最多N次會返回錯誤。預設值是1


difok=N

    此參數會改變預設新密碼中必須有5個字元不同於舊密碼中字元,此外,如果新密碼中有一半字元不同於舊密碼,那麼就可以使用新密碼。


difignore=N

    密碼在少於多少個字元時,difok將被忽略,預設是23。


minlen=N
    新密碼可接受的最小長度。


dcredit=N

    (N < 0) 新密碼最小數字長度。


ucredit=N

    (N < 0) 新密碼最小大寫字母長度。


lcredit=N

    (N < 0) 新密碼最小小寫字母長度。


ocredit=N

    (N < 0) 新密碼最小其他字元長度。


use_authtok

    此參數用於強制不提示使用者輸入新的密碼而由以前堆積的密碼模組所提供。 


dictpath=/path/to/dict
  Path to the cracklib dictionaries.
  dictpath=/path/to/dict //註:密碼字典,這個是驗證使用者的密碼是否是字典一部分的關鍵。
  Path to the cracklib dictionaries.

例子:
在linux下設定密碼複雜度辦法:

(1)修改/etc/login.defs檔案

PASS_MAX_DAYS   90  #密碼最長到期天數
PASS_MIN_DAYS   80  #密碼最小到期天數
PASS_MIN_LEN    10  #密碼最小長度
PASS_WARN_AGE   7   #密碼到期警告天數

 

(2)修改/etc/pam.d/system-auth檔案

找到 password requisite pam_cracklib.so這麼一行替換成如下:

password  requisite pam_cracklib.so retry=5  difok=3 minlen=10 ucredit=-1 lcredit=-3 dcredit=-3 dictpath=/usr/share/cracklib/pw_dict

參數含義:

嘗試次數:5  最少不同字元:3 最小密碼長度:10  最少大寫字母:1 最少小寫字母:3 最少數字:3 密碼字典:/usr/share/cracklib/pw_dict

 

注意:以上設定對root使用者無效。修改後你可能會立即測試,會發現以上設定無效。你可以建立賬戶,並進入該賬戶。
useradd  test
passwd test

su - test
此時你發現設定起作用了。

Linux 密碼複雜度

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.