温馨提示×

centos stream8用户权限设置

小樊
42
2026-01-07 23:10:39
栏目: 智能运维

CentOS Stream 8 用户权限设置实操指南

一 用户与用户组管理

  • 创建用户与家目录:sudo useradd -m username;设置密码:sudo passwd username
  • 创建组:sudo groupadd groupname
  • 将用户加入组:sudo usermod -aG groupname username(追加到附加组,避免覆盖原有组)。
  • 修改文件属主与属组:sudo chown owner:group /path;仅改属组:sudo chgrp group /path。
  • 常用查询:id username(查看所属组)、groups username、ls -l(查看权限与属主)。

二 文件与目录权限

  • 基本权限模型:三类权限对所有者/所属组/其他分别控制读r/写w/执行x;数字表示法如755(rwxr-xr-x)、644(rw-r–r–)、775(rwxrwxr-x)。
  • 常用命令:
    • 设置权限:sudo chmod 755 /path/to/dir;sudo chmod 644 /path/to/file。
    • 递归设置:sudo chmod -R 755 /path/to/dir(谨慎用于生产目录)。
    • 设置属主/属组:sudo chown -R user:group /path。
  • 目录执行位的意义:对目录而言,x 表示“可进入/可遍历”,缺少 x 将无法访问目录内文件。
  • 安全建议:遵循最小权限原则,仅开放必需权限;慎用setuid/setgid(sudo chmod +s),仅在确有必要时使用。

三 sudo 与提权控制

  • 推荐方式:将用户加入 wheel 组(RHEL/CentOS 系列默认允许 wheel 组成员通过 sudo 提权)。命令:sudo usermod -aG wheel username
  • 精细授权:
    • 编辑 sudoers 用 visudo:sudo visudo(语法检查,防止误改导致失权)。
    • 全部命令免密:在 /etc/sudoers 或 /etc/sudoers.d/username 中添加:
      username ALL=(ALL) NOPASSWD:ALL
    • 仅允许特定命令:
      username ALL=(ALL) NOPASSWD:/usr/bin/du,/usr/bin/ping
    • 通过文件管理授权(更易维护):echo “username ALL=(ALL) NOPASSWD:ALL” | sudo tee /etc/sudoers.d/username(权限建议 0440)。

四 登录与访问控制

  • 禁止 root 远程登录:编辑 /etc/ssh/sshd_config,设置 PermitRootLogin no,保存后重启服务:sudo systemctl restart sshd
  • 仅允许指定用户登录:AllowUsers user1@*(按需添加多个用户)。
  • 重要变更前先备份配置,并确保有控制台/带外方式可恢复,避免锁死。

五 SELinux 与审计加固

  • SELinux 管理:
    • 查看状态:getenforce(返回 Enforcing/Permissive/Disabled)。
    • 文件/目录上下文与策略:sudo semanage fcontext -a -t httpd_sys_rw_content_t “/path(/.*)?”;应用:sudo restorecon -Rv /path。
    • 生产环境不建议直接关闭 SELinux(编辑 /etc/selinux/config 将 SELINUX=disabled),应优先通过策略与上下文修正解决问题。
  • 审计与合规:
    • 安装并启用审计服务:sudo dnf install -y audit;sudo systemctl enable --now auditd
    • 按需添加审计规则(例如监控关键目录/命令),并定期检查日志(/var/log/audit/audit.log)。

0