Appearance
8. 用户与权限管理
本章节指导在 RHEL 8.10(主机名 ZSLinux)上使用 SecureCRT 进行用户和文件权限管理,配合 SecureFX 传输配置文件。内容涵盖用户管理(添加/修改/删除用户、组管理、sudo 配置)和文件权限管理(设置权限、更改所有者、特殊权限),全面实用,适合初学者快速掌握和运维人员日常维护。所有操作在 ZSLinux 环境中测试,确保实验一致性。
8.1 前提条件
- RHEL 8.10 已安装(参考第 1 章),主机名设置为
ZSLinux. - 使用 SecureCRT 登录(SSH2 协议,端口 2222,参考第 6 章).
- 使用 SecureFX 传输文件(SFTP 协议).
- 具有 root 或 sudo 权限.
8.2 用户管理
8.2.1 添加用户
- 创建用户并设置密码:bash
useradd -m testuser # 创建用户 testuser 并生成家目录 passwd testuser # 设置 testuser 的密码
8.2.2 修改用户
- 修改用户属性(如添加到组):bash
usermod -aG wheel testuser # 将 testuser 添加到 wheel 组(sudo 权限)
8.2.3 删除用户
- 删除用户及其家目录:bash
userdel -r testuser # 删除 testuser 及其家目录
8.2.4 管理组
- 创建组并添加用户:bash
groupadd devteam # 创建 devteam 组 usermod -aG devteam testuser # 将 testuser 添加到 devteam 组
8.2.5 配置 sudo 权限
- 编辑 sudo 配置文件:bash
visudo # 编辑 /etc/sudoers 文件 # 添加以下行以授予 testuser sudo 权限: testuser ALL=(ALL) ALL
8.3 文件权限管理
8.3.1 设置文件权限
- 创建测试文件:bash
touch /tmp/testfile.txt # 创建测试文件 - 设置权限(使用数字或符号表示法):bash
chmod 644 /tmp/testfile.txt # 设置文件权限为 rw-r--r-- chmod u+x /tmp/testfile.txt # 为文件拥有者添加执行权限
8.3.2 更改文件所有者
- 更改文件拥有者和组:bash
chown testuser /tmp/testfile.txt # 将文件拥有者改为 testuser chown testuser:devteam /tmp/testfile.txt # 将文件拥有者和组改为 testuser:devteam
8.3.3 配置特殊权限
- 设置
setuid(以拥有者权限运行可执行文件):bashchmod u+s /tmp/testfile.txt # 为 testfile.txt 设置 setuid - 设置
setgid(目录中新建文件继承组):bashmkdir /tmp/shareddir # 创建共享目录 chmod g+s /tmp/shareddir # 为 shareddir 设置 setgid - 设置粘滞位(限制目录中文件删除):bash
chmod o+t /tmp/shareddir # 为 shareddir 设置粘滞位
8.4 验证
- 检查用户信息:bash
id testuser # 查看 testuser 的用户和组信息 # 应显示 uid、gid 和 groups(包括 wheel、devteam) - 验证 sudo 权限:bash
su - testuser # 切换到 testuser sudo dnf update -y # 测试 sudo 权限 - 检查文件权限和所有者:bash
ls -l /tmp/testfile.txt # 查看文件权限和所有者 # 应显示 -rwxr--r-- testuser devteam ls -ld /tmp/shareddir # 查看目录权限 # 应显示 drwxr-xr-t(粘滞位)或 drwxr-sr-x(setgid) - 验证特殊权限:bash
touch /tmp/shareddir/newfile.txt # 在共享目录中创建文件 ls -l /tmp/shareddir/newfile.txt # 检查新文件的组 # 新文件应继承 devteam 组 - 常见问题:
- 用户无法登录:检查密码是否设置(
passwd)或 SSH 配置(参考第 6 章)。 - sudo 失败:确认用户是否在 wheel 组或
/etc/sudoers配置正确。 - 权限设置失败:检查是否具有 root 或 sudo 权限。
- 特殊权限无效:确认文件或目录是否为可执行文件或正确目录。
- 用户无法登录:检查密码是否设置(
8.5 实践任务
- 使用 SecureCRT 登录
ZSLinux,创建用户testuser并设置密码。 - 将
testuser添加到wheel和devteam组,配置 sudo 权限。 - 创建
/tmp/testfile.txt,设置权限为rw-r--r--,并更改拥有者为testuser:devteam. - 为
/tmp/shareddir设置setgid和粘滞位,验证新文件是否继承devteam组。
8.6 自测问题
- 问题:如何创建用户并设置密码?
- 答案:
useradd -m testuser创建用户,passwd testuser设置密码。
- 答案:
- 问题:如何设置文件权限为
rw-r--r--并更改所有者?- 答案:
chmod 644 文件名设置权限,chown testuser:devteam 文件名更改所有者。
- 答案:
- 问题:如何为目录设置粘滞位并验证?
- 答案:
chmod o+t 目录名,如chmod o+t /tmp/shareddir,然后检查ls -ld /tmp/shareddir.
- 答案:
