Ubuntu SELinux安全级别如何设置
小樊
35
2025-11-22 20:13:33
Ubuntu 设置 SELinux 安全级别
前置说明
- Ubuntu 默认不启用 SELinux,而是使用 AppArmor 作为默认强制访问控制(MAC)框架。若要在 Ubuntu 上使用 SELinux,需要手动安装并启用相关组件,且官方支持相对有限。对于生产环境强依赖 SELinux 的场景,优先考虑 RHEL/CentOS 等发行版。上述背景与注意事项请务必了解。
安装与启用步骤
- 安装必要软件包(含策略与工具):
- sudo apt update
- sudo apt install selinux-basics selinux-policy-default auditd setools selinux-policy-dev
- 激活 SELinux(设置启动参数并准备策略环境):
- 建议首次启用时先设为 Permissive(宽容) 模式,便于观察与排错,再切换到 Enforcing(强制)。
配置与切换安全级别
- 修改配置文件 /etc/selinux/config(永久生效):
- SELINUX=permissive | enforcing | disabled
- SELINUXTYPE=default | mls
- 临时切换模式(无需重启,仅在当前会话生效):
- 查看:getenforce
- 切换:sudo setenforce 0(Permissive)/ 1(Enforcing)
- 生效规则与重启:
- 在 Permissive ↔ Enforcing 之间切换通常可即时生效;
- 从 Disabled 切换到 Permissive/Enforcing 或反向切换,需要重启系统;
- 若从 Disabled 首次启用,建议创建 /.autorelabel 并重启,以触发文件系统安全上下文自动重标记:
- sudo touch /.autorelabel
- sudo reboot
- 验证状态:
模式选择与注意事项
- 模式含义与建议:
- Disabled:不加载 SELinux 策略,完全关闭;
- Permissive:记录违规但不阻断,适合上线前验证与排错;
- Enforcing:按策略强制阻断违规访问,适合已验证策略后的生产运行。
- 重要提示:
- 在 Ubuntu 上启用 SELinux 属于“可选增强”,功能与生态支持不如 RHEL/CentOS 完备;
- 若仅需 MAC 能力且追求稳定易用,可继续使用 AppArmor;
- 切换或首次启用前,务必做好数据备份,并在维护窗口操作,避免因策略问题导致服务异常。