Cómo desactivar SELinux en CentOS 7
En más de una ocasión nos hemos preguntado cómo desactivar SELinux en CentOS 7, ya que la mayoría de usuarios de CentOS 7 se han encontrado en alguna ocasón luchando con errores o comportamientos extraños a la hora de configurar servicios y aplicaciones debido a SELinux.
También es cierto que muchos usuarios dejan activada la opción de SELinux durante la instalación de CentOS 7 de forma inadvertida.
Aquí te ayudamos a desactivar SELinux en CentOS 7 de forma puntual o permanente, según tus necesidades.
Cómo comprobar el estado de SELinux en CentOS 7
Para comprobar el estado de SELinux en CentOS 7 en cualquier momento basta usar el comando sestatus:
~$ 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: 31
En la primera línea podremos ver el estado de SELinux que, en este caso, está activo.
Con el comando getenforce podremos ver en qué modo está funcionando SELinux:
~$ getenforce Enforcing
Cómo desactivar SELinux en CentOS 7 momentáneamente
Para desactivar SELinux en CentOS 7 de forma momentánea usaremos el comando setenforce:
~$ sudo setenforce 0
Podemos comprobar el estado de SELinux con sestatus o getenforce:
~$ getenforce Permissive
En el modo permissive SELinux no bloquea las acciones, sólo emite alertas.
Este cambio no es permanente, de modo que en el siguiente inicio de CentOS 7 SELinux volverá a activarse de acuerdo con su configuración.
En cualquier momento podemos activar de nuevo SELinux o, mejor dicho, cambiar el modo de SELinux a enforcing mediante el comando setenforce:
~$ sudo setenforce 1 ~$ getenforce Enforcing
Cómo desactivar SELinux en CentOS 7 permanentemente
Para desactivar SELinux por completo es necesario editar el archivo /etc/selinux/config:
~$ sudo nano /etc/selinux/config
Buscaremos la directiva SELINUX:
# 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=enforcing
Y cambiaremos el valor a disabled:
SELINUX=disabled
Una vez guardados los cambios es necesario reiniciar CentOS 7. Una vez iniciado el sistema de nuevo podemos comprobar el nuevo estado de SELinux:
~$ getenforce Disabled
Conclusión
Ahora ya sabes cómo desactivar SELinux en CentOS 7 de forma puntual si necesitas depurar algún problema o de forma permanente si no necesitas la seguridad extendida.