用于讓用戶可以更改自己的密碼
passwd命令 用于設置用戶的認證信息,包括用戶密碼、密碼過期時間等。系統(tǒng)管理者則能用它管理系統(tǒng)用戶的密碼。只有管理者可以指定用戶名稱,一般用戶只能變更自己的密碼。
passwd(選項)(參數(shù))
-d:刪除密碼,僅有系統(tǒng)管理者才能使用;
-f:強制執(zhí)行;
-k:設置只有在密碼過期失效后,方能更新;
-l:鎖住密碼;
-s:列出密碼的相關信息,僅有系統(tǒng)管理者才能使用;
-u:解開已上鎖的帳號。
用戶名:需要設置密碼的用戶名。
與用戶、組賬戶信息相關的文件
存放用戶信息:
/etc/passwd
/etc/shadow
存放組信息:
/etc/group
/etc/gshadow
用戶信息文件分析(每項用:
隔開)
例如:jack:X:503:504:::/home/jack/:/bin/bash
jack # 用戶名
X # 口令、密碼
503 # 用戶id(0代表root、普通新建用戶從500開始)
504 # 所在組
: # 描述
/home/jack/ # 用戶主目錄
/bin/bash # 用戶缺省Shell
組信息文件分析
例如:jack:$!$:???:13801:0:99999:7:*:*:
jack # 組名
$!$ # 被加密的口令
13801 # 創(chuàng)建日期與今天相隔的天數(shù)
0 # 口令最短位數(shù)
99999 # 用戶口令
7 # 到7天時提醒
* # 禁用天數(shù)
* # 過期天數(shù)
如果是普通用戶執(zhí)行passwd只能修改自己的密碼。如果新建用戶后,要為新用戶創(chuàng)建密碼,則用passwd用戶名,注意要以root用戶的權限來創(chuàng)建。
[root@localhost ~]# passwd linuxde # 更改或創(chuàng)建linuxde用戶的密碼;
Changing password for user linuxde.
New UNIX password: # 請輸入新密碼;
Retype new UNIX password: # 再輸入一次;
passwd: all authentication tokens updated successfully. # 成功;
普通用戶如果想更改自己的密碼,直接運行passwd即可,比如當前操作的用戶是linuxde。
[linuxde@localhost ~]$ passwd
Changing password for user linuxde. # 更改linuxde用戶的密碼;
(current) UNIX password: # 請輸入當前密碼;
New UNIX password: # 請輸入新密碼;
Retype new UNIX password: # 確認新密碼;
passwd: all authentication tokens updated successfully. # 更改成功;
比如我們讓某個用戶不能修改密碼,可以用-l
選項來鎖定:
[root@localhost ~]# passwd -l linuxde # 鎖定用戶linuxde不能更改密碼;
Locking password for user linuxde.
passwd: Success # 鎖定成功;
[linuxde@localhost ~]# su linuxde # 通過su切換到linuxde用戶;
[linuxde@localhost ~]$ passwd # linuxde來更改密碼;
Changing password for user linuxde.
Changing password for linuxde
(current) UNIX password: # 輸入linuxde的當前密碼;
passwd: Authentication token manipulation error # 失敗,不能更改密碼;
再來一例:
[root@localhost ~]# passwd -d linuxde # 清除linuxde用戶密碼;
Removing password for user linuxde.
passwd: Success # 清除成功;
[root@localhost ~]# passwd -S linuxde # 查詢linuxde用戶密碼狀態(tài);
Empty password. # 空密碼,也就是沒有密碼;
注意:當我們清除一個用戶的密碼時,登錄時就無需密碼,這一點要加以注意。