温馨提示×

centos selinux如何进行权限管理

小樊
74
2025-09-07 16:49:46
栏目: 智能运维

CentOS中通过SELinux进行权限管理,核心是安全上下文+策略规则,以下是关键操作:

一、基础权限管理

  1. 查看安全上下文

    • 查看文件/目录:ls -Z /path
    • 查看进程:ps -Z
  2. 修改安全上下文

    • 临时修改(重启失效):chcon -t <类型> /path(如chcon -t httpd_sys_content_t /var/www
    • 永久修改:
      • 先用semanage fcontext -a -t<类型> "<文件路径>"添加规则
      • 再执行restorecon -Rv /path恢复上下文

二、策略配置与管理

  1. 切换运行模式

    • 临时切换:setenforce 1(强制模式)/ 0(宽容模式)
    • 永久切换:编辑/etc/selinux/config,修改SELINUX=后重启
  2. 管理布尔规则

    • 查看可用规则:semanage boolean -l
    • 启用/禁用规则:setsebool -P <规则名> on/off(如setsebool -P httpd_can_network_connect 1
  3. 自定义策略模块

    • 生成规则:audit2allow -a > mypolicy.te(基于审计日志)
    • 编译加载:
      checkmodule -M -m -o mypolicy.mod mypolicy.te  
      semodule_package -o mypolicy.pp -m mypolicy.mod  
      semodule -i mypolicy.pp  
      

三、高级权限控制

  • 端口标签管理semanage port -a -t <端口类型> -p<协议> <端口号>(如semanage port -a -t http_port_t -p tcp 8080
  • 用户角色映射:通过semanage user管理用户与SELinux角色的关联

四、注意事项

  • 生产环境建议保持强制模式(Enforcing),避免关闭SELinux。
  • 操作前建议备份重要数据,复杂策略建议先在测试环境验证。

参考来源

0