CentOS中修复SELinux漏洞的核心步骤如下:
查看状态与日志
sestatus确认SELinux是否启用及模式(Enforcing/Permissive/Disabled)。sudo ausearch -m avc -ts recent查看/var/log/audit/audit.log,定位被拦截的操作及原因。临时规避(调试用)
sudo setenforce 0将模式设为Permissive(仅记录违规,不拦截),重启后恢复默认。修复策略问题
sudo chcon -t 目标类型 /path/to/file(如httpd_sys_content_t)。sudo semanage fcontext -a -t 目标类型 "/path/to/file(/.*)?",再执行sudo restorecon -Rv /path/to/file。audit2allow工具根据日志生成模块:sudo ausearch -c '命令' --raw | audit2allow -M 模块名,然后sudo semodule -i 模块名.pp。更新系统策略
sudo yum update selinux-policy*更新策略包,确保规则为最新。sudo restorecon -Rv /重新加载文件上下文。永久模式调整(谨慎操作)
/etc/selinux/config,将SELINUX=enforcing改为permissive或disabled,重启生效。关键提醒:操作前备份重要数据,优先在测试环境验证策略修改,避免误操作导致系统不稳定。如需进一步帮助,可参考SELinux官方文档或社区论坛。