Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
La mayoría de las distribuciones modernas de Linux basadas en Red Hat (RHEL, CentOS) vienen con Security Enhanced Linux (SELinux) instalado y establecido en enforcing
de forma predeterminada. SELinux es una mejora de seguridad para Linux que proporciona a los administradores más control sobre el control de acceso. Azure CycleCloud admite SELinux de forma predeterminada, pero para admitir una serie de aplicaciones de HPC, CycleCloud modifica el entorno SELinux para el administrador.
Clústeres de HPC y SELinux
Muchos clústeres de HPC de Azure CycleCloud usan un directorio principal NFS compartido para facilitar el envío de trabajos y compartir información entre nodos de proceso. Los clústeres que usan un directorio principal compartido incluyen PBS Pro, Grid Engine y Slurm.
La directiva de directorio principal predeterminada de SELinux impide el uso de un montaje NFS o cualquier cosa que no sea /home para un directorio principal. Por este motivo, si la administración de usuarios está habilitada, CycleCloud ejecuta automáticamente los comandos necesarios para permitir los directorios principales /shared/home no estándar y NFS.
Para habilitar un directorio principal no estándar, ejecute los siguientes comandos para copiar el contexto de seguridad de /home a /shared/home y restablecer el contexto de seguridad de forma recursiva en el nuevo directorio principal:
semanage fcontext -a -e /home /shared/home
restorecon -R /shared/home
Nota:
Por lo general, el nodo principal de la mayoría de los clústeres de HPC exporta el sistema de archivos que se usa como directorio principal para todos los execute
nodos. En este caso, /shared/home no es un montaje NFS en el nodo principal, sino que es un vínculo simbólico a /mnt/exports/shared/home, que es el directorio exportado a través de NFS.
Nota:
Por lo general, el scheduler
nodo de la mayoría de los clústeres de HPC exporta el sistema de archivos usado como directorio principal para todos los execute
nodos. En este caso, /shared/home no es un montaje NFS en el scheduler
nodo, sino que es un vínculo simbólico a /mnt/exports/shared/home, que es el directorio exportado a través de NFS.
En el caso de las máquinas virtuales que montan el sistema de archivos compartido, debe habilitar explícitamente los directorios principales de NFS para que los usuarios puedan iniciar sesión en la máquina virtual:
setsebool -P use_nfs_home_dirs 1
Para ejecutar los comandos anteriores, el sistema operativo instala algunos paquetes si aún no están instalados. El policycoreutils
paquete proporciona los restorecon
comandos y setsebool
. El paquete policycoreutils-python
o policycoreutils-python-utils
proporciona el comando semanage
, en función de la versión del sistema operativo.
Nota:
La mayoría de los clústeres de Azure CycleCloud usan /shared/home como directorio principal del clúster, pero algunas configuraciones usan una ruta de acceso diferente. Si este es el caso, ejecute los mismos comandos mediante la ruta de acceso alternativa en lugar de /shared/home.
Deshabilitación de SELinux
En algunos casos, una aplicación no funciona correctamente debido a SELinux. Para facilitar la depuración, CycleCloud permite que un administrador de clúster establezca el modo SELinux en permissive
o disabled
a través de la siguiente opción de configuración:
cyclecloud.selinux.policy = permissive # or `disabled`
Para cambiar la directiva SELinux en el nivel de sistema operativo, use el setenforce 0
comando para establecer TEMPORALMENTE SELinux en permissive
modo. A continuación, modifique el archivo /etc/selinux/config para cambiar permanentemente el modo SELinux.
Para ejecutar setenforce
, instale el libselinux-utils
paquete si aún no está instalado en el sistema operativo.
Importante
Después de establecer SELinux en deshabilitado, debe reiniciar la máquina virtual para deshabilitar completamente SELinux. La máquina virtual permanece en modo permisivo hasta que la reinicie.