RHCSA 系列:如何在 RHEL 7 中管理用户和组 – 第 3 部分

管理一个服务器,就像管理任何其他Linux服务器一样,都需要您知道如何添加、编辑、暂停或删除用户帐户,并授予用户对文件、目录和其他系统资源所需的权限,以执行其分配的任务。

RHCSA: User and Group Management – Part 3

管理用户帐户

要向服务器添加新用户帐户,您可以以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. [默认 shell]是用户登录系统时分配给该用户的 shell。

您必须熟悉的另一个重要文件是/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),可以使用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/