授予单个客户端对 NFS 子目录的读写访问权限,而其他客户端则具有更受限制的访问权限

授予单个客户端对 NFS 子目录的读写访问权限,而其他客户端则具有更受限制的访问权限

所以我有一个 NFS 服务器,可以将大部分共享导出到整个网络。其中一位客户要求写访问作为到共享的子目录。该客户端仅需要访问该子目录(并且我不想授予客户端对其他导出的完全访问权限)。我不想向其他主机授予相同的权限。

经过一番摆弄后,我想出了以下/etc/exports文件:

/media/DATA         192.168.0.0/24(ro,fsid=0,no_subtree_check)
/media/DATA/photos  192.168.0.30(rw,fsid=0,no_root_squash,no_subtree_check)

正如您所看到的,(至少)有两个特点:

  • 同一目录 ( /media/DATA/photos) 为主机导出两次192.168.0.30(由于192.168.0.30是 的子集192.168.0.0/24,并且/media/DATA/photos是 的子目录/media/DATA
  • 有两个出口fsid=0

这有效,就像我现在可以做的那样:

  • 192.168.0.99运行时mount nfsserver:/ /mnt我会得到访问(使用 root-squashing)nfsserver:/media/DATA/目录
  • 192.168.0.30运行时mount nfsserver:/ /mnt我会得到读写访问(即使!)到nfsserver:/media/DATA/photo/目录

耶!

然而:这能保证有效吗?

我还没有找到任何关于如果两个导​​出都获得该fsid=0选项会发生什么的文档。哪一个会优先?

另外:我很高兴不将 192.168.0.30 的导出重新设置为/media/DATA/photos(si 我需要 mount nfsserver:/photos)。但是改变线路来/media/DATA/photos 192.168.0.30(rw,no_root_squash,no_subtree_check)删除读写无根南瓜选项。

旁注:我找到了一个7岁的孩子红帽支持问题这应该可以解决这个问题。但由于我使用 Debian 并且不打算很快切换到 Redhat,所以我无意为这个问题购买订阅)

相关内容