在 Ubuntu 上配置 SELinux 需要注意一点:Ubuntu 默认使用的是 AppArmor,而不是 SELinux。SELinux 主要在 RHEL / CentOS / Fedora 中使用。不过 Ubuntu 仍然可以安装并启用 SELinux。
下面是从 安装 → 配置 → 启用 → 管理 的完整流程。
getenforce
如果提示命令不存在,说明 SELinux 未安装。
sudo apt update
sudo apt install selinux selinux-basics selinux-policy-default auditd -y
sudo selinux-activate
⚠️ 这一步会修改 GRUB 启动参数,请确保系统可重启。
编辑配置文件:
sudo nano /etc/selinux/config
示例内容:
SELINUX=enforcing
SELINUXTYPE=default
模式说明:
enforcing:强制模式(真正生效)permissive:仅记录不阻止(调试推荐)disabled:关闭✅ 建议第一次使用先设为 permissive
sudo reboot
重启后检查:
sestatus
getenforce
sestatus
sudo setenforce 0 # permissive
sudo setenforce 1 # enforcing
ls -Z
ps -Z
sudo semanage fcontext -a -t httpd_sys_content_t "/var/www(/.*)?"
sudo restorecon -Rv /var/www
sudo ausearch -m avc -ts recent
或使用:
sudo sealert -a /var/log/audit/audit.log
sudo audit2allow -a
sudo audit2allow -a -M mypolicy
sudo semodule -i mypolicy.pp
Ubuntu 默认启用 AppArmor,可能与 SELinux 冲突。
sudo systemctl disable apparmor
sudo reboot
✅ 适合:
❌ 不推荐:
如果你愿意,可以告诉我:
我可以给你 针对性配置方案。