歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux技術 >> Linux系統中的passwd命令實用技巧小結

Linux系統中的passwd命令實用技巧小結

日期:2017/3/1 17:35:01   编辑:Linux技術

先來回顧一下passwd命令的基本用法:
Linux passwd命令用來更改使用者的密碼
語法
passwd [-k] [-l] [-u [-f]] [-d] [-S] [username]
必要參數:
-d 刪除密碼
-f 強制執行
-k 更新只能發送在過期之後
-l 停止賬號使用
-S 顯示密碼信息
-u 啟用已被停止的賬戶
-x 設置密碼的有效期
-g 修改群組密碼
-i 過期後停止用戶賬號
選擇參數:
--help 顯示幫助信息
--version 顯示版本信息
實例
修改用戶密碼

復制代碼代碼如下:
# passwd w3cschool //設置w3cschool用戶的密碼
Enter new UNIX password: //輸入新密碼,輸入的密碼無回顯
Retype new UNIX password: //確認密碼
passwd: password updated successfully
#

顯示賬號密碼信息

復制代碼代碼如下:
# passwd -S w3cschool
w3cschool P 05/13/2010 0 99999 7 -1

刪除用戶密碼

復制代碼代碼如下:
# passwd -d lx138
passwd: password expiry information changed.

好的,接下來來看一下實際的應用場合:
例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

2015114101443571.png (571×109)

注意:系統用戶的密碼以加密的形式保存在 /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

2015114114721540.jpg (500×336)

(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 連接到主機。
2015114114721540.jpg (500×336)

例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 ~]#

Copyright © Linux教程網 All Rights Reserved