温馨提示×

Ubuntu中SELinux如何禁用

小樊
47
2026-08-24 09:45:55
栏目: 智能运维

Ubuntu 中,SELinux 默认并未启用,Ubuntu 主要使用 AppArmor 作为安全模块。如果你是从其他发行版(如 RHEL、CentOS)迁移过来,或者手动启用了 SELinux,可以按以下方式确认和禁用。


一、确认 SELinux 是否已启用

getenforce

可能的结果:

  • Enforcing:已启用并强制执行
  • Permissive:已启用但仅记录不阻止
  • Disabled:已禁用

如果提示 command not found,说明 SELinux 未安装或未启用


二、临时禁用 SELinux(立即生效,重启后失效)

sudo setenforce 0

仅适用于当前运行环境,重启后恢复。


三、永久禁用 SELinux(推荐方式)

1️⃣ 编辑 SELinux 配置文件

sudo nano /etc/selinux/config

将内容修改为:

SELINUX=disabled
SELINUXTYPE=targeted

2️⃣ 重启系统

sudo reboot

重启后再次确认:

getenforce

应显示:

Disabled

四、如果 Ubuntu 中没有 /etc/selinux/config

说明 SELinux 未安装,Ubuntu 默认不包含它。

查看是否安装了 SELinux 相关包:

dpkg -l | grep selinux

若已安装但想彻底移除:

sudo apt remove selinux*

五、Ubuntu 的替代方案:AppArmor

Ubuntu 主要使用 AppArmor

sudo systemctl status apparmor

如果你是想关闭“安全模块”,更常见的是管理 AppArmor,而不是 SELinux。


六、常见误区

❌ Ubuntu 默认开启 SELinux
✅ Ubuntu 默认使用 AppArmor,SELinux 需手动安装

❌ 禁用 SELinux 一定能提升性能
✅ 除非明确冲突,否则不建议随意关闭安全模块


七、建议

  • 服务器环境:保持 AppArmor / SELinux 启用
  • 开发 / 测试环境:可按需关闭
  • Docker / K8s:注意安全模块对容器行为的影响

如果你是因为 某个服务启动失败 / 权限问题 想禁用 SELinux,可以把具体报错贴出来,我可以帮你判断是 SELinux、AppArmor 还是权限问题。

0