命令簡介
useradd/userdel 創建新用戶/刪除用戶,需要管理員權限操作。
在創建用戶時,如果不配置密碼,用戶的默認密碼是不可用的,所以,useradd命令一般與passwd命令配合使用,下節我們將介紹這個命令。
語法格式
useradd 選項 用戶名
userdel 選項 用戶名
用戶的分類
- 超級用戶:root,擁有對系統的最高管理權限,UID默認為0。
- 虛擬用戶:又叫系統用戶或偽用戶,具有一定特權,與系統或程序服務相關,但沒有真正的使用者。一般不會用來登錄系統,它主要用於維持某個訪問的正常運行,如ftp,apache等。
- 普通用戶:是一種受限制的用戶,一般新建的用戶都是普通用戶。默認只能執行/bin、/usr/bin、/usr/local/bin以及自身主目錄里的命令。
注意:UID即每個用戶的身份標識,雖然可以修改/etc/passwd(命令設置的UID不允許重復),但盡量保持唯一性,類似於每個人的身份證號碼。
選項說明
useradd 選項
-c #加上備注文字,備注文字保存在passwd的備注欄中。
-d #指定用戶登入時的主目錄,替換系統默認值/home/<用戶名>
-D #變更預設值。
-e #指定賬號的失效日期,日期格式為MM/DD/YY,例如06/30/12。缺省表示永久有效。
-f #指定在密碼過期后多少天即關閉該賬號。如果為0賬號立即被停用;如果為-1則賬號一直可用。默認值為-1.
-g #指定用戶所屬的群組。值可以使組名也可以是GID。用戶組必須已經存在的,期默認值為100,即users。
-G #指定用戶所屬的附加群組。
-m #自動建立用戶的登入目錄。
-M #不要自動建立用戶的登入目錄。
-n #取消建立以用戶名稱為名的群組。
-r #建立系統賬號。
-s #指定用戶登入后所使用的shell。默認值為/bin/bash。
-u #指定用戶ID號。該值在系統中必須是唯一的。0~499默認是保留給系統用戶賬號使用的,所以該值必須大於499。
userdel 選項
-f #強制刪除用戶賬號
-r #刪除用戶主目錄及其中的任何文件
-h #顯示命令的幫助信息
應用實例
useradd -s mingongge
#新建系統用戶mingongge
useradd mingongge -u 888
#設定ID值時盡量要大於500,以免沖突;一般0到499之間的值留給bin、mail這樣的系統賬號
useradd -m -d /home/mingongge mingongge
#指定創建用戶家目錄的路徑,/home/mingongge目錄會被創建
useradd -s /sbin/nologin mingongge
#創建一個沒有家目錄且不能登錄的用戶
useradd -m -G test,sudo mingongge
#創建時把用戶加入不同的用戶組test,sudo
useradd -u 2020 -m -g root mingongge
#添加用戶mingongge其id為2020,並且將其添加到組群root中
使用useradd -D可以查看創建新用戶時的默認信息,或直接cat /etc/default/useradd
useradd -D
GROUP=888
HOME=/home
INACTIVE=888
EXPIRE=
SHELL=/bin/bash
SKEL=/etc/skel
CREATE_MAIL_SPOOL=yes
修改創建新用戶時的默認信息。
useradd -D -f 999
#查看是否修改成功
useradd -D | grep INACTIVE
INACTIVE=999
刪除用戶,但不刪除其家目錄及文件
[root@mingongge ~]# userdel mingongge
刪除用戶,並將其家目錄及文件一並刪除
[root@mingongge ~]# userdel -r mingongge
強制刪除用戶
[root@mingongge ~]# userdel -f mingongge
命令簡介
passwd創建或修改用戶的密碼,passwd命令用於設置用戶的認證信息,包括用戶密碼、密碼過期時間等。系統管理者則能用它管理系統用戶的密碼。只有管理者可以指定用戶名稱,一般用戶只能變更自己的密碼。
普通用戶在更改自己的密碼之前,必須先輸入當前密碼進行驗證(超級用戶無需此步驟)。
設置密碼時需要符合系統對密碼復雜性的要求。一般准則,密碼應至少包含6個字符,包括以下每個字符中的一個或多個:
- 小寫字母
- 數字0到9
- 標點符號
語法格式
passwd [選項] [username]
選項說明
-d #刪除密碼
-f #強迫用戶下次登錄時必須修改口令
-w #口令要到期提前警告的天數
-k #更新只能發送在過期之后
-l #鎖定賬號使用
-S #顯示密碼信息
-u #啟用已被停止的賬戶
-g #修改群組密碼
-S #列出密碼相關參數,即shadow文件內的大部分信息
-n #后面接天數,shadow的第4字段,多久不可修改密碼
-x #后面接天數,shadow的第5字段,多久內必須要改動密碼
-w #后面接天數,shadow的第6字段,密碼過期前的警告天數
-i #后面接“日期”,shaodow的第7字段,密碼失效日期
--help #顯示幫助信息
--version #顯示版本信息
--stdin #從標准輸入中讀入新密碼(此時可以看見設置的密碼)
應用實例
修改用戶密碼
[root@mingongge ~]# passwd test #設置test用戶的密碼
Enter new UNIX password: #輸入新密碼,輸入的密碼無回顯
Retype new UNIX password: #確認密碼
passwd: password updated successfully
顯示賬號密碼信息
[root@mingongge ~]# passwd -S mingongge
mingongge P 12/25/2020 0 99999 7 -1
刪除用戶密碼
[root@mingongge ~]# passwd -d mingongge
passwd: password expiry information changed.
鎖定一個用戶
[root@localhost ~]$ passwd -l mingongge #鎖定用戶mingongge不能更改密碼
Locking password for user mingongge.
passwd: Success #鎖定成功
[root@localhost ~]# su mingongge #切換到mingongge用戶;
[mingongge@localhost ~]$ passwd #來更改mingongge密碼
Changing password for user mingongge.
Changing password for mingongge
(current) UNIX password: #輸入mingongge的當前密碼
passwd: Authentication token manipulation error #失敗,不能更改密碼
清除一個用戶的密碼
[root@localhost ~]$ passwd -d mingongge #清除mingongge用戶密碼
Removing password for user mingongge.
passwd: Success #清除成功;
[root@localhost ~]# passwd -S mingongge #查詢用戶密碼狀態
Empty password. #空密碼,也就是沒有密碼
注意:清除一個用戶的密碼之后,就代表着這個用戶是沒有密碼了,也就是空密碼可以登錄。