我有一些系统,出于各种原因,我们想完全禁用 selinux。到目前为止,这种方法效果很好,在 kickstart 中始终使用 selinux=0,并确保 /etc/sysconfig/selinux 包含:
SELINUX=disabled
但截至今天,我有一个正确设置的 Fedora 17 工作站,但经过多次重启后,它总是进入强制模式:
# cat /etc/sysconfig/selinux
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - No SELinux policy is loaded.
SELINUX=disabled
# SELINUXTYPE= can take one of these two values:
# targeted - Targeted processes are protected,
# minimum - Modification of targeted policy. Only selected processes are protected.
# mls - Multi Level Security protection.
SELINUXTYPE=targeted
# getenforce
Enforcing
什么原因导致 selinux 忽略 sysconfig 条目,或者尽管有它仍然启动?
[编辑1]
我在这里看到了一个相关的问题并尝试了这个:
# selinuxenabled ; echo $?
0
# getenforce
Enforcing
答案1
实际的配置文件是/etc/sellinux/config至在/etc/sysconfig/selinux中链接。看来你可能丢失了链接,最终只剩下一个普通文件。
确认:
# ls -l /etc/sysconfig/selinux
lrwxrwxrwx. 1 root root 17 Dec 22 18:59 /etc/sysconfig/selinux -> ../selinux/config
或检查内容在/etc/selinux/配置
答案2
运行 CentOS 8,我使用这个脚本:
sed -i "s/SELINUX=.*/SELINUX=disabled/" /etc/selinux/config
基本上,你希望 SELinux 配置文件具有此设置
|在/etc/selinux/配置:
...如果...
SELINUX=enabled
...改成...
SELINUX=disabled
虽然sudo setenforce 0
会暂时将其设置为“允许”,但更改配置文件将永久将其设置为“禁用”。