Sdílet prostřednictvím


SELinux a Azure CycleCloud

Většina moderních distribucí Linuxu založených na Red Hatu (RHEL, CentOS) je nainstalovaná a ve výchozím nastavení nastavená na enforcingSecurity Enhanced Linux (SELinux). SELinux je vylepšení zabezpečení linuxu, které správcům umožňuje větší kontrolu nad řízením přístupu. Azure CycleCloud ve výchozím nastavení podporuje SELinux, ale aby podporoval řadu aplikací HPC, CycleCloud upraví prostředí SELinux jménem správce.

Clustery HPC a SELinux

Mnoho clusterů PROSTŘEDÍ HPC v Azure CycleCloudu používá sdílený domovský adresář NFS, který usnadňuje odesílání úloh a usnadňuje sdílení informací mezi výpočetními uzly. Clustery, které využívají sdílený domovský adresář, zahrnují PBS Pro, Grid Engine a Slurm.

Výchozí zásady domovského adresáře SELinux brání použití připojení systému souborů NFS nebo čehokoli kromě souboru /home pro domovský adresář. Z tohoto důvodu, pokud je povolená správa uživatelů , CycleCloud automaticky spustí nezbytné příkazy, které umožní standardní domovský adresář /shared/home a také povolit domovské adresáře NFS.

Pokud chcete povolit nestandardní domovský adresář, spustí se následující příkazy, které nejprve zkopírují kontext zabezpečení z /home do /shared/home a potom resetují kontext zabezpečení rekurzivně v novém domovském adresáři:

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

Poznámka

Obecně řečeno, master uzel ve většině clusterů HPC exportuje systém souborů používaný jako domovský adresář pro všechny execute uzly. V tomto případě /shared/home není připojení NFS k master systému souborů NFS, ale místo toho je symlink na /mnt/export/export/shared/home , což je adresář exportovaný přes systém souborů NFS.

Poznámka

Obecně řečeno, scheduler uzel ve většině clusterů HPC exportuje systém souborů používaný jako domovský adresář pro všechny execute uzly. V tomto případě /shared/home není připojení NFS k scheduler systému souborů NFS, ale místo toho je symlink na /mnt/export/export/shared/home , což je adresář exportovaný přes systém souborů NFS.

Aby se uživatelé mohli k virtuálnímu počítači přihlásit k virtuálnímu počítači, musí být domovské adresáře NFS explicitně povolené:

setsebool -P use_nfs_home_dirs 1

Pokud chcete spustit výše uvedené příkazy, nainstalují se některé balíčky, pokud ještě nejsou v operačním systému nainstalované: policycoreutils poskytují restorecon příkazy a setsebool příkazy v policycoreutils-pythonpolicycoreutils-python-utilssemanage závislosti na verzi operačního systému.

Poznámka

Většina clusterů Azure CycleCloud používá jako domovský adresář clusteru /shared/home , ale některé konfigurace můžou používat jinou cestu. Pokud se jedná o tento případ, spustí se stejné příkazy pomocí alternativní cesty místo /shared/home.

Zakázání SELinuxu

V některých případech aplikace nemusí správně fungovat kvůli SELinux. Kvůli snadnějšímu ladění umožňuje CycleCloud správci clusteru nastavit režim SELinux na permissive nebo disabled prostřednictvím možnosti konfigurace:

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

Pokud chcete změnit zásadu SELinux na úrovni operačního systému, setenforce 0 vydá se příkaz, který dočasně nastaví SELinux na permissive režim a pak se /etc/selinux/config soubor změní tak, aby trvale změnil režim SELinux.

Aby bylo možné balíček spustit setenforce , libselinux-utils nainstaluje se, pokud ještě není nainstalovaný v operačním systému.

Důležité

Po nastavení SELinux na zakázání se k úplnému zakázání SELinux vyžaduje restartování virtuálního počítače. Virtuální počítač zůstane v režimu, dokud se nerestartuje.