Ubuntu 上处理 SELinux 兼容性问题的实用方案
一、先选对安全模型
二、必须使用 SELinux 时的启用与兼容性要点
sudo apt update && sudo apt install selinux-basics selinux-policy-default auditdsudo selinux-activategetenforce / sestatussudo systemctl stop apparmor && sudo apt purge apparmor(按需执行,变更前请评估业务影响)。sudo setenforce 0,观察一段时间无异常后再切换为 Enforcing;如需永久生效,编辑 /etc/selinux/config 设置 SELINUX=permissive|enforcing 并重启。三、常见兼容性问题的快速排查与修复
sudo ausearch -m avc -ts recentsudo ausearch -m avc -ts recent | audit2whyls -Z /pathsudo restorecon -Rv /pathsudo semanage fcontext -a -t httpd_sys_content_t "/var/www/html(/.*)?" && sudo restorecon -Rv /var/www/htmlsudo semanage port -a -t http_port_t -p tcp 81getsebool httpd_enable_homedirs、sudo setsebool -P httpd_enable_homedirs 1make -f /usr/share/selinux/devel/Makefile && sudo semodule -i custom_policy.pp四、更稳妥的替代方案与回退路径
sudo setenforce 0SELINUX=disabled 并重启;如需彻底移除相关包,可在确认无业务影响后清理(谨慎操作)。注意关闭或移除安全模块会降低系统防护能力,仅在明确评估后执行。