다음을 통해 공유


SELinux 및 Azure CycleCloud

대부분의 최신 Red Hat 기반 Linux 배포판(RHEL, CentOS)에는 SELinux(Security Enhanced Linux )가 설치되어 기본적으로 설정되어 enforcing 있습니다. SELinux는 관리자가 액세스 제어를 더 많이 제어할 수 있도록 Linux의 보안 향상 기능입니다. Azure CycleCloud는 기본적으로 SELinux를 지원하지만 많은 HPC 애플리케이션을 지원하기 위해 CycleCloud는 관리자를 대신하여 SELinux 환경을 수정합니다.

HPC 클러스터 및 SELinux

많은 Azure Cyclecloud HPC 클러스터는 공유 NFS 홈 디렉터리를 사용하여 작업 제출을 용이하게 하고 컴퓨팅 노드 간에 정보를 쉽게 공유할 수 있습니다. 공유 홈 디렉터리를 활용하는 클러스터에는 PBS Pro, 그리드 엔진 및 Slurm이 포함됩니다.

기본 SELinux 홈 디렉터리 정책은 NFS 탑재 또는 홈 디렉터리에 /home 이외의 항목을 사용할 수 없습니다. 이러한 이유로 사용자 관리를 사용하도록 설정하면 CycleCloud에서 필요한 명령을 자동으로 실행하여 비표준 홈 디렉터리 /공유/홈 을 허용하고 NFS 홈 디렉터리를 허용합니다.

비표준 홈 디렉터리를 사용하도록 설정하려면 다음 명령을 실행하여 먼저 /home 에서 /shared/home 으로 보안 컨텍스트를 복사한 다음 새 홈 디렉터리에서 보안 컨텍스트를 재귀적으로 다시 설정합니다.

semanage fcontext -a -e /home /shared/home
restorecon -R /shared/home

참고

일반적으로 master 대부분의 HPC 클러스터의 노드는 모든 execute 노드의 홈 디렉터리로 사용되는 파일 시스템을 내보냅니다. 이 경우 /shared/home은 NFS 탑재가 아니라 NFS를 통해 내보낸 디렉터리인 /mnt/exports/shared/home에 대한 master symlink입니다.

참고

일반적으로 scheduler 대부분의 HPC 클러스터의 노드는 모든 execute 노드의 홈 디렉터리로 사용되는 파일 시스템을 내보냅니다. 이 경우 /shared/home은 NFS 탑재가 아니라 NFS를 통해 내보낸 디렉터리인 /mnt/exports/shared/home에 대한 scheduler symlink입니다.

공유 파일 시스템을 탑재하는 VM의 경우 사용자가 VM에 로그인하려면 NFS 홈 디렉터리를 명시적으로 사용하도록 설정해야 합니다.

setsebool -P use_nfs_home_dirs 1

위의 명령을 실행하기 위해 운영 체제 policycoreutils 에 아직 설치되지 않은 경우 일부 패키지가 설치됩니다. OS 버전에 따라 명령 및 policycoreutils-python 명령을 제공 restoreconsetsebool 하거나 policycoreutils-python-utils 제공합니다semanage.

참고

대부분의 Azure CycleCloud 클러스터는 클러스터의 홈 디렉터리로 /shared/home 을 사용하지만 일부 구성은 다른 경로를 사용할 수 있습니다. 이 경우 /shared/home 대신 대체 경로를 사용하여 동일한 명령이 실행됩니다.

SELinux 사용 안 림

경우에 따라 SELinux로 인해 애플리케이션이 제대로 작동하지 않을 수 있습니다. 좀 더 쉽게 디버그하기 위해 CycleCloud를 사용하면 클러스터 관리자가 구성 옵션을 사용하거나 disabled 통해 SELinux 모드를 permissive 설정할 수 있습니다.

cyclecloud.selinux.policy = permissive  # or `disabled`

OS 수준에서 setenforce 0 SELinux 정책을 변경하려면 SELinux permissive 를 일시적으로 모드로 설정하는 명령이 실행된 다음 /etc/selinux/config 파일이 수정되어 SELinux 모드를 영구적으로 변경합니다.

실행 setenforce 하기 위해 OS에 아직 설치되지 않은 경우 패키지 libselinux-utils 가 설치됩니다.

중요

SELinux를 사용하지 않도록 설정하면 SELinux를 완전히 사용하지 않도록 설정하려면 VM을 다시 시작해야 합니다. VM은 다시 시작될 때까지 허용 모드로 유지됩니다.