Esta publicación pretende orientar al usuario sobre el correcto uso de SELinux en servidores bajo la distribución CentOS de Linux, esto es debido a la inmensa cantidad de sitios que le dan como “sulución” al usuario .- “desactivar SELinux” para solucionar los problemas que puedan tener con el.
Como es costumbre, partamos por el principio.
¿Que es CentOS?
CentOS es una de las tantas distribuciones de Linux, la gran diferencia es que esta orientada directamente al uso y manejo de servidores, concretamente CentOS es un clon binario de la distribución Red-Hat Enterprice que se compone de Software Libre y código abierto que se publica en formato binario usable solamente a suscriptores pagados, pero CentOS esta disponible para cualquier usuario.
¿Que es SELinux?
SELinux es un software que permite principalmente dar seguridad a los archivos y recursos disponibles y dentro del servidor.
Errores básicos
Principalmente el error mas básico ocurre cuando queremos arrancar un servicio dentro de nuestro servidor, por ejemplo al arrancar apache este nos da como error que un directorio y/o archivo “no existe” siendo que nosotros sabemos que existe dicha ruta, para el correcto uso debemos saber lo siguiente…
Primero, “ls -Z” nos mustra en lista el “contexto” del archivo o carpeta… por ejemplo:
[root@localhost ~]# ls -Z
-rwxrwxrwx root root root:object_r:user_home_t:s0 algo.txt
drwxrwxrwx 1000 1000 root:object_r:user_home_t:s0 carpeta
Para este ejemplo la carpeta “carpeta” tiene como contexto “user_home_t” lo mismo para el archivo “algo.txt”
Para que el servicio httpd (Apache) arranque correctamente el contexto debe ser “httpd_sys_content_t” para esto debemos ocupar la siguiente instrucción:
1.- Para un archivo:
chcon -t httpd_sys_content_t algo.txt
2.- Para un directorio, subcarpetas y subarchivos:
chcon -R -t httpd_sys_content_t carpeta/
Luego de hacer esto ya tendremos “autorizacion” a usar dichos archivos y carpetas…
Sin duda que otra solución sería desactivar SELinux lo cual no lo e tenido que hacer nunca, pero igual lo dejo planteado
debemos ingresar la siguiente instrucción
system-config-securitylevel-tui
luego elegir “desactivar” guardar y reiniciar los servicios…
Esta es una guia bastante basica, pero suficiente, espero tener tiempo para hacer algo mas detallado…
Si te gustó esta publicación, la puedes Compartir y Guardar en tu sitio favorito.