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. SELinuxLinux 클라이언트에서 활성화되어 있는지 확인합니다.
- 클라이언트는 다음을 사용하여 NFS 내보내기를 마운트합니다.
예를 들면 다음과 같습니다.
- 사용자
test_userNFS 마운트 지점의 콘텐츠를 나열할 수 없습니다./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.2Unity OE 5.5부터NFSv4.2프로토콜 지원은 추가적인 보안 및 성능을 제공하며, 예비 파일 및 NFS 레이블 지정에 대한 NFS 속성 지원. - 의 보안 레이블 기능
NFSV4.2보안 레이블(예:SELinuxcontexts)를 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>
- 최대 지원 다운그레이드
NFSv4Unity의 버전v4.2에서v4.1.
- Unity에서 보안 레이블을 비활성화합니다.
- 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
- 다음을 사용하여 NFS 내보내기가 마운트되었는지 확인합니다.
NFSv4.2및seclabel사용 여부:
[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)
- 파일 보안 컨텍스트를 확인하고 문제를 재현합니다.
[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
- 웹 사이트
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
- 사용자가 실행할 때
ls에/mntTthels프로세스는 사용자의 보안 유형을 상속합니다.SELinux시스템은 보안 유형이user_t파일 형식에 대한 읽기 권한이 있습니다.default_t. 이 경우ls소스 보안 유형으로 인해 명령이 실패했습니다.user_t파일의 보안 유형에 대한 읽기 권한이 없습니다.default_t.
이는 보안 정책 규칙을 확인하여 확인할 수 있습니다.
root@RHEL4 ~]# sesearch -A -s user_t -t default_t -p read [root@RHEL4 ~]#
- 다음 명령을 실행하면 모든 사용 권한 유형이 나열됩니다
user_tHAS 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;
- 위 출력에서
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>
- 사용자는 다음을 수행할 수 있습니다.
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 사용자에게 질문에 대한 답변 찾기
지원 서비스
디바이스에 지원 서비스가 적용되는지 확인하십시오.