无法通过修改配置文件并重新启动来禁用 SELinux

无法通过修改配置文件并重新启动来禁用 SELinux

我正在尝试在虚拟环境中禁用 SELinux(因为我们使用的软件组件推荐它,而不是因为我想这样做)

我尝试将其状态设置为“禁用”/etc/selinux/config并重新启动,但与其他问题不同,重新启动后配置文件恢复为“强制”,在我的情况下,文件已成功修改,但 SELinux 仍处于强制状态。是否有其他我可以忽略的设置,导致 SELinux 不反映配置文件状态?

更新:setenforce 0在虚拟实例上使用并重新启动正确禁用 SELinux。然而,在我们的构建过程中(应禁用 SELinux),setenforce 0仅将 SELinux 切换为“宽容”。更奇怪的是,只需编辑配置文件就可以工作,直到添加新代码以在重新启动之前禁用 SWAP。

答案1

编辑配置文件后,您是否重新创建了 initramfs/initrd 文件和/或 GRUB 配置文件?您的构建过程中可能已经有其他一些步骤作为副作用之前为您执行此操作。

如果 initramfs 中有一个旧副本/etc/selinux/config写着“enforcing”,那么内核一启动就会执行此操作;当根文件系统被挂载并且系统看到当前最新的/etc/selinux/config文件时,就为时已晚了。

例如,在 RHEL 8 中,/etc/selinux/config会检查/lib/dracut/modules.d/98selinux/selinux-loadpolicy.sh包含在 initramfs 中的状态。

相关内容