在 Ubuntu 上,SELinux 默认是不启用甚至经常“启动失败”的,这是“正常现象”,不是常规配置问题。下面分点说明原因和解决办法。
✅ 结果:
sestatus 显示 SELinux status: disabledselinuxfs 挂载失败Ubuntu 官方内核:
security=selinux查看:
cat /boot/config-$(uname -r) | grep SELINUX
如果看到:
# CONFIG_SECURITY_SELINUX is not set
说明内核不支持。
SELinux 需要内核参数:
security=selinux selinux=1
Ubuntu 默认是:
security=apparmor
即使内核支持:
selinux 标签permissiveUbuntu 的 systemd 默认按 AppArmor 设计,SELinux 策略不完整时常导致:
/sys/fs/selinuxsestatus
常见结果:
disabled → 根本没启用permissive → 启用了但没强制enforcing → 成功(Ubuntu 很少见)⚠️ 官方不建议在 Ubuntu 上使用 SELinux
sudo apt install selinux selinux-basics selinux-policy-default
sudo selinux-activate
sudo nano /etc/default/grub
改成:
GRUB_CMDLINE_LINUX="selinux=1 security=selinux"
然后:
sudo update-grub
sudo reboot
✅ 如果你只是想要“强制访问控制”
✅ 如果你必须用 SELinux
Ubuntu 上 SELinux 启动失败,不是你配置错了,而是 Ubuntu 本来就不是为 SELinux 设计的。
如果你愿意,可以告诉我:
我可以给你最合适的具体方案。