CentOS Stream 8用户权限管理指南
导读:一 基础概念与最小权限原则 理解 Linux 三类基础权限:读 r、写 w、执行 x;对目录而言,执行权限 x 代表可进入与访问目录项。权限作用于三类主体:所有者 u、所属组 g、其他 o。 采用最小权限原则:只授予完成工作所必需的最小权...
一 基础概念与最小权限原则
- 理解 Linux 三类基础权限:读 r、写 w、执行 x;对目录而言,执行权限 x 代表可进入与访问目录项。权限作用于三类主体:所有者 u、所属组 g、其他 o。
- 采用最小权限原则:只授予完成工作所必需的最小权限;优先通过用户组集中管理同类权限,避免直接赋予广泛的 root 能力。
- 合理使用 sudo:以普通用户身份执行管理命令,保留操作可追溯性;避免共享 root 密码。
- 启用并正确配置 SELinux,在 DAC(传统权限)之外提供强制访问控制,降低被提权与横向移动风险。
- 定期审计与复核:清理不再使用的账号与组、收敛权限、检查异常登录与关键文件变更。
二 用户与用户组管理
- 常用命令速览
| 目标 | 命令示例 | 说明 |
|---|---|---|
| 创建用户并建家目录 | sudo useradd -m alice |
同时创建同名主组与 /home/alice |
| 创建系统账号 | sudo useradd -r appsvc |
用于服务,通常不建家目录 |
| 设置/修改密码 | sudo passwd alice |
交互设置口令 |
| 修改用户属性 | sudo usermod -aG devops alice |
将用户追加到 devops 附加组 |
| 修改登录 Shell | sudo usermod -s /sbin/nologin bob |
禁止交互登录(常用于服务账号) |
| 创建组 | sudo groupadd devops |
新建用户组 |
| 删除用户 | sudo userdel -r alice |
同时删除家目录与邮件假脱机文件 |
| 删除组 | sudo groupdel devops |
删除不再使用的组 |
- 查询与诊断
- 查看当前用户与组:
id、groups - 查看账户口令状态:
passwd -S alice - 锁定/解锁账户:
sudo passwd -l alice、sudo passwd -u alice - 查看系统账号与 UID 范围:
cat /etc/passwd | awk -F: '$3 == 0 { print $1,$3} '(排查多余 UID 0 账户)
- 查看当前用户与组:
三 文件与目录权限与所有权
- 基本操作
- 更改权限:
chmod 755 /opt/app(目录常用 755;文件常用 644) - 更改属主/属组:
sudo chown alice:devops /opt/app;递归:sudo chown -R alice:devops /opt/app - 仅改属组:
sudo chgrp devops /opt/app
- 更改权限:
- 默认权限与 umask
- 查看/设置:
umask(如umask 022表示新建文件默认不含组与其他写权限)
- 查看/设置:
- 特殊权限(谨慎使用)
- SUID/SGID:
chmod u+s /usr/bin/sudo、chmod g+s /var/www - Sticky Bit(目录防误删):
chmod +t /tmp
- SUID/SGID:
- 权限位速查
- 目录:读(列出)、写(创建/删除)、执行(进入)
- 文件:读(查看)、写(修改)、执行(运行程序/脚本)
四 提升权限与 sudo 精细化控制
- 将用户加入 wheel 组以获得 sudo 能力(推荐方式)
sudo usermod -aG wheel alice- 验证:
groups alice或sudo -l
- 使用 visudo 编辑 /etc/sudoers(避免直接编辑)
- 允许某用户执行全部命令:
alice ALL=(ALL) ALL - 免密执行特定命令:
alice ALL=(ALL) NOPASSWD: /usr/bin/systemctl restart nginx, /usr/bin/backup.sh - 仅允许以某用户身份执行:
alice ALL=(appuser) /usr/bin/systemctl status myapp
- 允许某用户执行全部命令:
- 日志与审计
- sudo 命令会写入日志(通常位于 /var/log/secure),便于追溯。
五 密码策略 账户安全与审计
- 密码策略与口令文件
- 复杂度:口令应包含大小写字母、数字、特殊字符,长度≥10 位
- 策略参数:在 /etc/login.defs 设置
PASS_MIN_LEN 10等 - 检查空口令:
sudo awk -F: '($2 == "" || $2 == "!") { print $1} ' /etc/shadow - 保护关键文件:
sudo chattr +i /etc/passwd /etc/shadow /etc/group /etc/gshadow(变更前务必评估维护影响)
- 账户生命周期管理
- 交互式修改:
sudo passwd alice - 精细化策略:
sudo chage -m 2 -M 30 -W 7 alice(最小间隔 2 天、最大 30 天、过期前 7 天提醒)
- 交互式修改:
- 审计与系统加固
- 安装并启用审计:
sudo dnf install -y audit & & sudo systemctl enable --now auditd - 文件访问审计示例:
sudo auditctl -w /var/www -p wa -k web_data_access(持久化需写入规则文件) - 定期更新:
sudo dnf update;可配置 dnf-automatic 自动安装安全更新 - 安全提示:不建议直接关闭 SELinux 或停用防火墙来“解决权限问题”,应通过正确的 SELinux 策略与最小权限配置来达成目标
- 安装并启用审计:
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: CentOS Stream 8用户权限管理指南
本文地址: https://pptw.com/jishu/787976.html
