介绍
本地用户和组管理是 Linux 管理员学习的首要身份管理任务之一。RHCSA 风格的工作要求你能够检查账户记录、创建用户和组、调整组成员身份、修改账户元数据,并安全地删除临时账户。
在本实验中,你将仅创建临时本地身份:rhcsauser、rhcsaops 和 rhcsaaudit。你不会修改 labex 账户、SSH 配置、密码或登录访问权限。最后一步将删除临时用户和一个临时组,以确保系统保持整洁。
检查现有的本地身份记录
在这一步中,你将在创建新记录之前检查现有的本地身份记录。getent 会查询配置的名称服务数据库,因此它适用于本地文件和其他身份源。id 命令显示用户的数字身份和组成员身份。
进入标准的 LabEx 项目目录。
cd /home/labex/project
检查现有的 labex 账户记录。
getent passwd labex
输出内容以冒号分隔。第一个字段是登录名,后续字段包括数字 UID、主 GID、主目录和登录 Shell。
检查 labex 当前的组成员身份。
id labex
检查 labex 当前的主组记录。
getent group labex
这些命令均为只读操作。它们为你创建临时练习身份提供了一个基准。
创建本地组和用户
在这一步中,你将创建一个本地组和一个本地用户。先创建组,这样在创建账户时就可以将其指定为用户的主组。
为练习用户创建主组。
sudo groupadd rhcsaops
创建 rhcsauser,指定主目录、Bash 作为登录 Shell,并将 rhcsaops 作为主组。在 useradd 中,-m 用于创建主目录,-g 用于设置主组,-s 用于设置登录 Shell。
sudo useradd -m -g rhcsaops -s /bin/bash rhcsauser
检查新账户记录。
getent passwd rhcsauser
检查新用户的身份和组成员身份。
id rhcsauser
列出 useradd -m 创建的主目录。
sudo ls -ld /home/rhcsauser
添加附加组
在这一步中,你将添加一个附加组。用户只能有一个主组,但也可以属于其他组以获得共享访问权限。
创建一个名为 rhcsaaudit 的第二个组。
sudo groupadd rhcsaaudit
将 rhcsauser 添加到附加组 rhcsaaudit 中。-aG 选项表示追加到附加组列表。使用 -a 配合 -G 可以确保不会意外替换现有的附加组。
sudo usermod -aG rhcsaaudit rhcsauser
检查用户的组信息。
id rhcsauser
检查审计组记录。组行应列出 rhcsauser 作为成员。
getent group rhcsaaudit
修改账户元数据
在这一步中,你将修改账户元数据,而不更改密码状态。密码老化和账户锁定将在后续内容中介绍,因此本步骤重点关注注释字段和登录 Shell。
为练习用户设置描述性注释。-c 选项用于更新 GECOS/注释字段。
sudo usermod -c "RHCSA Practice User" rhcsauser
将登录 Shell 更改为 /bin/sh。-s 选项用于更新账户记录中的 Shell 字段。
sudo usermod -s /bin/sh rhcsauser
检查更新后的账户记录。
getent passwd rhcsauser
仅使用 chage -l 查看密码老化详情。在本实验中不要更改密码老化设置;那是下一个引导式实验的内容。
sudo chage -l rhcsauser
删除临时本地身份
在这一步中,你将删除临时用户和一个临时组。清理工作是身份管理的一部分,因为不应在系统上保留未使用的账户和组。
删除练习用户及其主目录。-r 选项会在支持的情况下删除用户的主目录和邮件池。
sudo userdel -r rhcsauser
删除附加的审计组。
sudo groupdel rhcsaaudit
确认用户已被删除。当记录不存在时,getent 会返回非零退出状态,因此 && echo 仅在查找失败(符合预期)时才会打印信息。
getent passwd rhcsauser >/dev/null || echo "rhcsauser removed"
确认审计组已被删除。
getent group rhcsaaudit >/dev/null || echo "rhcsaaudit removed"
保留 rhcsaops 以供检查。它现在是一个空的本地组。
getent group rhcsaops
总结
你练习了为 RHCSA 准备的本地用户和组管理。你检查了现有的身份记录,创建了主组和本地用户,添加了附加组,修改了账户元数据,在不更改的情况下检查了密码老化信息,并安全地删除了临时身份。



