Linux NFS配置no_root_squash以解决客户端挂载点目录的写入权限问题

[root@localhost ~]# cat /etc/exports
/home *(rw,sync,no_subtree_check,no_root_squash)
/var/www/svn *(rw,sync,no_subtree_check,no_root_squash)

在这里插入图片描述

如果你希望在 NFS 客户端上使用 /home 作为挂载点,并且在 /home 目录下创建一个名为 home 的子目录,那么确保你有足够的权限来在 /home 目录下创建子目录是非常重要的。

问题可能在于挂载 NFS 文件系统时,权限被覆盖了。为了在 NFS 客户端上解决权限问题,你可以尝试在挂载 NFS 文件系统时使用 no_root_squash 选项。no_root_squash 选项会确保在 NFS 客户端上使用根用户(UID 为 0)时,其权限不被映射到远程 NFS 服务器上的一个非特权用户。这样就能确保根用户在客户端上拥有和服务器上相同的权限,包括在 /home 目录下创建子目录。

例如,假设你的 /etc/fstab 文件中有以下挂载配置:

172.16.3.67:/remote_home   /home   nfs   defaults 0 0

你可以将其修改为:

172.16.3.67:/remote_home   /home   nfs   defaults,no_root_squash 0 0

然后重新挂载:

sudo mount -o remount /home

通过添加 no_root_squash 选项,你应该能够在 NFS 客户端的 /home 目录下创建 home 子目录,而不会遇到权限问题。

但请注意,启用 no_root_squash 会使得根用户在 NFS 客户端上拥有和服务器上相同的权限,这可能会带来一些安全风险。在实际应用中,请谨慎权衡安全性和方便性,并确保根据你的环境选择合适的权限配置。

猜你喜欢

转载自blog.csdn.net/a772304419/article/details/131985892