天天看點

Linux系統 賬戶密碼政策

密碼時效是一種系統機制,用于強制密碼在特定的時間長度後失效。對使用者來說,這可能帶來了一些麻煩,但是它確定了密碼會定期進行更改,是一項很好的安全措施。預設情況下,絕大多數的Linux分裝版本并沒有打開密碼時效,不過要想打開卻非常簡單。

通過編輯/etc/login.defs,你可以指定幾個參數,來設定密碼實效的預設設定:

PASS_MAX_DAYS 99999

PASS_MIN_DAYS 0

PASS_WARN_AGE 7

當設定密碼時效的天數為99999時,實際上相當于關閉了密碼時效。一個更明智的設定一般是60天——每2個月強制更改一次密碼。

PASS_MIN_DAYS參數則設定了在本次密碼修改後,下次允許更改密碼之前所需的最少天數。PASS_WARN_AGE的設定則指明了在密碼失效前多少天開始通知使用者更改密碼(一般在使用者剛剛登陸系統時就會收到警告通知)。

你也會編輯/etc/default/useradd檔案,尋找INACTIVE和EXPIRE兩個關鍵詞:

INACTIVE=14

EXPIRE=

這會指明在密碼失效後多久時間内,如果密碼沒有進行更改,則将賬戶更改為失效狀态。在本例中,這個時間是14天。而EXPIRE的設定則用于為所有新使用者設定一個密碼失效的明确時間(具體格式為“年份-月份-日期”)。

顯然,上述這些設定更改之後,隻能影響到建立立的使用者。要想修改目前已存在的使用者具體設定,需要使用chage工具。

# chage -M 60 joe

這條指令将設定使用者joe的PASS_MAX_DAYS為60,并修改對應的shadow檔案。

你可以使用chage -l的選項,列出目前的賬戶時效情況,而使用-m選項是設定PASS_MIN_DAYS, 用-W則是設定PASS_WARN_AGE,等等。chage工具可以讓你修改特定賬戶的所有密碼時效狀态。

注意,chage僅僅适用于本地系統的賬戶,如果你在使用一個類似LDAP這樣的認證系統時,該工具會失效。如果你在使用LDAP作為認證,而你又打算使用chage,那麼,哪怕僅僅是試圖列出使用者密碼的時效資訊,你也會發現chage根本不起作用。

制定一項政策,定義多長時間一個密碼必須進行更改,然後強制執行該政策,是非常不錯的一個做法。在解雇了某個雇員後,密碼時效政策會保證該雇員不可能在被解雇3個月後發現他的密碼依然可用。即使系統管理者忽略了删除他的帳号,該帳号也會因密碼時效政策而被自動鎖定。當然,這一點并不能成為不及時删除該雇員帳号的理由,但是這個政策的确提供了一層額外的安全防護,尤其是在過去常常忽視及時清理帳号的情況下。

繼續閱讀