首页主机资讯CentOS Stream 8的用户权限如何设置

CentOS Stream 8的用户权限如何设置

时间2025-10-30 09:24:04发布访客分类主机资讯浏览1103
导读:CentOS Stream 8用户权限设置指南 在CentOS Stream 8中,用户权限管理是保障系统安全的核心环节,需遵循最小权限原则,通过用户/组管理、文件权限控制、sudo权限限制及SELinux等多维度实现。以下是具体操作步骤:...

CentOS Stream 8用户权限设置指南

在CentOS Stream 8中,用户权限管理是保障系统安全的核心环节,需遵循最小权限原则,通过用户/组管理、文件权限控制、sudo权限限制及SELinux等多维度实现。以下是具体操作步骤:

一、用户与用户组管理

用户权限的基础是合理划分用户和组。通过以下命令完成基础管理:

  • 创建用户:使用useradd命令创建新用户(-m选项自动创建家目录)。
    sudo useradd -m newuser
    
  • 设置用户密码:通过passwd命令为用户设置初始密码(需符合复杂度要求)。
    sudo passwd newuser
    
  • 修改用户所属组:使用usermod命令将用户添加到指定组(-aG表示追加到附加组,避免移除原有组)。
    sudo usermod -aG developers newuser  # 将newuser添加到developers组
    
  • 创建用户组:使用groupadd命令创建新组。
    sudo groupadd admins
    
  • 删除用户/组:使用userdel-r选项同时删除家目录)和groupdel命令。
    sudo userdel -r olduser  # 删除用户及家目录
    sudo groupdel oldgroup   # 删除组
    

二、文件与目录权限管理

文件权限决定了用户对资源的访问能力,需通过以下命令调整:

  • 查看权限:使用ls -l命令查看文件/目录的权限、所有者及组信息。
    ls -l /path/to/file  # 示例输出:-rw-r--r-- 1 user group 0 Oct 30 10:00 file
    
  • 修改权限(数字表示法):用三位八进制数表示用户(u)、组(g)、其他用户(o)的权限(4=读、2=写、1=执行)。
    sudo chmod 755 /path/to/directory  # 所有者:rwx(7),组:r-x(5),其他:r-x(5)
    sudo chmod 640 /path/to/config.conf  # 所有者:rw-(6),组:r--(4),其他:---(0)
    
  • 修改权限(符号表示法):针对特定用户/组调整权限。
    sudo chmod u+x script.sh  # 给所有者添加执行权限
    sudo chmod g-w data.txt   # 移除组的写权限
    sudo chmod o=r report.pdf # 给其他用户只读权限
    
  • 修改所有者/组:使用chown(修改所有者)和chgrp(修改组)命令。
    sudo chown newuser:newgroup /path/to/file  # 同时修改所有者和组
    sudo chown root /path/to/systemfile        # 仅修改所有者
    sudo chgrp developers /path/to/project     # 仅修改组
    
  • 特殊权限
    • SUID:使文件执行时具备所有者权限(如passwd命令)。
      sudo chmod u+s /usr/bin/find  # 设置SUID
      
    • SGID:使目录下新建文件继承目录的组(或文件执行时具备组权限)。
      sudo chmod g+s /var/www/html  # 设置SGID
      
    • 粘滞位:防止非所有者删除目录中的文件(如/tmp)。
      sudo chmod +t /shared/tmp     # 设置粘滞位
      

三、ACL(访问控制列表)

传统权限无法满足细粒度需求时,可使用ACL为特定用户/组分配权限:

  • 安装ACL工具(若未安装):
    sudo yum install acl -y
    
  • 查看ACL:使用getfacl命令查看文件/目录的ACL规则。
    getfacl /path/to/file
    
  • 设置ACL
    • 给用户添加权限:
      sudo setfacl -m u:alice:rwx /path/to/project  # 允许alice读写执行
      
    • 给组添加权限:
      sudo setfacl -m g:devs:r-x /path/to/code      # 允许devs组读执行
      
    • 删除用户权限:
      sudo setfacl -x u:bob /path/to/file           # 移除bob的权限
      

四、sudo权限配置

限制普通用户使用sudo执行管理员命令,降低root账户滥用风险:

  • 将用户加入sudo组:默认情况下,wheel组的用户可使用sudo。
    sudo usermod -aG wheel newuser  # 将newuser添加到wheel组
    
  • 自定义sudo权限:使用visudo命令编辑/etc/sudoers文件(避免语法错误),添加以下内容:
    • 允许用户执行所有命令(不推荐):
      newuser ALL=(ALL) ALL
      
    • 限制用户仅能执行特定命令(推荐):
      alice ALL=(ALL) NOPASSWD: /usr/bin/systemctl restart apache2, /usr/bin/apt update
      

    注:NOPASSWD表示执行指定命令时无需输入密码,需谨慎使用。

五、SELinux配置(可选但推荐)

SELinux提供强制访问控制(MAC),进一步增强权限安全性:

  • 检查SELinux状态
    sestatus  # 显示SELinux是否启用(Enforcing/Permissive/Disabled)
    
  • 临时调整SELinux模式
    sudo setenforce 0  # 临时设置为Permissive模式(不阻止违规操作,仅记录日志)
    
  • 永久修改SELinux模式:编辑/etc/selinux/config文件,将SELINUX=enforcing改为SELinux=permissive(测试环境)或disabled(生产环境需谨慎)。
  • 管理SELinux上下文:若文件权限不符合SELinux策略,可使用以下命令修复:
    sudo semanage fcontext -a -t httpd_sys_rw_content_t "/var/www/html(/.*)?"  # 添加自定义上下文
    sudo restorecon -Rv /var/www/html  # 恢复默认上下文
    

六、用户口令策略

强化口令安全性,降低账户被破解风险:

  • 设置复杂口令:要求用户使用包含大小写字母、数字和特殊字符(如@#%)的口令,长度≥10位。
  • 检查空口令账号:使用awk命令查找/etc/shadow中的空口令账户(第二字段为空),并强制设置口令。
    awk -F: '($2 == "") {
    print $1}
        ' /etc/shadow  # 列出空口令账户
    sudo passwd emptyuser  # 为emptyuser设置口令
    
  • 保护口令文件:使用chattr命令将/etc/shadow设为不可修改(防止非授权删除或修改)。
    sudo chattr +i /etc/shadow  # 锁定文件
    sudo chattr -i /etc/shadow  # 解锁文件(需修改时)
    

通过以上步骤,可实现CentOS Stream 8用户权限的精细化管理。需定期审计权限设置(如使用auditd监控文件访问),确保符合最小权限原则。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: CentOS Stream 8的用户权限如何设置
本文地址: https://pptw.com/jishu/738574.html
CentOS Stream 8的软件包管理怎么做 CentOS Stream 8的内存管理如何

游客 回复需填写必要信息