ubuntu

Ubuntu SELinux权限管理技巧

小樊
46
2025-09-14 18:28:54
栏目: 智能运维

以下是Ubuntu中SELinux权限管理的核心技巧,需先安装SELinux工具包(sudo apt install selinux-basics selinux-policy-default)并启用:

一、基础权限管理

  1. 查看SELinux状态
    sestatus  # 查看是否启用及模式(Enforcing/Permissive/Disabled)  
    
  2. 切换运行模式
    • 临时修改(重启后失效):
      sudo setenforce 0  # Permissive模式(仅记录违规,不阻止)  
      sudo setenforce 1  # Enforcing模式(强制阻止违规)  
      
    • 永久修改:编辑/etc/selinux/config,设置SELINUX=模式,重启生效。

二、用户与进程权限

  1. 管理用户角色与上下文
    • 为用户分配角色(如user_r):
      sudo semanage login -a -s user_r username  # 将用户关联到角色  
      
    • 查看用户角色:
      sudo semanage login -l  # 列出用户及其角色  
      
  2. 限制进程访问
    • 为进程标记类型(如myapp_t):
      sudo semanage fcontext -a -t myapp_exec_t /path/to/myapp  # 标记可执行文件类型  
      sudo restorecon -v /path/to/myapp  # 应用上下文  
      
    • 通过策略限制进程权限(如仅允许访问特定目录):
      编写.te策略文件(如myapp_policy.te),使用allow规则定义访问权限,编译后加载。

三、文件与目录权限

  1. 设置安全上下文
    sudo chcon -t httpd_sys_content_t /var/www/html/index.html  # 临时修改文件上下文  
    sudo restorecon -Rv /var/www/html  # 递归恢复默认上下文  
    
  2. 自定义策略限制文件访问
    • 示例:限制/data目录仅允许db_t类型进程读写:
      1. 创建.te文件:
        policy_module(mydata_policy, 1.0)  
        type db_t;  
        type data_t;  
        allow db_t data_t:dir { read write };  
        
      2. 编译并加载策略:
        checkmodule -M -m -o mydata_policy.mod mydata_policy.te  
        semodule_package -o mydata_policy.pp -m mydata_policy.mod  
        sudo semodule -i mydata_policy.pp  
        
      3. 应用上下文:
        sudo semanage fcontext -a -t data_t "/data(/.*)?"  
        sudo restorecon -Rv /data    
        
        

四、高级技巧与工具

  1. 日志分析与策略调试
    • 查看拒绝日志:
      sudo ausearch -m avc -ts recent  # 显示最近的SELinux拒绝事件  
      sudo audit2why < /var/log/audit/audit.log  # 分析拒绝原因  
      
    • 自动生成策略(基于日志):
      sudo audit2allow -M mypolicy < /var/log/audit/audit.log  # 生成策略模块  
      sudo semodule -i mypolicy.pp  # 安装策略  
      
  2. 优化性能
    • 减少不必要的策略检查,通过setsebool调整布尔值(如关闭非必要服务的权限):
      sudo setsebool -P httpd_can_network_connect 0  # 禁止HTTP服务发起网络连接  
      
      

注意事项

参考来源

0
看了该问题的人还看了