Linux用戶和許可權——管理用戶和用戶組的命令 摘要:本文主要學習了在Linux系統中管理用戶和用戶組的命令。 useradd命令 useradd命令可以用來創建新用戶。 基本語法 選項說明 使用舉例 passwd命令 使用passwd命令設置密碼。 基本語法 選項說明 使用舉例 usermod命令 ...
Linux用戶和許可權——管理用戶和用戶組的命令
摘要:本文主要學習了在Linux系統中管理用戶和用戶組的命令。
useradd命令
useradd命令可以用來創建新用戶。
基本語法
1 [root@localhost ~]# useradd [選項] 用戶名
選項說明
1 -u num:num是數字,手工指定用戶的UID,註意num的範圍不要小於500。 2 -d name:name是目錄名,手工指定用戶的主目錄。主目錄必須寫絕對路徑,而且如果需要手工指定主目錄,則一定要註意許可權。 3 -c description:description是描述,手工指定/etc/passwd文件中各用戶信息中第五個欄位的描述性內容,可隨意配置。 4 -g name:name是目錄名,手工指定用戶的初始組。一般以和用戶名相同的組作為用戶的初始組,在創建用戶時會預設建立初始組。一旦手動指定,則系統將不會在創建此預設的初始組目錄。 5 -G name:name是目錄名,指定用戶的附加組。我們把用戶加入其他組,一般都使用附加組。 6 -s shell:shell是腳本文件名,手工指定用戶的登錄Shell,預設是/bin/bash。 7 -e date:date是日期,指定用戶的失效日期,格式為“YYYY-MM-DD”。也就是/etc/shadow文件的第八個欄位; 8 -o:允許創建的用戶的UID相同。 9 -m:建立用戶時強制建立用戶的家目錄。在建立系統用戶時,該選項是預設的。 10 -r:創建系統用戶,也就是UID在1~499之間,供系統程式使用的用戶。由於系統用戶主要用於運行系統所需服務的許可權配置,因此系統用戶的創建預設不會創建主目錄。
使用舉例
1 [root@localhost ~]# useradd sam -G root 2 [root@localhost ~]# cat /etc/passwd 3 root:x:0:0:root:/root:/bin/bash 4 bin:x:1:1:bin:/bin:/sbin/nologin 5 ... 6 sam:x:1000:1000::/home/sam:/bin/bash 7 [root@localhost ~]# cat /etc/group 8 root:x:0:sam 9 bin:x:1: 10 ... 11 sam:x:1000: 12 [root@localhost ~]#
passwd命令
使用passwd命令設置密碼。
基本語法
1 [root@localhost ~]# passwd [選項] 用戶名
選項說明
1 -S:查詢用戶密碼的狀態,也就是/etc/shadow文件中此用戶密碼的內容,僅root用戶可用。 2 -l:暫時鎖定用戶,該選項會在/etc/shadow文件中指定用戶的加密密碼串前添加“!”,使密碼失效,僅root用戶可用。 3 -u:解鎖用戶,和-l選項相對應,僅root用戶使用。 4 -d:刪除已命名帳號的密碼,僅root用戶可用。 5 -k:保持身份驗證令牌不過期。 6 -f:強制執行操作。 7 -n num:num為數字,設置該用戶修改密碼後,多長時間不能再次修改密碼,對應/etc/shadow文件中各行密碼的第四個欄位。 8 -x num:num為數字,設置該用戶的密碼有效期,對應/etc/shadow文件中各行密碼的第五個欄位。 9 -w num:num為數字,設置用戶密碼過期前的警告天數,對應/etc/shadow文件中各行密碼的第六個欄位。 10 -i date:date為日期,設置用戶密碼失效日期,對應/etc/shadow文件中各行密碼的第七個欄位。
使用舉例
1 [root@localhost ~]# passwd sam 2 更改用戶 sam 的密碼 。 3 新的 密碼: 4 無效的密碼: 密碼未通過字典檢查 - 過於簡單化/系統化 5 重新輸入新的 密碼: 6 passwd:所有的身份驗證令牌已經成功更新。 7 [root@localhost ~]#
usermod命令
usermod命令用於修改用戶信息。
基本語法
1 [root@localhost ~]# usermod [選項] 用戶名
選項說明
1 -c comment:comment是說明信息,修改用戶的說明信息,即修改/etc/passwd文件目標用戶信息的第五個欄位。 2 -d name:name是目錄名,修改用戶的主目錄,即修改/etc/passwd文件中目標用戶信息的第六個欄位,需要註意的是,主目錄必須寫絕對路徑。 3 -e date:date是日期,修改用戶的失效曰期,格式為"YYYY-MM-DD",即修改/etc/shadow文件目標用戶密碼信息的第八個欄位。 4 -g name:name是組名,修改用戶的初始組,即修改/etc/passwd文件目標用戶信息的第四個欄位(GID)。 5 -u num:num是數字,修改用戶的UID,即修改/etc/passwd文件目標用戶信息的第三個欄位(UID)。 6 -G name:name是組名,修改用戶的附加組,其實就是把用戶加入其他用戶組,即修改/etc/group文件。 7 -l name:name是用戶名,修改用戶名稱。 8 -L:臨時鎖定用戶(Lock)。 9 -U:解鎖用戶(Unlock),和-L對應。 10 -s shell:shell是腳本文件名,修改用戶的登錄Shell,預設是/bin/bash。
使用舉例
1 [root@localhost ~]# usermod -G root lisa 2 [root@localhost ~]# cat /etc/group 3 root:x:0:lisa 4 bin:x:1: 5 ... 6 [root@localhost ~]#
userdel命令
userdel命令功能很簡單,就是刪除用戶的相關數據。此命令只有root用戶才能使用。
基本語法
1 [root@localhost ~]# userdel [選項] 用戶名
選項說明
1 -r:表示在刪除用戶的同時刪除用戶的家目錄。
使用舉例
1 [root@localhost ~]# userdel lisa 2 [root@localhost ~]# cat /etc/passwd 3 root:x:0:0:root:/root:/bin/bash 4 bin:x:1:1:bin:/bin:/sbin/nologin 5 ... 6 [root@localhost ~]#
id命令
id命令可以查詢用戶的UID、GID和附加組的信息。
基本語法
1 [root@localhost ~]# id 用戶名
使用舉例
1 [root@localhost ~]# id root 2 uid=0(root) gid=0(root) 組=0(root) 3 [root@localhost ~]#
su命令
su命令是最簡單的用戶切換命令,通過該命令可以實現任何身份的切換,包括從普通用戶切換為root用戶、從root用戶切換為普通用戶以及普通用戶之間的切換。
普通用戶之間切換以及普通用戶切換至root用戶,都需要知曉對方的密碼,只有正確輸入密碼,才能實現切換;從root用戶切換至其他用戶,無需知曉對方密碼,直接可切換成功。
基本語法
1 [root@localhost ~]# su [選項] 用戶名
選項說明
1 -:當前用戶不僅切換為指定用戶的身份,同時所用的工作環境也切換為此用戶的環境(包括PATH變數、MAIL變數等),使用-選項可省略用戶名,預設會切換為root用戶。 2 -l:同-的使用類似,也就是在切換用戶身份的同時,完整切換工作環境,但後面需要添加欲切換的使用者賬號。 3 -p:表示切換為指定用戶的身份,但不改變當前的工作環境,即不使用切換用戶的配置文件。 4 -m:和-p一樣。 5 -c command:command為命令,僅切換用戶執行一次命令,執行後自動切換回來,該選項後通常會帶有要執行的命令。
使用舉例
1 [root@localhost ~]# su - sam 2 上一次登錄:四 7月 11 08:43:12 CST 2019pts/0 上 3 [sam@localhost ~]$ su - 4 密碼: 5 上一次登錄:四 7月 11 09:06:21 CST 2019pts/2 上 6 [root@localhost ~]#
groupadd命令
groupadd命令用來添加用戶組。
基本語法
1 [root@localhost ~]# groupadd [選項] 組名
選項說明
1 -g n:n是數字,指定組ID。 2 -r:創建系統群組。
使用舉例
1 [root@localhost ~]# groupadd test 2 [root@localhost ~]# cat /etc/group 3 root:x:0: 4 bin:x:1: 5 ... 6 test:x:1001: 7 [root@localhost ~]#
gpasswd命令
可以使用gpasswd命令給群組設置一個群組管理員,代替root完成將用戶加入或移出群組的操作。
基本語法
1 [root@localhost ~]# gpasswd [選項] 組名
選項說明
1 :選項為空時,表示給群組設置密碼,僅root用戶可用。 2 -A user1,...:將群組的控制權交給user1,...等用戶管理,也就是說,設置user1,...等用戶為群組的管理員,僅root用戶可用。 3 -M user1,...:將user1,...加入到此群組中,僅root用戶可用。 4 -r:移除群組的密碼,僅root用戶可用。 5 -R:讓群組的密碼失效,僅root用戶可用。 6 -a user:將user用戶加入到群組中。 7 -d user:將user用戶從群組中移除。
使用舉例
1 [root@localhost ~]# gpasswd -M sam test 2 [root@localhost ~]# cat /etc/group 3 root:x:0: 4 bin:x:1: 5 ... 6 test:x:1001:sam 7 [root@localhost ~]#
groupmod命令
groupmod命令用於修改用戶組的相關信息。
基本語法
1 [root@localhost ~]# groupmod [選項] 組名
選項說明
1 -g n:n是數字,修改組ID。 2 -n name:name是組名,修改組名。
使用舉例
1 [root@localhost ~]# groupmod -g 1002 test 2 [root@localhost ~]# cat /etc/group 3 root:x:0: 4 bin:x:1: 5 ... 6 test:x:1002: 7 [root@localhost ~]#
groupdel命令
groupdel命令用於刪除用戶組。
基本語法
1 [root@localhost ~]# groupdel 組名
使用舉例
1 [root@localhost ~]# groupdel test 2 [root@localhost ~]# cat /etc/group 3 root:x:0:sam 4 bin:x:1: 5 ... 6 [root@localhost ~]#