En algunas distribuciones de Linux, SELinux está habilitado de forma predeterminada, lo que puede causar algunos problemas no deseados, si no lo hace. Comprender cómo funciona SELinux y los detalles fundamentales sobre cómo configurarlo. Le recomiendo encarecidamente que comprenda SELinux y lo implemente en su entorno. Pero, hasta que comprenda los detalles de implementación de SELinux, es posible que desee desactivarlo para evitar algunos problemas innecesarios.
Para deshabilitar SELinux puede usar cualquiera de los 4 métodos diferentes mencionados en este artículo.
SELinux aplicará políticas de seguridad, incluidos los controles de acceso obligatorios definidos por el Departamento de Defensa de EE. UU., utilizando el módulo de seguridad de Linux (LSM) definido en el núcleo de Linux. Todos los archivos y procesos del sistema se etiquetarán con etiquetas específicas que utilizará SELinux. Puede usar ls -Z y ver esas etiquetas como se muestra a continuación.
# ls -Z /etc/ -rw-r--r-- root root system_u:object_r:etc_t:s0 a2ps.cfg -rw-r--r-- root root system_u:object_r:adjtime_t:s0 adjtime -rw-r--r-- root root system_u:object_r:etc_aliases_t:s0 aliases drwxr-x--- root root system_u:object_r:auditd_etc_t:s0 audit drwxr-xr-x root root system_u:object_r:etc_runtime_t:s0 blkid drwxr-xr-x root root system_u:object_r:bluetooth_conf_t:s0 bluetooth drwx------ root root system_u:object_r:system_cron_spool_t:s0 cron.d -rw-rw-r-- root disk system_u:object_r:amanda_dumpdates_t:s0 dumpdates
Método 1:deshabilitar SELinux temporalmente
Para deshabilitar SELinux temporalmente, debe modificar el archivo /selinux/enforce como se muestra a continuación. Tenga en cuenta que esta configuración desaparecerá después de reiniciar el sistema.
# cat /selinux/enforce 1 # echo 0 > /selinux/enforce # cat /selinux/enforce 0
También puede usar el comando setenforce como se muestra a continuación para deshabilitar SELinux. Los parámetros posibles para establecer comandos de fuerza son:Enforcing , Permissive, 1 (habilitar) o 0 (deshabilitar).
# setenforce 0
Método 2:deshabilitar SELinux de forma permanente
Para deshabilitar SELinux de forma permanente, modifique /etc/selinux/config y configure SELINUX=disabled como se muestra a continuación. Una vez que realice cualquier cambio en /etc/selinux/config, reinicie el servidor para que se consideren los cambios.
# cat /etc/selinux/config SELINUX=disabled SELINUXTYPE=targeted SETLOCALDEFS=0
Los siguientes son los valores posibles para SELINUX variable en /etc/selinux/config archivo
- hacer cumplir – La política de seguridad siempre se aplica
- permisivo – Esto solo simula la aplicación de la política al imprimir solo mensajes de advertencia y no aplicar realmente SELinux. Esto es bueno para ver primero cómo funciona SELinux y luego averiguar qué políticas se deben aplicar.
- deshabilitado – Deshabilitar completamente SELinux
Los siguientes son los valores posibles para SELINUXTYPE variable en /etc/selinux/config expediente. Esto indica el tipo de políticas que se pueden usar para SELinux.
- dirigido – Esta política protegerá solo demonios de red específicos.
- estricto – Esto es para la máxima protección de SELinux.
Método 3:deshabilite SELinux desde el cargador de arranque Grub
Si no puede ubicar el archivo /etc/selinux/config en su sistema, puede desactivar SELinux pasándolo como parámetro al cargador de arranque Grub como se muestra a continuación.
# cat /boot/grub/grub.conf default=0 timeout=5 splashimage=(hd0,0)/boot/grub/splash.xpm.gz hiddenmenu title Enterprise Linux Enterprise Linux Server (2.6.18-92.el5PAE) root (hd0,0) kernel /boot/vmlinuz-2.6.18-92.el5PAE ro root=LABEL=/ rhgb quiet selinux=0 initrd /boot/initrd-2.6.18-92.el5PAE.img title Enterprise Linux Enterprise Linux Server (2.6.18-92.el5) root (hd0,0) kernel /boot/vmlinuz-2.6.18-92.el5 ro root=LABEL=/ rhgb quiet selinux=0 initrd /boot/initrd-2.6.18-92.el5.img
Método 4:Deshabilitar solo un servicio específico en SELinux:HTTP/Apache
Si no está interesado en deshabilitar todo SELinux, también puede deshabilitar SELinux solo para un servicio específico. Por ejemplo, deshabilite SELinux para el servicio HTTP/Apache, modifique httpd_disable_trans variable en /etc/selinux/targeted/booleans archivo.
Establezca la variable httpd_disable_trans en 1 como se muestra a continuación.
# grep httpd /etc/selinux/targeted/booleans httpd_builtin_scripting=1 httpd_disable_trans=1 httpd_enable_cgi=1 httpd_enable_homedirs=1 httpd_ssi_exec=1 httpd_tty_comm=0 httpd_unified=1
Establezca el valor booleano de SELinux usando el comando setsebool como se muestra a continuación. Asegúrese de reiniciar el servicio HTTP después de este cambio.
# setsebool httpd_disable_trans 1 # service httpd restart