NFS 绑定挂载目录具有相同的文件句柄

NFS 绑定挂载目录具有相同的文件句柄

我有以下出口

/exports/nfs            192.168.1.0/24(fsid=1234,sec=krb5p,rw,no_subtree_check,root_squash,crossmnt,async)
/exports/share          192.168.1.0/24(fsid=2345,ro,no_subtree_check,all_squash,crossmnt,insecure)

这两个共享都具有相同的目录绑定挂载在其中

mount --bind /mnt/bin /exports/nfs/bin
mount --bind /mnt/bin /exports/share/bin

我的目标是公开相同的信息,但只有使用 krb5 的共享才是可写的。

每当客户端挂载 /exports/share 时,他们无法 ls 绑定的目录

ls: cannot access '/mnt/share/bin': Operation not permitted

我在 NFS 服务器上看到以下内容

 rpc.mountd[12080]: /exports/nfs/bin and /exports/share/bin have same filehandle for 192.168.1.0/24, using first

我如何才能将这些目录一个 RW(krb5p)和另一个 RO(无 krb5)公开到 192.168.1.0/24?

答案1

我能够解决这个问题。

我需要导出绑定目录,并在其上设置唯一的 fsid。我原本以为共享根目录上的 fsid 就足够了。

/exports/nfs                192.168.1.0/24(fsid=1234,sec=krb5p,rw,no_subtree_check,root_squash,crossmnt,async)
/exports/nfs/bin            192.168.1.0/24(fsid=1235,sec=krb5p,rw,no_subtree_check,root_squash,crossmnt,async)

/exports/share              192.168.1.0/24(fsid=2345,ro,no_subtree_check,all_squash,crossmnt,insecure)
/exports/share/bin          192.168.1.0/24(fsid=2346,ro,no_subtree_check,all_squash,crossmnt,insecure)

相关内容