Red Hat Training

A Red Hat training course is available for RHEL 8

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 comando semanage boolean -l.

Procedimiento

  1. 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
  2. Lista el estado actual de los booleanos:

    $ getsebool -a | grep 'nfs\|cifs' | grep httpd
    httpd_use_cifs --> off
    httpd_use_nfs --> off
  3. Habilitar los booleanos identificados:

    # setsebool httpd_use_nfs on
    # setsebool httpd_use_cifs on
    Nota

    Utilice setsebool con la opción -P para que los cambios persistan en los reinicios. Un comando setsebool -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

  1. 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), y booleans(8).