Dell Unity: Unity 5.5'e Yükseltildikten Sonra NFS Dışa Aktarımındaki Dosya veya Klasörlere Erişilemiyor

Summary: Linux kullanıcısı, Unity 5.5'e yükseltildikten sonra Ağ Dosya Sistemi (NFS) dışa aktarımındaki bazı dosyalara veya klasörlere erişemeyebilir. (Kullanıcı Tarafından Düzeltilebilir)

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

  • Kullanıcılar, Unity 5.5 e yükseltildikten sonra bazı dosyalara erişilemediğini veya klasörlerin listelenemediğini fark edebilir. 
  • Sorun yalnızca aşağıdaki koşullarda oluşur: 
    • İstemci, NFS dışa aktarımını NFSv4.2 kullanarak bağlar. İstemci, NFS dışa aktarımını NFSv3, NFSv4.0 veya 4.1 kullanarak bağlarsa erişim iyidir.  
    • SELinux, Linux istemcisinde etkindir. 

İşte bir örnek:

  • Kullanıcı test_user NFS bağlantı noktasının içeriğini listeleyemez /mnt NFSv4.2 kullanarak monte ederken. 
[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
  • Kullanıcı test_user, istemci NFSv4.1 kullanarak NFS dışa aktarımını yeniden bağladıktan sonra aynı klasörü listeleyebilir.
[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

  • Unity, UnityOS 5.5'ten itibaren NFSv4.2 desteği eklemiştir. NFSv4.2 protokol desteği, ek güvenlik ve performans getirmenin yanı sıra yedek dosyalar ve NFS etiketlemesi için NFS öznitelik desteği sunar.
  • NFSV4.2'deki Güvenlik etiketi özelliği, güvenlik etiketlerinin (SELinux bağlamları gibi) NFS paylaşımları üzerinden depolanmasına ve uygulanmasına olanak tanır. Bu özellik Unity NAS sunucusunda varsayılan olarak etkindir. 
  • SELinux bir Linux istemcisinde etkinleştirildiğinde, dosyalar, klasörler, işlemler, bağlantı noktaları ve cihazlar dahil olmak üzere sistemlerdeki her nesneye bir güvenlik etiketi atar. 
  • SELinux'un NFS v3, V4.0 veya v4.1 kullanılarak bağlanan NFS dışa aktarımındaki dosyalara atadığı varsayılan güvenlik bağlamı şöyledir: system_u:object_r:nfs_t:s0IP adresi için sorgular.
[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
  • İstemci, NFS v4.2 kullanarak NFS dışa aktarımını bağladığında NFS dosyalarının varsayılan güvenlik bağlamı unconfined_u:object_r:default_t:s0IP adresi için sorgular.
[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
  • Güvenlik bağlamının, özellikle güvenlik türünün nfs_t'den default_t'e değişmesi bazı erişim sorunlarına neden olabilir, çünkü SELinux, erişim iznini kullanıcının veya işlemin güvenlik türünü ve dosya veya klasörleri hesaplayan politika kurallarına göre belirler.

Resolution

Birkaç geçici çözüm mevcuttur. Kullanıcı önceliklerine göre bir çözüm seçmelidir: güvenlik, basitlik veya özellik gereksinimleri. 

  • İstemciden NFSv4.1, NFSv4.0 veya NFSv3 kullanarak NFS dışa aktarımını yeniden bağlayın
mount -o vers=4.1 <nas server IP>:/<export> /<localmountpoint>
  • NFS dışa aktarımını NFSv4.2 kullanarak bağlayın ancak güvenlik eşanlamlısını belirtin
mount -o context=system_u:object_r:nfs_t:s0 <nas server IP>:/<export> /<localmountpoint>
  • Unity'de maksimum destek NFSv4 sürümünü v4.2'den v4.1'e düşürme. 

Dell Unity: Unity OE 5.5 sürümüne yükselttikten sonra NFSv4 istemcileri verilere erişemez

  • Unity'de güvenlik etiketini devre dışı bırakma

Dell Unity: Unity OE 5.5 te NFS üzerinden Güvenlik Etiketini devre dışı bırakma (Kullanıcı Tarafından Düzeltilebilir)

  • NFS dışa aktarımındaki dosyaların güvenlik türünü gereksinime göre uygun olanlarla değiştirin. 
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

SELinux erişim sorununu gidermek için aşağıdaki prosedür izlenebilir. 

1. Kullanıcının güvenlik bağlamını belirleyin.

[test_user@RHEL4 ~]$ id -Z
user_u:user_r:user_t:s0
  1. NFS dışa aktarımının NFSv4.2 kullanılarak bağlandığını doğrulayın ve seclabel etkindir. 
[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. Dosya güvenliği bağlamını kontrol edin ve sorunu yeniden oluşturun
[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. Sabit sürücünüz için bellenim güncelleştirmesi bulmak üzere auditlog komutun neden başarısız olduğunu onaylamak için.
[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. Kullanıcı çalıştırdığında ls üzerinde /mnt, ls işlemi kullanıcının güvenlik türünü devralır, SELinux sistemi güvenlik türünün user_t default_t dosya türünde okuma iznine sahip olup olmadığını belirler. Bu durumda, ls Kaynak güvenlik türü user_t, dosyanın güvenlik türü default_t üzerinde okuma iznine sahip olmadığı için komut başarısız oldu. 

Bu, güvenlik politikası kurallarını kontrol ederek onaylanabilir.

root@RHEL4 ~]# sesearch -A -s user_t -t default_t -p read
[root@RHEL4 ~]#
  1. Aşağıdaki komut, user_t tipi default_t tipi üzerinde sahip olduğu tüm izinleri listeler.
[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. Yukarıdaki çıktıda, user_t etki alanına, default_t ise base_file_type aittir. Yani user_t sadece getattr, default_t türüne sahip dizinde arama iznini açın.
[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. Kullanıcı şunları yapabilir cd özniteliğinin değerini /mnt Açık'a izin verildiğinden. 
>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

Affected 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.