RHCSA 系列:如何在 RHEL 7 中管理使用者和群組 – 第 3 部分

管理一個 RHEL 7 伺服器,就像管理任何其他 Linux 伺服器一樣,需要您知道如何新增、編輯、暫停或刪除使用者帳戶,並授予使用者對檔案、目錄和其他系統資源所需的權限,以執行其分配的任務。

RHCSA: User and Group Management – Part 3

管理使用者帳戶

要在 RHEL 7 伺服器上新增新的使用者帳戶,您可以以 root 身分執行以下兩個命令中的任一個:

# adduser [new_account]
# useradd [new_account]

當新增新的使用者帳戶時,預設會執行以下操作。

  1. 他/她的家目錄會被建立(/home/username,除非另有指定)。
  2. 這些 .bash_logout.bash_profile.bashrc 隱藏檔案會被複製到使用者的家目錄中,並將用於為他/她的使用者工作階段提供環境變數。您可以進一步探索每個檔案以獲取更多細節。
  3. A mail spool directory is created for the added user account.
  4. A group is created with the same name as the new user account.

完整的帳戶摘要存儲在 /etc/passwd 檔案中。該檔案保存每個系統使用者帳戶的記錄,格式如下(欄位由冒號分隔):

[username]:[x]:[UID]:[GID]:[Comment]:[Home directory]:[Default shell]
  1. 這兩個欄位 [username][Comment] 是自我解釋的。
  2. 第二個欄位 ‘x’ 表示該帳戶由陰影密碼(在 /etc/shadow 中)保護,用於以 [username] 登入。
  3. 欄位 [UID][GID] 是整數,顯示使用者識別和使用者所屬的主要群組識別,同樣屬於 [username]

最後,

  1. [家目錄] 顯示了[使用者名稱]的家目錄的絕對位置,而
  2. [預設殼層] 則是這個使用者登入系統時所使用的殼層。

另一個你必須熟悉的重要檔案是 /etc/group,其中存儲了群組資訊。與 /etc/passwd 一樣,每行都有一個記錄,並且它的字段也是用冒號分隔的:

[Group name]:[Group password]:[GID]:[Group members]

其中,

  1. [群組名稱] 是群組的名稱。
  2. 這個群組是否使用群組密碼?(“x” 表示不使用)
  3. [GID]:與 /etc/passwd 中的相同。
  4. [群組成員]:由逗號分隔的用戶列表,這些用戶是每個群組的成員。

在添加帳戶後,您可以隨時使用 usermod 編輯用戶帳戶資訊,其基本語法為:

# usermod [options] [username]

閱讀更多:
15個’useradd’命令示例
15個’usermod’命令示例

示例1: 設置帳戶的到期日期

如果您在一家有某种政策可以在一定时间间隔内启用帐户的公司工作,或者如果您想要在有限的时间内授予访问权限,您可以使用--expiredate标志,后跟YYYY-MM-DD格式的日期。要验证更改是否已应用,可以比较

# chage -l [username]

更新帐户到期日期之前和之后的输出,如下图所示。

Change User Account Information
示例2:将用户添加到附加组

除了向系统添加新用户帐户时创建的主要组之外,用户还可以使用组合-aG–append –groups选项,后跟逗号分隔的组列表,将用户添加到附加组中。

示例3:更改用户的主目录的默认位置和/或更改其shell

如果出于某种原因需要更改用户的主目录的默认位置(而不是/home/username),您需要使用-d–home选项,后跟新主目录的绝对路径。

如果用户想要使用除bash之外的其他shell(例如sh),该shell会被默认分配,使用usermod–shell标志,后跟新shell的路径。

示例4:显示用户是成员的组

将用户添加到附加组后,您可以验证它现在实际上属于这样的组:

# groups [username]
# id [username]

以下圖片描述範例24:

Adding User to Supplementary Group

在上面的範例中:

# usermod --append --groups gacanepa,users --home /tmp --shell /bin/sh tecmint

要從群組中刪除使用者,請在上述命令中省略--append開關,並在--groups標誌後列出您希望使用者屬於的群組。

範例5: 通過鎖定密碼來禁用帳戶

要禁用帳戶,您需要使用-L(小寫L)或–lock選項來鎖定使用者的密碼。這將阻止使用者能夠登錄。

範例6: 解鎖密碼

當您需要重新啟用使用者以便他能夠再次登錄到伺服器時,請使用-U–unlock選項來解鎖先前被封鎖的使用者密碼,如上述範例5所述。

# usermod --unlock tecmint

以下圖片說明範例56:

Lock Unlock User Account
範例7: 刪除群組或使用者帳戶

要刪除群組,您將使用groupdel,而要刪除使用者帳戶,您將使用userdel(如果您還想刪除其家目錄和郵件儲存,請添加–r開關):

# groupdel [group_name]        # Delete a group
# userdel -r [user_name]       # Remove user_name from the system, along with his/her home directory and mail spool

如果有group_name擁有的檔案,它們將不會被刪除,但群組擁有者將設置為已刪除的群組的GID

Source:
https://www.tecmint.com/rhcsa-exam-manage-users-and-groups/