萬盛學電腦網

 萬盛學電腦網 >> 服務器教程 >> Linux系統中的passwd命令實用技巧小結

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

   先來回顧一下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 © 萬盛學電腦網 all rights reserved