Ubuntu 默认不启用 SELinux,而是使用 AppArmor 作为默认 MAC(强制访问控制)机制,这主要源于历史、技术路线和社区决策等多方面原因:
因此从 Ubuntu 8.04 起,AppArmor 成为默认安全模块。
| 对比项 | AppArmor | SELinux |
|---|---|---|
| 配置方式 | 基于路径(path-based) | 基于标签(label-based) |
| 学习成本 | 低 | 高 |
| 管理复杂度 | 简单 | 复杂 |
| 默认策略 | 面向应用 | 面向系统整体 |
| 适合场景 | 桌面 / 通用服务器 | 高安全等级环境 |
Ubuntu 更重视易用性,AppArmor 对普通用户和开发者更“无感”。
sudo apt install selinux
但需修改 GRUB、SELinux 策略,并可能进入 permissive 模式调试。⚠️ 在 Ubuntu 上启用 SELinux 容易因策略不完整导致系统无法启动。
Ubuntu 默认无 SELinux,是因为它选择了一条“更易用、更低门槛”的安全路线,用 AppArmor 替代了 SELinux,而不是内核不支持。
如果你愿意,我也可以讲: