温馨提示×

centos selinux怎样测试

小樊
51
2025-08-28 16:29:53
栏目: 智能运维

在CentOS中测试SELinux可按以下步骤进行:

  1. 检查SELinux状态

    • 使用命令 getenforcesestatus 查看当前模式(Enforcing/Permissive/Disabled)。
    • 查看配置文件 /etc/selinux/config 确认默认模式。
  2. 测试访问控制

    • 创建测试文件并设置特定上下文:
      echo "test" > /tmp/testfile  
      sudo chcon -t httpd_sys_content_t /tmp/testfile  # 示例:设置为httpd可访问类型  
      
    • 尝试用不同用户/进程访问文件,观察是否被SELinux阻止。
  3. 查看SELinux日志

    • 使用 ausearch -m avc -ts recent 查看最近的拒绝日志。
    • 通过 audit2why 分析日志,获取拒绝原因及解决方案。
  4. 调整策略并验证

    • 临时修改布尔值(如允许服务访问网络):
      sudo setsebool -P httpd_can_network_connect on  # 示例:允许httpd联网  
      getsebool -a | grep httpd_can_network_connect  # 验证设置  
      
    • 若需自定义策略,用 audit2allow 生成模块并加载:
      sudo ausearch -m avc -ts recent > deny.log  
      sudo audit2allow -M mypolicy -i deny.log  
      sudo semodule -i mypolicy.pp  
      
  5. 切换模式测试

    • 临时切换为宽容模式(不阻止但记录):
      sudo setenforce 0  
      
    • 恢复强制模式:
      sudo setenforce 1  
      

注意:生产环境谨慎操作,建议提前备份配置文件,测试后及时恢复默认策略。

0