새 서버(ZFS에서 NFS로)에 NFS를 마운트하고 있습니다.
그런데 디렉토리에 들어가려고 하면 권한이 거부됩니다.
모든 플랫폼은 Oracle Linux 7.8입니다.
/etc/fstab:
IP_OF_ZFS:/ZFS_PATH/ZFS_PATH /OS_LEVEL_PATH/OS_LEVEL_PATH/OS_LEVEL_PATH nfs rw,bg,hard,nointr,rsize=1048576,wsize=1048576,tcp,actimeo=0,vers=3 0 0
/etc/mtab:
IP_OF_ZFS:/ZFS_PATH/ZFS_PATH /OS_LEVEL_PATH/OS_LEVEL_PATH/OS_LEVEL_PATH nfs rw,relatime,vers=3,rsize=1048576,wsize=1048576,namlen=255,acregmin=0,acregmax=0,acdirmin=0,acdirmax=0,hard,proto=tcp,timeo=600,retrans=2,sec=sys,mountaddr=IP_OF_ZFS,mountvers=3,mountport=20048,mountproto=tcp,local_lock=none,addr=IP_OF_ZFS 0 0
/etc/export:
/OS_LEVEL_PATH/OS_LEVEL_PATH/OS_LEVEL_PATH IP_OF_ZFS (rw,sync,no_root_squash)
마운트 명령:
mount -t nfs IP_OF_ZFS:/ZFS_PATH/ZFS_PATH /OS_LEVEL_PATH/OS_LEVEL_PATH/OS_LEVEL_PATH -o rw,bg,hard,nointr,rsize=1048576,wsize=1048576,tcp,actimeo=0,vers=3
성공적인 설치:
[root@hostname ~]# df -hP
Filesystem Size Used Avail Use% Mounted on
IP_OF_ZFS:/ZFS_PATH/ZFS_PATH 50T 2.6T 48T 6% /OS_LEVEL_PATH/OS_LEVEL_PATH/OS_LEVEL_PATH
하지만 권한 거부 오류가 발생합니다.
운영 체제 수준 오류:
[root@hostname ~]# cd /OS_LEVEL_PATH_1/
[root@hostname OS_LEVEL_PATH_1]# ls -ltrh
total 0
drwxr-xr-x 3 oracle oinstall 22 Dec 28 18:00 OS_LEVEL_PATH_2
[root@hostname OS_LEVEL_PATH_1]# cd OS_LEVEL_PATH_2
[root@hostname OS_LEVEL_PATH_2]# ls -ltrh
total 8.5K
drwx------+ 4 1001 grid 24 Jan 20 12:23 OS_LEVEL_PATH_3
[root@hostname OS_LEVEL_PATH_2]# cd OS_LEVEL_PATH_3
-bash: cd: OS_LEVEL_PATH_3: Permission denied
oracle, 그리드 또는 루트를 사용하여 OS_LEVEL_PATH_3을 입력하려고 할 때. 거부할 수 있는 권한을 부여합니다.
이 오류를 어떻게 해결할 수 있나요?
인사,
답변1
NFS 버전 3을 사용하고 있으므로 사용자는 UID/GID 번호로 식별됩니다. no_root_squash
내보내기 옵션을 사용하더라도 root
NFS 클라이언트 호스트의 사용자는 NFS 서버 호스트와 관련하여 반드시 특별한 의미를 갖지는 않습니다. 이 NFS 공유에서 root
NFS 클라이언트 사용자는 엄격한 권한만 가질 수 있으므로 root
액세스 권한을 부여해야 합니다 . 다른 사용자 권한과 마찬가지로
이 OS_LEVEL_PATH_3
디렉터리는 서버의 UID 1001이 소유합니다. 클라이언트에는 이 UID에 해당하는 사용자가 없으며 +
권한 문자열 끝에 있는 기호로 식별되는 ACL이 디렉터리에 있습니다. getfacl /OS_LEVEL_PATH_1/OS_LEVEL_PATH_2/OS_LEVEL_PATH_3
전체 ACL을 보려면 실행하세요 .
ACL이 다른 사용자에게 액세스 권한을 부여하지 않는 한 UID 1001을 가진 사용자만 디렉토리에 액세스할 수 있습니다 OS_LEVEL_PATH_3
. NFS 서버에서 실행 하여 id 1001
UID 1001을 가진 사용자를 확인한 다음 서버에서와 동일한 사용자 이름으로 클라이언트에서 사용자 #1001을 생성하거나 OS_LEVEL_PATH_3
NFS 서버에서 디렉터리의 ACL을 수정해야 합니다( setfacl
Linux인 경우 명령 사용). , 실제로 존재하고 액세스가 필요한 클라이언트에 일치하는 UID/GID가 있는 사용자/그룹에 액세스 권한을 부여하는 다른 시스템(Linux가 아닌 경우)이 있을 수 있습니다.