
以下の輸出品があります
/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
これらのディレクトリの 1 つを RW (krb5p) として、もう 1 つを 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)