如何強制在下次登入 Linux 時更換密碼

linux.cn發表於2015-11-02

提問:我管理著一臺多人共享的Linux伺服器。我剛使用預設密碼建立了一個新使用者,但是我想使用者在第一次登入時更換密碼。有沒有什麼方法可以讓他/她在下次登入時修改密碼呢?

在多使用者Linux環境中,標準實踐是使用一個預設的隨機密碼建立一個使用者賬戶。成功登入後,新使用者自己改變預設密碼。出於安全考慮,經常建議“強制”使用者在第一次登入時修改密碼來確保這個一次性使用的密碼不會再被使用。

下面是如何強制使用者在下次登入時修改他/她的密碼

Linux有問必答:如何強制在下次登入Linux時更換密碼

每個Linux使用者都關聯這不同的密碼相關配置和資訊。比如,記錄著上次密碼更改的日期、最小/最大的修改密碼的天數、密碼何時過期等等。

一個叫chage的命令列工具可以訪問並調整密碼過期相關配置。你可以使用這個工具來強制使用者在下次登入修改密碼、

要檢視特定使用者的過期資訊(比如:alice),執行下面的命令。注意的是除了你自己之外檢視其他任何使用者的密碼資訊都需要root許可權。

$ sudo chage -l alice

Linux有問必答:如何強制在下次登入Linux時更換密碼

強制使用者修改密碼

如果你想要強制使用者去修改他/她的密碼,使用下面的命令。

$ sudo chage -d0 <user-name>

原本“-d ”引數是用來設定密碼的“年齡”(也就是上次修改密碼起到1970/1/1起的天數)。因此“-d0”的意思是上次密碼修改的時間是1970/1/1,這就讓當前的密碼過期了,也就強制讓他在下次登入的時候修改密碼了。

另外一個過期當前密碼的方式是用passwd命令。

$ sudo passwd -e <user-name>

上面的命令和“chage -d0”作用一樣,讓當前使用者的密碼立即過期。

現在檢查使用者的資訊,你會發現:

Linux有問必答:如何強制在下次登入Linux時更換密碼

當你再次登入時候,你會被要求修改密碼。你會在修改前被要求再驗證一次當前密碼。

Linux有問必答:如何強制在下次登入Linux時更換密碼

要設定更全面的密碼策略(如密碼複雜性,防止重複使用),則可以使用PAM。參見這篇文章瞭解更多詳情。

相關文章