如何在不重新启动的情况下禁用SELinux?


50

我需要禁用SELinux但无法重新启动计算机

我跟随这个链接,在这里我得到波纹管命令

setenforce 0

但是运行此命令后,我检查了

sestatus
SELinux status:                 enabled
SELinuxfs mount:                /selinux
Current mode:                   permissive
Mode from config file:          disabled
Policy version:                 24
Policy from config file:        targeted

还有其他选择吗?


4
setenforce 0<-您是从根目录运行还是通过它运行sudo
2014年

1
@UVV是的,我从根本上做到了这一切
Vikas Hardia 2014年

Answers:


59

sestatus将当前模式显示为permissive

permissive模式下,SELinux不会阻止任何东西,而只是警告您。该行将enforcing在实际被阻止时显示。

我不相信无需重新启动就可以完全禁用SELinux。


1
我认为您可以通过直接编辑/ etc / selinux / config文件并设置SELINUX = disabled来禁用它而无需重新启动
dmohr

1
@dmohr-如果您阅读此Centos文档,它会告诉您它仅在下次重新启动时有效。
garethTheRed

12

SELinux不重新启动就无法禁用。但是我想在permissive模式下进行将满足您的要求。

sestatusshows 的输出SELinux已启用,但也显示它处于Permissive模式,这是您刚刚使用setenforce命令所做的。


10

在CentOS 7上:

echo 0 > /sys/fs/selinux/enforce

2
首先,这对我不起作用,Centos 7.2:# sestatus SELinux status: enabled SELinuxfs mount: /sys/fs/selinux SELinux root directory: /etc/selinux Loaded policy name: targeted Current mode: permissive # echo 0 > /sys/fs/selinux/enforce # sestatus SELinux status: enabled SELinuxfs mount: /sys/fs/selinux SELinux root directory: /etc/selinux Loaded policy name: targeted
datakid

7

在撰写本文时,OP应当执行的工作。在Fedora 26上:

[aries@csibesz]$ sestatus
SELinux status:                 enabled
SELinuxfs mount:                /sys/fs/selinux
SELinux root directory:         /etc/selinux
Loaded policy name:             targeted
Current mode:                   enforcing
Mode from config file:          enforcing
Policy MLS status:              enabled
Policy deny_unknown status:     allowed
Max kernel policy version:      30

由于用户无法使用。

[aries@csibesz]$ setenforce 0
setenforce:  setenforce() failed

作为根,它可以:

[aries@csibesz]$ sudo setenforce 0
[aries@csibesz]$ sestatus
SELinux status:                 enabled
SELinuxfs mount:                /sys/fs/selinux
SELinux root directory:         /etc/selinux
Loaded policy name:             targeted
Current mode:                   permissive
Mode from config file:          enforcing
Policy MLS status:              enabled
Policy deny_unknown status:     allowed
Max kernel policy version:      30

同样适用于CentOS 7和RedHat EL 7:它无需重启即可工作。


4

禁用selinux的最佳方法是使用以下命令:

  1. sed -i 's/enforcing/disabled/g' /etc/selinux/config /etc/selinux/config

要么

  1. vi /etc/sysconfig/selinux,设定 selinux=disabled

要么

  1. set enforce 0 sestatus

尽管在某些情况下将需要重新启动。


3

对于CentOS 6(不是7):

echo 0 > /selinux/enforce

1
在centos 7上不起作用。仅在centos 6及以下版本上工作
shreddd '16

1
这个答案对centos 6是正确的。请在降低投票率之前仔细检查。
ora-600
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.