Oracle Linux 7.8 - NFS 权限被拒绝

Oracle Linux 7.8 - NFS 权限被拒绝

我将 NFS 安装到我的新服务器(ZFS 到 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/导出:

/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、grid 或 root 进入 OS_LEVEL_PATH_3 时。它给予许可被拒绝。

我该如何解决这个错误?

问候,

答案1

您使用的是 NFS 版本 3,因此用户由 UID/GID 号标识。即使使用no_root_squash导出选项,rootNFS 客户端主机的用户对于 NFS 服务器主机也不一定具有任何特殊意义:在这个 NFS 共享上,rootNFS 客户端的用户可能只能严格按照权限,因此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目录。您应该id 1001在 NFS 服务器上运行以查看哪个用户的 UID 为 1001,然后使用与服务器上相同的用户名在客户端上创建用户 #1001,或者修改OS_LEVEL_PATH_3NFS 服务器上目录的 ACL(使用setfacl命令如果是 Linux,则可能是其他系统(如果是非 Linux 系统),以向实际存在且在客户端上具有匹配的 UID/GID 且需要访问权限的用户/组授予访问权限。

相关内容