Se pare că cel puțin până la NFSv4.1, NFS nu are suport complet pentru contexte SELinux; puteți seta doar contextul per-mount, nu per-fișier/director.
Deci, mai întâi trebuie să permitem accesul vncserver la directoarele de acasă NFS. Acest lucru a fost rezolvat în amonte în tigervnc v1.12. Dacă aceasta nu este disponibilă pentru sistemul de operare, putem doar să extragem noua configurație SELinux din amonte și să o instalăm pe sistemul nostru. Acest lucru a fost documentat aici: https://github.com/TigerVNC/tigervnc/issues/1189. Iată pașii importanți:
- Obțineți și extrageți sursele tigervnc v1.12
- Accesați <tigervnc source>/unix/vncserver/selinux
- Generați noul fișier de politică SELinux (vncserver.pp) rulând „make vncserver.pp”
- Spuneți SELinux că folosim directoare de acasă NFS rulând „setsebool -P use_nfs_home_dirs on”. Opțiunea -P îl face permanent.
- Instalați noua politică SELinux: „semodule -X 300 -i vncsession.pp”
Următoarea problemă cu care ne confruntăm este că vncserver nu așteaptă montarea noastră NFS. Mulți ghiduri vă vor spune să adăugați „After=remote-fs.target” sau „After=home.mount” sau „RequiresMountsFor=/home”. Cu toate acestea, acest lucru nu funcționează cu sistemele de fișiere montate de autofs (cel puțin, pentru mine nu a funcționat).
În schimb, trebuie să așteptăm să apară autof-urile. Adăugați „After=autofs.target” la secțiunea [Unitate] a fișierului [email protected]. Pentru mine a fost localizat la /usr/lib/systemd/system/[email protected]. Vedea: https://github.com/TigerVNC/tigervnc/issues/1284
În acest moment, continuați să urmați documentația sistemului de operare pentru configurarea serverului VNC.