用戶管理是 Linux 系統管理中的重要組成部分,它涉及到用戶和用戶組的創建、刪除、修改以及權限分配等操作。以下是關于用戶和用戶組管理的詳細說明:
一、用戶和用戶組的概念
(一)用戶(User)
用戶是系統中一個獨立的實體,每個用戶都有自己的用戶名、用戶 ID(UID)、密碼、主目錄、登錄 Shell 等屬性。用戶可以登錄系統并執行操作。
-
用戶名(Username):用戶登錄時使用的名稱。
-
用戶 ID(UID):每個用戶都有一個唯一的數字標識符,用于系統內部識別用戶。
-
主目錄(Home Directory):用戶登錄后的工作目錄,通常是
/home/username
。 -
登錄 Shell(Login Shell):用戶登錄后使用的命令行解釋器,例如
/bin/bash
。
(二)用戶組(Group)
用戶組是多個用戶的集合,用戶組的目的是簡化權限管理。一個用戶可以屬于多個用戶組,用戶組也有自己的組 ID(GID)。
-
組名(Group Name):用戶組的名稱。
-
組 ID(GID):每個用戶組也有一個唯一的數字標識符。
-
組成員(Group Members):屬于該用戶組的用戶。
二、用戶管理命令
(一)添加用戶:useradd
useradd
命令用于創建新的用戶。
-
基本語法
useradd [選項] 用戶名
-
常用選項
-
-m
:自動創建用戶的主目錄(默認路徑為/home/username
)。 -
-d
:指定用戶的主目錄。 -
-s
:指定用戶的登錄 Shell。 -
-g
:指定用戶的初始用戶組。 -
-G
:指定用戶的附加用戶組。 -
-c
:添加用戶注釋信息。
-
-
示例
useradd -m -s /bin/bash -g developers -G admins,users -c "John Doe" johndoe
這條命令創建了一個名為
johndoe
的用戶,主目錄為/home/johndoe
,登錄 Shell 為/bin/bash
,初始用戶組為developers
,附加用戶組為admins
和users
,注釋信息為John Doe
。
(二)刪除用戶:userdel
userdel
命令用于刪除用戶。
-
基本語法
userdel [選項] 用戶名
-
常用選項
-
-r
:同時刪除用戶的主目錄和郵件文件。
-
-
示例
userdel -r johndoe
這條命令刪除了用戶
johndoe
,并刪除其主目錄/home/johndoe
。
(三)修改用戶密碼:passwd
passwd
命令用于修改用戶密碼。
-
基本語法
passwd [用戶名]
-
說明
-
如果不指定用戶名,則默認修改當前登錄用戶的密碼。
-
系統會提示用戶輸入新密碼,并要求確認。
-
-
示例
passwd johndoe
這條命令會提示用戶輸入新的密碼,用于修改用戶
johndoe
的密碼。
三、用戶組管理命令
(一)添加用戶組:groupadd
groupadd
命令用于創建新的用戶組。
-
基本語法
groupadd [選項] 組名
-
常用選項
-
-g
:指定用戶組的 GID。
-
-
示例
groupadd -g 500 developers
這條命令創建了一個名為
developers
的用戶組,其 GID 為500
。
(二)刪除用戶組:groupdel
groupdel
命令用于刪除用戶組。
-
基本語法
groupdel 組名
-
示例
groupdel developers
這條命令刪除了名為
developers
的用戶組。
四、其他常用命令
(一)查看用戶和用戶組信息
-
查看用戶信息
id 用戶名
示例:
id johndoe
輸出類似:
uid=1001(johndoe) gid=1001(developers) groups=1001(developers),1002(admins),1003(users)
-
查看用戶組信息
getent group 組名
示例:
bash復制
getent group developers
輸出類似:
developers:x:1001:johndoe,alice
(二)修改用戶和用戶組信息
-
修改用戶信息
usermod [選項] 用戶名
示例:
usermod -aG admins johndoe
將用戶
johndoe
添加到admins
用戶組。 -
修改用戶組信息
groupmod [選項] 組名
示例:
groupmod -n newgroup oldgroup
將用戶組
oldgroup
重命名為newgroup
。