
我有以下出口
/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: 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)