10 個 Linux 中的 passwd 命令示例

linux.cn發表於2015-10-29

正如 passwd 命令的名稱所示,其用於改變系統使用者的密碼。如果 passwd 命令由非 root 使用者執行,那麼它會詢問當前使用者的密碼,然後設定呼叫該命令的使用者的新密碼。當此命令由超級使用者 root 執行的話,就可以重新設定任何使用者的密碼,包括不知道當前密碼的使用者。

10 個 Linux 中的 passwd 命令示例

在這篇文章中,我們將用例項來介紹 passwd 命令。

語法 :

# passwd {options} {user_name}

可以在 passwd 命令使用不同的選項,列表如下:

10 個 Linux 中的 passwd 命令示例

例1:更改系統使用者的密碼

當你使用非 root 使用者登入時,比如我使用 ‘linuxtechi’ 登入的情況下,執行 passwd 命令它會重置當前登入使用者的密碼。

[linuxtechi@linuxworld ~]$ passwd
Changing password for user linuxtechi.
Changing password for linuxtechi.
(current) UNIX password:
New password:
Retype new password:
passwd: all authentication tokens updated successfully.
[linuxtechi@linuxworld ~]$

當你作為 root 使用者登入後並執行 passwd 命令時,它預設情況下會重新設定 root 的密碼,如果你在 passwd 命令後指定了使用者名稱,它會重置該使用者的密碼。

[root@linuxworld ~]# passwd
[root@linuxworld ~]# passwd linuxtechi

10 個 Linux 中的 passwd 命令示例

注意 : 系統使用者的密碼以加密的形式儲存在 /etc/shadow 檔案中。

例2:顯示密碼狀態資訊

要顯示使用者密碼的狀態資訊,請在 passwd 命令後使用 -S 選項。

[root@linuxworld ~]# passwd -S linuxtechi
linuxtechi PS 2015-09-20 0 99999 7 -1 (Password set, SHA512 crypt.)
[root@linuxworld ~]#

在上面的輸出中,第一個欄位顯示的使用者名稱,第二個欄位顯示密碼狀態(PS = 密碼設定,LK = 密碼鎖定,NP = 無密碼),第三個欄位顯示了上次修改密碼的時間,後面四個欄位分別顯示了密碼能更改的最小期限和最大期限,警告期限和沒有使用該口令的時長。

例3:顯示所有賬號的密碼狀態資訊

為了顯示所有使用者密碼的狀態資訊需要使用 “-aS”選項在passwd 命令中,示例如下所示:

root@localhost:~# passwd -Sa

10 個 Linux 中的 passwd 命令示例

(LCTT譯註:不同發行版/passwd 的行為不同。CentOS6.6 沒有測試成功,但 Ubuntu 可以。)

例4:使用 -d 選項刪除使用者的密碼

用我做例子,刪除 ‘linuxtechi‘ 使用者的密碼。

[root@linuxworld ~]# passwd -d linuxtechi
Removing password for user linuxtechi.
passwd: Success
[root@linuxworld ~]#
[root@linuxworld ~]# passwd -S linuxtechi
linuxtechi NP 2015-09-20 0 99999 7 -1 (Empty password.)
[root@linuxworld ~]#

-d” 選項將清空使用者密碼,並禁用使用者登入。

例5:設定密碼立即過期

在 passwd 命令中使用 ‘-e’ 選項會立即使使用者的密碼過期,這將強制使用者在下次登入時更改密碼。

[root@linuxworld ~]# passwd -e linuxtechi
Expiring password for user linuxtechi.
passwd: Success
[root@linuxworld ~]# passwd -S linuxtechi
linuxtechi PS 1970-01-01 0 99999 7 -1 (Password set, SHA512 crypt.)
[root@linuxworld ~]#

現在嘗試用 linuxtechi 使用者 SSH 連線到主機。

10 個 Linux 中的 passwd 命令示例

例6:鎖定系統使用者的密碼

在 passwd 命令中使用 ‘-l‘ 選項能鎖定使用者的密碼,它會在密碼的起始位置加上“!”。當他/她的密碼被鎖定時,使用者將不能更改它的密碼。

[root@linuxworld ~]# passwd -l linuxtechi
Locking password for user linuxtechi.
passwd: Success
[root@linuxworld ~]# passwd -S linuxtechi
linuxtechi LK 2015-09-20 0 99999 7 -1 (Password locked.)
[root@linuxworld ~]#

例7:使用 -u 選項解鎖使用者密碼

[root@linuxworld ~]# passwd -u linuxtechi
Unlocking password for user linuxtechi.
passwd: Success
[root@linuxworld ~]#

例8:使用 -i 選項設定非活動時間

在 passwd 命令中使用 -i 選項用於設系統使用者的非活動時間。當使用者(我使用的是linuxtechi使用者)密碼過期後,使用者再經過 ‘n‘ 天后(在我的情況下是10天)沒有更改其密碼,使用者將不能登入。

[root@linuxworld ~]# passwd -i 10 linuxtechi
Adjusting aging data for user linuxtechi.
passwd: Success
[root@linuxworld ~]#
[root@linuxworld ~]# passwd -S linuxtechi
linuxtechi PS 2015-09-20 0 99999 7 10 (Password set, SHA512 crypt.)
[root@linuxworld ~]#

例9:使用 -n 選項設定密碼更改的最短時間

在下面的例子中,linuxtechi使用者必須在90天內更改密碼。0表示使用者可以在任何時候更改它的密碼。

[root@linuxworld ~]# passwd -n 90 linuxtechi
Adjusting aging data for user linuxtechi.
passwd: Success
[root@linuxworld ~]# passwd -S linuxtechi
linuxtechi PS 2015-09-20 90 99999 7 10 (Password set, SHA512 crypt.)
[root@linuxworld ~]#

例10:使用 -w 選項設定密碼過期前的警告期限

-w’ 選項在 passwd 命令中用於設定使用者的警告期限。這意味著,n天之後,他/她的密碼將過期。

[root@linuxworld ~]# passwd -w 12 linuxtechi
Adjusting aging data for user linuxtechi.
passwd: Success
[root@linuxworld ~]# passwd -S linuxtechi
linuxtechi PS 2015-09-20 90 99999 12 10 (Password set, SHA512 crypt.)
[root@linuxworld ~]#

相關文章