¿Cómo deshabilitar SELinux sin reiniciar?

50

Necesito desactivar SELinux pero no puedo reiniciar la máquina

Seguí este enlace donde obtengo el siguiente comando

setenforce 0

Pero después de ejecutar este comando, busqué eso

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

¿Hay alguna otra opción?

Vikas Hardia
fuente
44
setenforce 0<- lo ejecutaste desde root o con sudo?
UVV
1
@UVV sí, estoy haciendo todo esto desde la raíz
Vikas Hardia

Respuestas:

59

sestatusmuestra el modo actual como permissive.

En permissivemodo, SELinux no bloqueará nada, sino que simplemente lo advertirá. La línea se mostrará enforcingcuando en realidad esté bloqueando.

No creo que sea posible desactivar completamente SELinux sin reiniciar.

garethTheRed
fuente
1
Creo que puede deshabilitarlo sin reiniciar editando directamente el archivo / etc / selinux / config y configurando SELINUX = disabled
dmohr el
1
@dmohr: si lee este documento de Centos, le indica que solo funciona en el próximo reinicio.
garethTheRed
12

Deshabilitar SELinuxsin reiniciar no es posible. Pero supongo que hacerlo en permissivemodo satisfará tus requisitos.

La salida de sestatusshows SELinuxestá habilitada pero también muestra que está en Permissivemodo, que es lo que acabas de hacer con el setenforcecomando.

principiante
fuente
10

En CentOS 7:

echo 0 > /sys/fs/selinux/enforce
rsnow
fuente
2
fwiw, esto no funcionó para mí, 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

Al momento de escribir, lo que OP hizo debería funcionar. En 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

Como el usuario no funciona.

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

Como root, lo hace:

[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

Lo mismo se aplica a CentOS 7 y RedHat EL 7: funciona sin reiniciar.

Janos Feher
fuente
4

La mejor manera de deshabilitar selinux es mediante el siguiente comando:

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

O

  1. vi /etc/sysconfig/selinuxestablecer selinux=disabled

O

  1. set enforce 0 sestatus

Aunque en ciertos casos será necesario reiniciar.

Divyani Singh
fuente
3

Para CentOS 6 (no 7):

echo 0 > /selinux/enforce
usuario169151
fuente
1
No funciona en centos 7. Solo funciona en centos 6 y menores
shreddd
1
Esta respuesta es correcta para los centos 6. Por favor verifique antes de votar.
ora-600