SELinux在Ubuntu中的迁移指南
一、迁移目标与前置判断
sestatus、getenforcecat /etc/selinux/configsudo ausearch -m avc -ts recent、sudo aureport -m avc二、启用或迁移步骤
sudo apt-get updatesudo apt-get install selinux-basics selinux-policy-default auditd audispd-pluginssudo nano /etc/selinux/config,设置 SELINUX=permissive(宽容模式仅告警不阻断,便于排查)。sudo setenforce 0(若已是 permissive 可跳过)。sudo rebootsudo ausearch -m avc -ts recent、sudo aureport -m avc,逐项修复被拒绝的访问(文件上下文、端口、布尔值等)。semanage fcontext 持久化,再用 restorecon -Rv <path> 应用;临时调整可用 chcon(重启或策略重载后可能回退)。getsebool -a | grep <服务名> 查看,sudo setsebool -P <bool> on/off 永久生效(-P 为持久化)。/etc/selinux/config 为 SELINUX=enforcing,重启生效:sudo rebootsudo ausearch -m avc -ts recent、sudo aureport -m avc,必要时回退到 permissive 继续排障。三、迁移后验证与常见问题
getenforce(应为 Enforcing)、sestatus(Loaded policy name、Current/Mode from config file 一致)。ausearch 定位 AVC,修复后 restorecon 并重启服务。sudo aa-status),必要时卸载或禁用相关 AppArmor 配置后再测。SELINUX=disabled 并重启),生产环境请评估安全影响后再变更。四、回滚与应急
sudo setenforce 0,并临时将 /etc/selinux/config 设为 SELINUX=permissive,重启后验证业务稳定。sudo nano /etc/selinux/config 设置 SELINUX=disabled 并重启;如需重新启用,必须再次重启且按“启用步骤”重做基线修复与策略调优。