Dell Unity: Unity OE 5.5로 업그레이드한 후 NFS 내보내기의 파일 또는 폴더에 액세스할 수 없음

요약: Linux 사용자가 Unity OE 5.5로 업그레이드한 후 NFS(Network File System) 내보내기의 일부 파일 또는 폴더에 액세스하지 못할 수 있습니다.

이 문서는 다음에 적용됩니다. 이 문서는 다음에 적용되지 않습니다. 이 문서는 특정 제품과 관련이 없습니다. 모든 제품 버전이 이 문서에 나와 있는 것은 아닙니다.

증상

  • Unity를 OE(Operating Environment) 5.5로 업그레이드한 후 일부 파일에 액세스할 수 없거나 폴더를 나열할 수 없다는 메시지가 나타날 수 있습니다.
  • 이 문제는 다음 조건에서만 발생합니다. 
    • 클라이언트는 다음을 사용하여 NFS 내보내기를 마운트합니다. NFSv4.2, 클라이언트가 다음을 사용하여 NFS 내보내기를 마운트하는 경우 액세스가 양호합니다. NFSv3또는 NFSv4.0또는 NFSv 4.1.  
    • SELinux Linux 클라이언트에서 활성화되어 있는지 확인합니다. 

예를 들면 다음과 같습니다.

  • 사용자 test_user NFS 마운트 지점의 콘텐츠를 나열할 수 없습니다. /mnt 를 사용하여 장착할 때 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
  • 사용자 test_user 클라이언트가 다음을 사용하여 NFS 내보내기를 다시 마운트한 후 동일한 폴더를 나열할 수 있습니다. 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

원인

  • Unity는 다음에 대한 지원을 추가했습니다. NFSv4.2 Unity OE 5.5부터 NFSv4.2 프로토콜 지원은 추가적인 보안 및 성능을 제공하며, 예비 파일 및 NFS 레이블 지정에 대한 NFS 속성 지원.
  • 의 보안 레이블 기능 NFSV4.2 보안 레이블(예: SELinux contexts)를 NFS 공유를 통해 저장 및 적용할 수 있습니다. 기본적으로 이 기능은 Unity NAS 서버에서 활성화됩니다. 
  • 날짜 SELinux 이 Linux 클라이언트에서 활성화된 경우 파일, 폴더, 프로세스, 포트 및 디바이스를 포함한 시스템의 모든 객체에 보안 레이블을 할당합니다. 
  • 기본 보안 컨텍스트 SELinux 다음을 사용하여 마운트된 NFS 내보내기의 파일에 할당합니다. NFS v3, V4.0또는 v4.1 다음과 같음 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
  • 클라이언트가 다음을 사용하여 NFS 내보내기를 마운트하는 경우 NFS v4.2로 변경됩니다. NFS 파일의 기본 보안 컨텍스트가 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
  • 보안 컨텍스트, 특히 보안 유형이 nfs_t 에서 default_t 다음과 같은 일부 액세스 문제가 발생할 수 있습니다. SELinux 사용자 또는 프로세스와 파일 또는 폴더의 보안 유형을 계산하는 정책 규칙에 따라 액세스 권한을 결정합니다.

해결

    사용자는 보안, 단순성 또는 기능 요구 사항과 같은 우선 순위에 따라 하나의 솔루션을 선택해야 합니다. 
     

    • 다음을 사용하여 NFS 내보내기를 다시 마운트합니다. NFSv4.1, NFSv4.0, or NFSv3 클라이언트에서:
    mount -o vers=4.1 <nas server IP>:/<export> /<localmountpoint>
    • 다음을 사용하여 NFS 내보내기를 마운트합니다. NFSv4.2 그러나 보안 컨텍스트를 지정합니다.
    mount -o context=system_u:object_r:nfs_t:s0 <nas server IP>:/<export> /<localmountpoint>
    • NFS 내보내기에 있는 파일의 보안 유형을 요구 사항에 따라 적절한 유형으로 변경합니다.
    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
    

    추가 정보

    다음 절차에 따라 문제를 해결할 수 있습니다. SELinux 액세스 문제입니다. 

    1. 다음과 같이 사용자의 보안 컨텍스트를 확인합니다.

    [test_user@RHEL4 ~]$ id -Z
    user_u:user_r:user_t:s0
    
    1. 다음을 사용하여 NFS 내보내기가 마운트되었는지 확인합니다. NFSv4.2seclabel 사용 여부:
    [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. 파일 보안 컨텍스트를 확인하고 문제를 재현합니다.
    [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. 웹 사이트 auditlog 명령이 실패하는 이유를 확인하려면 다음을 수행합니다.
    [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. 사용자가 실행할 때 ls/mntTthe ls 프로세스는 사용자의 보안 유형을 상속합니다. SELinux 시스템은 보안 유형이 user_t 파일 형식에 대한 읽기 권한이 있습니다. default_t. 이 경우 ls 소스 보안 유형으로 인해 명령이 실패했습니다. user_t 파일의 보안 유형에 대한 읽기 권한이 없습니다. default_t

    이는 보안 정책 규칙을 확인하여 확인할 수 있습니다.

    root@RHEL4 ~]# sesearch -A -s user_t -t default_t -p read
    [root@RHEL4 ~]#
    1. 다음 명령을 실행하면 모든 사용 권한 유형이 나열됩니다 user_t HAS ON 유형 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. 위 출력에서 user_t 도메인에 속하고, default_t 에 속함 base_file_type.
      그래서 user_t 만 있음 getattr, 열기, 디렉토리에 대한 검색 권한 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>
    1. 사용자는 다음을 수행할 수 있습니다. cd 에서 /mnt 열기가 허용되기 때문입니다. 
    >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

    해당 제품

    Dell EMC Unity, Dell Unity Operating Environment (OE)
    문서 속성
    문서 번호: 000334013
    문서 유형: Solution
    마지막 수정 시간: 17 4월 2026
    버전:  4
    다른 Dell 사용자에게 질문에 대한 답변 찾기
    지원 서비스
    디바이스에 지원 서비스가 적용되는지 확인하십시오.