關於linux系統密碼原則的設定

來源:互聯網
上載者:User

關於linux系統密碼原則的設定

由於工作需要最近需要將公司的多台linux伺服器進行密碼原則的設定,主要內容是增加密碼複雜度。

操作步驟如下,不會的同學可以參考:

操作前需要掌握如下幾個簡單的知識點:(其實不掌握也行,不過學學沒壞處)

PAM(Pluggable Authentication Modules )是由Sun提出的一種認證機制。它通過提供一些動態連結程式庫和一套統一的API,將系統提供的服務 和該服務的認證方式分開,使得系統管理員可以靈活地根據需要給不同的服務配置不同的認證方式而無需更改服務程式,同時也便於向系 統中添加新的認證手段。PAM最初是整合在Solaris中,目前已移植到其它系統中,如Linux、SunOS、HP-UX 9.0等。

PAM的配置是通過單個設定檔/etc/pam.conf。RedHat還支援另外一種配置方式,即通過配置目錄/etc/pam.d/,且這種的優先順序要高於單 個設定檔的方式。

1、使用設定檔/etc/pam.conf

該檔案是由如下的行所組成的:
service-name module-type control-flag module-path arguments
service-name 服務的名字,比如telnet、login、ftp等,服務名字“OTHER”代表所有沒有在該檔案中明確配置的其它服務。
module-type 模組類型有四種:auth、account、session、password,即對應PAM所支援的四種管理方式。同一個服務可以調用多個 PAM模組進行認證,這些模組構成一個stack。
control-flag 用來告訴PAM庫該如何處理與該服務相關的PAM模組的成功或失敗情況。它有四種可能的 值:required,requisite,sufficient,optional。
required 表示本模組必須返回成功才能通過認證,但是如果該模組返回失敗的話,失敗結果也不會立即通知使用者,而是要等到同一stack 中的所有模組全部執行完畢再將失敗結果返回給應用程式。可以認為是一個必要條件。
requisite 與required類似,該模組必須返回成功才能通過認證,但是一旦該模組返回失敗,將不再執行同一stack內的任何模組,而是直 接將控制權返回給應用程式。是一個必要條件。註:這種只有RedHat支援,Solaris不支援。
sufficient 表明本模組返回成功已經足以通過身份認證的要求,不必再執行同一stack內的其它模組,但是如果本模組返回失敗的話可以 忽略。可以認為是一個充分條件。
optional表明本模組是可選的,它的成功與否一般不會對身份認證起關鍵作用,其返回值一般被忽略。
對於control-flag,從Linux-PAM-0.63版本起,支援一種新的文法,具體可參看LinuxPAM文檔。
module-path 用來指明本模組對應的程式檔案的路徑名,一般採用絕對路徑,如果沒有給出絕對路徑,預設該檔案在目錄/usr/lib/security下面。
arguments 是用來傳遞給該模組的參數。一般來說每個模組的參數都不相同,可以由該模組的開發人員自己定義,但是也有以下幾個共同 的參數:
debug 該模組應當用syslog( )將調試資訊寫入到系統記錄檔中。
no_warn 表明該模組不應把警告資訊發送給應用程式。
use_first_pass 表明該模組不能提示使用者輸入密碼,而應使用前一個模組從使用者那裡得到的密碼。
try_first_pass 表明該模組首先應當使用前一個模組從使用者那裡得到的密碼,如果該密碼驗證不通過,再提示使用者輸入新的密碼。
use_mapped_pass 該模組不能提示使用者輸入密碼,而是使用映射過的密碼。
expose_account 允許該模組顯示使用者的帳號名等資訊,一般只能在安全的環境下使用,因為泄漏使用者名稱會對安全造成一定程度的威脅。

2、使用配置目錄/etc/pam.d/(只適用於RedHat Linux)

該目錄下的每個檔案的名字對應服務名,例如ftp服務對應檔案/etc/pam.d/ftp。如果名為xxxx的服務所對應的設定檔/etc/pam.d/xxxx不存 在,則該服務將使用預設的設定檔/etc/pam.d/other。每個檔案由如下格式的文本行所構成:
module-type control-flag module-path arguments
每個欄位的含義和/etc/pam.conf中的相同。

由於公司使用的是RedHat的linux故此我將使用pam.d這個配置目錄。密碼複雜度通過/etc/pam.d/system-auth這個檔案來實現的故此我們先看一下預設有什麼內容然後將這個檔案備份一個:


在這個檔案中我們會用到pam_cracklib.so這個模組。pam_cracklib.so是一個常用並且非常重要的PAM模組。該模組主要的作用是對使用者密碼的強健性進行檢測。即檢查和限制使用者自訂密碼的長度、複雜度和曆史等。如不滿足上述強度的密碼將拒絕使用。

pam_cracklib.so比較重要和難於理解的是它的一些參數和計數方法,其常用參數包括:   
debug:將調試資訊寫入日誌;
type=xxx:當添加/修改密碼時,系統給出的預設提示符是“New UNIX passwZ喎?http://www.bkjia.com/kf/ware/vc/" target="_blank" class="keylink">vcmQ6obHS1LywobBSZXR5cGUgVU5JWDxicj4KcGFzc3dvcmQ6obGjrLb4yrnTw7jDss7K/b/J0tTX1Lao0uXK5Mjrw9zC67XEzOHKvrf7o6yxyMjn1ri2qHR5cGU9eW91ciBvd24gd29yZKO7PGJyPgpyZXRyeT1Oo7q2qNLltcfCvC/Q3rjEw9zC68qnsNzKsaOsv8nS1NbYytS1xLTOyv2juzxicj4KRGlmb2s9TqO6tqjS5dDCw9zC69bQsdjQ69PQvLi49tfWt/vSqtPrvsnD3MLrsrvNrKGjtavKx8jnufvQwsPcwuvW0NPQMS8y0tTJz7XE19a3+9PrvsnD3MLrsrvNrMqxo6y4w9DCw9zC672rsbu908rco7s8YnI+Cm1pbmxlbj1Oo7q2qNLl08O7p8Pcwuu1xNfu0KGzpLbIo7s8YnI+CmRjcmVkaXQ9TqO6tqjS5dPDu6fD3MLr1tCx2NDrsPy6rLbgydm49sr919ajuzxicj4KdWNyZWRpdD1Oo7q2qNLl08O7p8PcwuvW0LHY0Ouw/LqstuDJ2bj2tPPQtNfWxLijuzxicj4KbGNyZWRpdD1Oo7q2qNLl08O7p8PcwuvW0LHY0Ouw/LqstuDJ2bj20KHQqdfWxLijuzxicj4Kb2NyZWRpdD1Oo7q2qNLl08O7p8PcwuvW0LHY0Ouw/LqstuDJ2bj2zNjK4tfWt/ujqLP9yv3X1qGi19bEuNauzeKjqaO7PGJyPgo8L3A+CjxwPrj5vt3O0rXE0OjSqs7SvavD3MLrst/C1NbGtqjI58/Co7qx2NDrsPy6rNbBydnSu7j20KHQtNfWxLihosr919ahoszYyuLX1rf7o6zD3MLrs6S2yNbBydk3zrujrNTac3lzdGVtLWF1dGjOxLz+1Pa808jnz8LE2sjdo6yxo7TmuvPNy7P2o7o8L3A+CjxwPjxpbWcgc3JjPQ=="http://www.2cto.com/uploadfile/Collfiles/20140924/2014092409230757.png" alt="\">

(注)*credit=-1表示至少有一個的意思。

然後配置login.defs,這個檔案主要是配置密碼有效期間,其中的PASS_MIN_LEN這個參數在我們配置了上一個檔案之後在這裡是不起作用的。其他


PASS_MAX_DAYS 99999 #密碼的最大有效期間, 99999:永久有期
PASS_MIN_DAYS 0 #是否可修改密碼,0可修改,非0多少天后可修改
PASS_MIN_LEN 5 #密碼最小長度,使用pam_cracklib module,該參數不再有效
PASS_WARN_AGE 7 #密碼失效前多少天在使用者登入時通知使用者修改密碼

當設定完成這些之後我們可以去驗證一下系統中已經存在的使用者在設定密碼的時候是否會強制驗證密碼複雜度,如所示如果不符合密碼複雜度會提示錯誤資訊:


如果符合了你的密碼複雜度就可以正常設定密碼了。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.