Dell Unity: Po upgradu platformy Unity na verzi 5.5 nelze přistupovat k souborům nebo složkám při exportu NFS

Shrnutí: Uživatel systému Linux nemusí mít po upgradu na verzi 5.5 přístup k některým souborům nebo složkám v exportu NFS (Network File System). (oprava uživatelem)

Tento článek se vztahuje na Tento článek se nevztahuje na Tento článek není vázán na žádný konkrétní produkt. V tomto článku nejsou uvedeny všechny verze produktu.

Příznaky

  • Uživatelé si mohou všimnout, že po upgradu na verzi 5.5 nelze získat přístup k některým souborům nebo nelze zobrazit seznam složek. 
  • K problému dochází pouze za následujících podmínek: 
    • Klient připojí export NFS pomocí NFSv4.2, přístup je dobrý, pokud klient připojí export NFS pomocí NFSv3, nebo NFSv4.0 nebo 4.1.  
    • SELinux je povolen na linuxovém klientovi. 

Zde je příklad:

  • Uživatel test_user nemůže vypsat obsah přípojného bodu NFS. /mnt při připojování pomocí NFSv4.2. 
[test_user@RHEL4 ~]$ mount -v | grep -i mnt
10.xx.xx.48:/test on /mnt type nfs4 (rw,relatime,seclabel,vers=4.2,rsize=131072,wsize=131072,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,clientaddr=10.227.xxx.129,local_lock=none,addr=10.60.15.48)

[test_user@RHEL4 ~]$ ls -al /mnt
ls: cannot open directory '/mnt': Permission denied
  • Uživatel test_user může vypsat stejnou složku po opětovném připojení exportu NFS pomocí systému NFSv4.1.
[test_user@RHEL4 ~]$ mount -v | grep -i mnt
10.xx.xx.48:/test on /mnt type nfs4 (rw,relatime,vers=4.1,rsize=131072,wsize=131072,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,clientaddr=10.227.xxx.129,local_lock=none,addr=10.60.15.48)


[test_user@RHEL4 ~]$ ls -al /mnt
total 16
drwxrwxrwx.  6 root root 8192 Jun 18 03:21 .
dr-xr-xr-x. 20 root root  271 Jun  8 19:07 ..
dr-xr-xr-x.  2 root bin   152 Apr 14 03:56 .etc
drwxr-xr-x.  2 root root  152 Jun 18 03:20 folder
drwxr-xr-x.  2 root root 8192 Apr 14 03:56 lost+found

Příčina

  • Počínaje systémem UnityOS 5.5 byla do řešení Unity přidána podpora pro systém NFSv4.2. Podpora protokolu NFSv4.2 přináší další zabezpečení a výkon a podporu atributů NFS pro náhradní soubory a značení NFS.
  • Funkce popisku zabezpečení v NFSV4.2 umožňuje ukládání a vynucování popisků zabezpečení (například kontextů SELinux) přes sdílené složky NFS. Ve výchozím nastavení je tato funkce na serveru NAS Unity povolena. 
  • Když je SELinux povolen na linuxovém klientovi, přiřadí bezpečnostní štítek každému objektu v systémech včetně souborů, složek, procesů, portů a zařízení. 
  • Výchozí kontext zabezpečení, který SELinux přiřazuje souborům v exportu NFS připojeném pomocí NFS v3, V4.0 nebo v4.1, je system_u:object_r:nfs_t:s0.
[root@rhel8 test]# ls -alZ testv4.1
-rw-r--r--. 1 root root system_u:object_r:nfs_t:s0 0 Jun  1 21:47 testv4.1
  • Když klient připojí export systému souborů NFS pomocí systému NFS verze 4.2, výchozí kontext zabezpečení souborů NFS se změní na unconfined_u:object_r:default_t:s0.
[root@rhel8 test]# ls -alZ testv4.2
-rw-r--r--. 1 root root unconfined_u:object_r:default_t:s0 0 Jun  1  2025 testv4.2
  • Změna kontextu zabezpečení, zejména typu zabezpečení z nfs_t na default_t, může způsobit určité problémy s přístupem, protože SELinux určuje přístupová oprávnění na základě pravidel zásad, která vypočítávají typ zabezpečení uživatele nebo procesu a souborů nebo složek.

Řešení

Existuje několik alternativních řešení. Uživatel by si měl vybrat jedno řešení na základě svých priorit: zabezpečení, jednoduchost nebo požadavky na funkce. 

  • Opětovné připojení exportu NFS pomocí systému NFSv4.1, NFSv4.0 nebo NFSv3 z klienta
mount -o vers=4.1 <nas server IP>:/<export> /<localmountpoint>
  • Připojení exportu NFS pomocí NFSv4.2, ale určení zabezpečenídalší
mount -o context=system_u:object_r:nfs_t:s0 <nas server IP>:/<export> /<localmountpoint>
  • Downgrade maximální verze podpory NFSv4 v Unity z verze 4.2 na verzi v4.1. 

Dell Unity: Po upgradu na prostředí Unity OE verze 5.5 nemají klienti NFSv4 přístup k datům

  • Zakázání popisku zabezpečení v poli Unity

Dell Unity: Jak zakázat bezpečnostní štítek přes NFS v Unity OE 5.5 (oprava uživatelem)

  • Změňte typ zabezpečení souborů v exportu NFS na vhodné na základě požadavku. 
chcon <user>:<role>:<type>:<level> <file/folders>

For example, change the file type to nfs_t. 

[root@RHEL4 /]# ls -alZ /mnt/nfsv4.2
-rw-r--r--. 1 root root system_u:object_r:default_t:s0 0 Jun 17 00:53 /mnt/nfsv4.2
[root@RHEL4 /]# chcon -t nfs_t /mnt/nfsv4.2
[root@RHEL4 /]# ls -alZ /mnt/nfsv4.2
-rw-r--r--. 1 root root system_u:object_r:nfs_t:s0 0 Jun 17 00:53 /mnt/nfsv4.2

Další informace

Při řešení problému s přístupem SELinux lze postupovat podle následujícího postupu. 

1. Určete kontext zabezpečení uživatele.

[test_user@RHEL4 ~]$ id -Z
user_u:user_r:user_t:s0
  1. Ujistěte se, že je export NFS připojen pomocí systému NFSv4.2 a seclabel je povoleno. 
[test_user@RHEL4 ~]$ mount -v | grep mnt
10.xx.xx.48:/test on /mnt type nfs4 (rw,relatime,seclabel,vers=4.2,rsize=131072,wsize=131072,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,clientaddr=10.227.xxx.129,local_lock=none,addr=10.xx.xx.48)
  1. Kontrola kontextu zabezpečení souborů a reprodukce problému
[test_user@RHEL4 ~]$ ls -aldZ /mnt
drwxrwxrwx. 6 root root system_u:object_r:default_t:s0 8192 Jun 17 07:44 /mnt

[test_user@RHEL4 ~]$ ls -al /mnt
ls: cannot open directory '/mnt': Permission denied
  1. Zkontrolujte, zda na adrese auditlog , abyste potvrdili, proč se příkaz nezdařil.
[root@RHEL4 ~]# ausearch -m avc -ts recent | tail
----
time->Tue Jun 17 18:30:59 2025
type=PROCTITLE msg=audit(1750xxxx59.577:8407): proctitle=6C73002D2D636F6C6F723Dxxxxx46F002D616C002F6D6E74
type=SYSCALL msg=audit(1750203059.577:8407): arch=c000003e syscall=257 success=no exit=-13 a0=ffffff9c a1=5563f160ca70 a2=90800 a3=0 items=0 ppid=104637 pid=104661 auid=10086 uid=10086 gid=10086 euid=10086 suid=10086 fsuid=10086 egid=10086 sgid=10086 fsgid=10086 tty=pts1 ses=246 comm="ls" exe="/usr/bin/ls" subj=user_u:user_r:user_t:s0 key=(null)
type=AVC msg=audit(1750xxxx59.577:8407): avc:  denied  { read } for  pid=104661 comm="ls" name="/" dev="0:47" ino=2 scontext=user_u:user_r:user_t:s0 tcontext=system_u:object_r:default_t:s0 tclass=dir permissive=0
  1. Když uživatel spustí ls Na kartě /mnt, proces ls zdědí typ zabezpečení uživatele, systém SELinux určí, zda user_t typu zabezpečení má oprávnění ke čtení na default_t typu souboru. V tomto případě ls Příkaz se nezdařil, protože typ zabezpečení zdroje user_t nemá oprávnění ke čtení u default_t typu zabezpečení souboru. 

To lze potvrdit kontrolou pravidel bezpečnostní politiky.

root@RHEL4 ~]# sesearch -A -s user_t -t default_t -p read
[root@RHEL4 ~]#
  1. Následující příkaz vypíše všechna oprávnění, která typ user_t má u typu default_t.
[root@RHEL4 ~]# sesearch -A -s user_t -t default_t
allow domain base_file_type:dir { getattr open search };  
allow domain file_type:blk_file map; [ domain_can_mmap_files ]:True
allow domain file_type:chr_file map; [ domain_can_mmap_files ]:True
allow domain file_type:file map; [ domain_can_mmap_files ]:True
allow domain file_type:lnk_file map; [ domain_can_mmap_files ]:True
allow user_usertype file_type:filesystem getattr;
  1. Ve výše uvedeném výstupu patří user_t do domény a default_t patří do base_file_type. Takže user_t pouze getattr, otevřete, prohledejte adresář s default_t typu.
[root@RHEL4 mnt]# seinfo -t default_t -x

Types: 1
   type default_t, base_file_type, file_type, mountpoint, non_auth_file_type, non_security_file_type;


[root@RHEL4 mnt]# seinfo -t user_t -x | grep domain
   type user_t, application_domain_type, nsswitch_domain, corenet_unlabeled_type, domain, kernel_system_state_reader, netlabel_peer_type, privfd, process_user_target, scsi_generic_read, scsi_generic_write, syslog_client_type, pcmcia_typeattr_1, user_usertype, login_userdomain, userdomain, unpriv_userdomain, userdom_home_reader_type, userdom_filetrans_type, xdmhomewriter, x_userdomain, x_domain, dridomain, xdrawable_type, xcolormap_type;
/pre>
  1. Uživatel může cd na /mnt protože otevřeno je povoleno. 
>allow domain base_file_type:dir { getattr open search };   <<<<

[test_user@RHEL4 ~]$ cd /mnt
[test_user@RHEL4 mnt]$ ls
ls: cannot open directory '.': Permission denied

Dotčené produkty

Dell EMC Unity, Dell Unity Operating Environment (OE)
Vlastnosti článku
Číslo článku: 000334013
Typ článku: Solution
Poslední úprava: 25 čvn 2025
Verze:  2
Najděte odpovědi na své otázky od ostatních uživatelů společnosti Dell
Služby podpory
Zkontrolujte, zda se na vaše zařízení vztahují služby podpory.