Dell Unity: Po uaktualnieniu Unity do wersji 5.5 nie można uzyskać dostępu do plików lub folderów w eksporcie NFS
Summary: Użytkownik systemu Linux może nie być w stanie uzyskać dostępu do niektórych plików lub folderów eksportowanych do sieciowego systemu plików (NFS) po uaktualnieniu Unity do wersji 5.5. (możliwość korekty z poziomu użytkownika) ...
This article applies to
This article does not apply to
This article is not tied to any specific product.
Not all product versions are identified in this article.
Symptoms
- Użytkownicy mogą zauważyć, że po uaktualnieniu Unity do wersji 5.5 nie można uzyskać dostępu do niektórych plików lub nie można wyświetlić folderów,
- Problem występuje tylko w następujących warunkach:
- Klient montuje eksport NFS przy użyciu protokołu NFSv4.2. Jeśli klient montuje eksport NFS przy użyciu protokołu NFSv3, NFSv4.0 lub 4.1, dostęp jest prawidłowy.
- SELinux jest włączony w kliencie Linux.
Oto przykład:
- Użytkownik test_user nie może wyświetlić zawartości punktu montowania NFS
/mntprzy montażu przy użyciu 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żytkownik test_user może wyświetlić listę tego samego folderu po ponownym zamontowaniu eksportu NFS przez klienta przy użyciu protokołu 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
Cause
- Począwszy od systemu UnityOS 5.5, Unity dodało obsługę protokołu NFSv4.2. Obsługa protokołu NFSv4.2 zapewnia dodatkowe bezpieczeństwo i wydajność, a także obsługę atrybutów NFS plików zapasowych i etykietowania NFS.
- Funkcja Etykieta zabezpieczeń w protokole NFSV4.2 umożliwia przechowywanie i wymuszanie etykiet zabezpieczeń (takich jak konteksty SELinux) za pośrednictwem udziałów NFS. Domyślnie ta funkcja jest włączona na serwerze Unity NAS.
- Gdy SELinux jest włączony w kliencie Linux, przypisuje etykietę bezpieczeństwa do każdego obiektu w systemach, w tym plików, folderów, procesów, portów i urządzeń.
- Domyślny kontekst zabezpieczeń, który SELinux przypisuje plikom w eksporcie NFS zamontowanym przy użyciu NFS v3, V4.0 lub v4.1 to
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
- Gdy klient zamontuje eksport NFS przy użyciu NFS v4.2, domyślny kontekst zabezpieczeń plików NFS zmieni się 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
- Zmiana kontekstu zabezpieczeń, zwłaszcza typu zabezpieczeń z nfs_t na default_t, może powodować pewne problemy z dostępem, ponieważ SELinux określa uprawnienia dostępu na podstawie reguł zasad, które obliczają typ bezpieczeństwa użytkownika lub procesu oraz plików lub folderów.
Resolution
Istnieje kilka obejść problemu. Użytkownik powinien wybrać jedno rozwiązanie w oparciu o swoje priorytety: bezpieczeństwo, prostotę lub wymagania dotyczące funkcji.
- Ponownie zamontuj eksport NFS przy użyciu NFSv4.1, NFSv4.0 lub NFSv3 z klienta
mount -o vers=4.1 <nas server IP>:/<export> /<localmountpoint>
- Zamontuj eksport NFS przy użyciu NFSv4.2, ale określ następną stronę zabezpieczeń
mount -o context=system_u:object_r:nfs_t:s0 <nas server IP>:/<export> /<localmountpoint>
- Obniż maksymalną obsługiwaną wersję NFSv4 w Unity z 4.2 do 4.1.
Dell Unity: Po uaktualnieniu do wersji 5.5 Unity OE klienci NFSv4 nie mogą uzyskać dostępu do danych
- Wyłączanie etykiety zabezpieczeń w Unity
- W zależności od wymagań zmień typ zabezpieczeń plików w eksporcie NFS na odpowiednie.
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
Additional Information
Poniższą procedurę można wykonać, aby rozwiązać problem z dostępem do SELinux.
1. Określ kontekst zabezpieczeń użytkownika.
[test_user@RHEL4 ~]$ id -Z user_u:user_r:user_t:s0
- Upewnij się, że eksport NFS jest zamontowany przy użyciu protokołu NFSv4.2 i
seclabeljest włączona.
[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)
- Sprawdź kontekst zabezpieczeń pliku i odtwórz problem
[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
- Odwiedź witrynę
auditlog, aby potwierdzić, dlaczego polecenie kończy się niepowodzeniem.
[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
- Gdy użytkownik uruchomi polecenie
lsw sprawie/mnt, proces ls dziedziczy typ zabezpieczeń użytkownika, system SELinux określa, czy typ zabezpieczeń user_t ma uprawnienia do odczytu typu pliku default_t. W takim przypadkulsPolecenie nie powiodło się, ponieważ źródłowy typ zabezpieczeń user_t nie ma uprawnień do odczytu typu zabezpieczeń pliku default_t.
Można to potwierdzić, sprawdzając reguły polityki bezpieczeństwa.
root@RHEL4 ~]# sesearch -A -s user_t -t default_t -p read [root@RHEL4 ~]#
- Poniższe polecenie zawiera listę wszystkich uprawnień typu user_t dla 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;
- W powyższych danych wyjściowych user_t należy do domeny, a default_t należy do base_file_type. Tak więc user_t ma tylko
getattr, otwórz, wyszukaj w katalogu z typem default_t.
[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>
- Użytkownik może
cdna/mntponieważ otwarte jest dozwolone.
>allow domain base_file_type:dir { getattr open search }; <<<<
[test_user@RHEL4 ~]$ cd /mnt
[test_user@RHEL4 mnt]$ ls
ls: cannot open directory '.': Permission deniedAffected Products
Dell EMC Unity, Dell Unity Operating Environment (OE)Article Properties
Article Number: 000334013
Article Type: Solution
Last Modified: 25 Jun 2025
Version: 2
Find answers to your questions from other Dell users
Support Services
Check if your device is covered by Support Services.