passwd命令用于設置用戶的認證信息,包括用戶密碼、密碼過期時間等。系統管理者則能用它管理系統用戶的密碼。只有管理者可以指定用戶名稱,一般用戶只能變更自己的密碼。
#### 語法
passwd(選項)(參數)
#### 選項
-d:刪除密碼,僅有系統管理者才能使用;
-f:強制執行;
-k:設置只有在密碼過期失效后,方能更新;
-l:鎖住密碼;
-s:列出密碼的相關信息,僅有系統管理者才能使用;
-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 //創建日期與今天相隔的天數
0 //口令最短位數
99999 //用戶口令
7 //到7天時提醒
* //禁用天數
* //過期天數
~~~
#### 實例
如果是普通用戶執行passwd只能修改自己的密碼。如果新建用戶后,要為新用戶創建密碼,則用passwd用戶名,注意要以root用戶的權限來創建。
~~~
[root@localhost ~]# passwd linuxde //更改或創建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用戶密碼狀態;
Empty password. //空密碼,也就是沒有密碼;
~~~
注意:當我們清除一個用戶的密碼時,登錄時就無需密碼,這一點要加以注意。
- 目錄
- Linux目錄結構
- 文件和目錄管理
- 創建文件
- touch命令
- ln命令
- 文件列表
- 查看內容
- ls命令
- ll命令
- stat 命令
- 文件查找
- updatedb命令
- locate/slocate命令
- whereis命令
- which命令
- find命令
- 文件壓縮
- tar命令
- 目錄管理
- mkdir命令
- pwd命令
- tail命令
- 監視文件
- 文件復制
- cp命令
- 壓縮解壓
- zip命令
- unzip命令
- 系統管理
- crontab命令
- crontab問題
- crontab日志
- crontab原理
- 系統計劃任務
- 用戶計劃任務
- 調用ThinkPHP控制器
- ntsysv命令
- chkconfig命令
- export命令
- 修改PATH環境變量
- ps命令
- man
- 主要方法
- pstree命令
- service命令
- kill命令
- ulimit命令
- 綜合命令
- 編譯文件
- make命令
- makefile文件
- 設備管理
- mount命令
- 用戶和工作組管理
- groupadd命令
- passwd命令
- useadd命令
- groups命令
- chage命令
- whoami命令
- 查看用戶組下所有用戶
- 軟件安裝
- rpm命令
- 系統監測
- free命令
- 硬件配置
- 系統監控
- top命令
- ps_mem
- pstree
- 文件傳輸
- web服務
- Nginx
- 文件下載
- wget命令
- 系統幫助
- whatis命令
- man命令
- shell命令
- shell變量
- sh命令
- source命令
- test命令
- 表達式
- 邏輯運算符
- date命令
- declare命令
- 軟件安裝
- yum命令
- 安裝
- 系統服務
- systemctl命令
- service
- 環境變量
- Linux 中環境變量設置
- 網絡管理
- iptables命令
- netstat命令
- 查看端口占用
- 常用端口說明
- 系統安全
- getenforce
- 磁盤空間
- df命令