如何強制定期更改Linux密碼(zt)

tonykorn97發表於2008-05-09

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

[@more@]

透過編輯/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個月後發現他的口令依然可用。即使系統管理員忽略了刪除他的帳號,該帳號也會因密碼時效策略而被自動鎖定。當然,這一點並不能成為不及時刪除該僱員帳號的理由,但是這個策略的確提供了一層額外的安全防護,尤其是在過去常常忽視及時清理帳號的情況下。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/312079/viewspace-1003726/,如需轉載,請註明出處,否則將追究法律責任。

相關文章