4.2. Ajuste de la política para compartir volúmenes NFS y CIFS utilizando booleanos de SELinux
Puedes cambiar partes de la política de SELinux en tiempo de ejecución utilizando booleanos, incluso sin tener conocimiento de la escritura de la política de SELinux. Esto permite realizar cambios, como permitir el acceso de servicios a volúmenes NFS, sin necesidad de recargar o recompilar la política de SELinux. El siguiente procedimiento demuestra el listado de booleanos de SELinux y su configuración para lograr los cambios requeridos en la política.
Los montajes NFS en el lado del cliente se etiquetan con un contexto por defecto definido por una política para volúmenes NFS. En RHEL, este contexto por defecto utiliza el tipo nfs_t
. Asimismo, los recursos compartidos de Samba montados en el lado del cliente se etiquetan con un contexto predeterminado definido por la política. Este contexto por defecto utiliza el tipo cifs_t
. Puede habilitar o deshabilitar booleanos para controlar qué servicios pueden acceder a los tipos nfs_t
y cifs_t
.
Para permitir que el servicio de servidor HTTP Apache (httpd
) acceda y comparta volúmenes NFS y CIFS, realice los siguientes pasos:
Requisitos previos
-
Opcionalmente, instale el paquete
selinux-policy-devel
para obtener descripciones más claras y detalladas de los booleanos de SELinux en la salida del comandosemanage boolean -l
.
Procedimiento
Identificar los booleanos de SELinux relevantes para NFS, CIFS y Apache:
# semanage boolean -l | grep 'nfs\|cifs' | grep httpd httpd_use_cifs (off , off) Allow httpd to access cifs file systems httpd_use_nfs (off , off) Allow httpd to access nfs file systems
Lista el estado actual de los booleanos:
$ getsebool -a | grep 'nfs\|cifs' | grep httpd httpd_use_cifs --> off httpd_use_nfs --> off
Habilitar los booleanos identificados:
# setsebool httpd_use_nfs on # setsebool httpd_use_cifs on
NotaUtilice
setsebool
con la opción-P
para que los cambios persistan en los reinicios. Un comandosetsebool -P
requiere una reconstrucción de toda la política, y puede llevar algún tiempo dependiendo de su configuración.
Pasos de verificación
Comprueba que los booleanos son
on
:$ getsebool -a | grep 'nfs\|cifs' | grep httpd httpd_use_cifs --> on httpd_use_nfs --> on
Recursos adicionales
-
Las páginas de manual
semanage-boolean(8)
,sepolicy-booleans(8)
,getsebool(8)
,setsebool(8)
,booleans(5)
, ybooleans(8)
.