NFS all_squashと同じ

NFS all_squashと同じ

クライアントは同じファイルシステムを複数回マウントする必要がある特定の要件がありますが、各マウントには基本ディレクトリとファイルのグループ権限に基づいて基本データの異なるビューがあります。

私は、過去にNFSをall_squashおよびanongid /etc/exportsオプションと一緒に使用して、ユーザーが特定のグループIDを持つかのように特定のマウントを表示できるようにしました。ユーザーグループへのアクセスを適用して、基本ファイルシステムへのアクセスを効果的にフィルタリングします。

残念ながら、ファイルシステムはAmazon EFS(実際にはNFSサーバーですが設定オプションはありません)になるため、この場合は使用できません。

私はbinfsを見て、これは強制グループオプションを提供しますが、クライアントが特定のグループを持つように強制するのではなく、すべてのファイルが特定のグループを持つように強制することで変更されていないファイルを見ることができるので、それは私が望むものとは反対です.

filterfsという項目への言及を見たことがありますが、長い間使用されていないようです。

ユーザーグループを一時的に効果的に変更して(ユーザーがWebサーバーデーモンなのでsudoを使用せずに)、単一ユーザーのファイルシステムのフィルタリングされたビューを取得する方法を知っていますか?

ベストアンサー1

正しい方向を教えてくれた@sourcejediに感謝します。

元のNFS設定ではすべてのカボチャデーモンユーザーが特定のグループを持っているように見えるようにするために使用されます(提供:アノンジド)。この例では、グループIDが601であると仮定します。よりしたがって、元のファイルシステムは、マウントされたファイルシステムに基づいてファイル/ディレクトリに対する権限を適用できます。アノンジド601へ。デーモンユーザーの実際のグループ権限に関係なく、権限はNFSマウントレベルで評価されているようです。異なる方法を使用して同じファイルシステムに異なるNFSをマウントするすべてのカボチャ設定は、ユーザーが異なるグループメンバーシップを持っているかのように、ファイルのさまざまなビューを効果的に表示します。

使用バインドファイルシステム - マッピング若干異なる設定でも同じ結果が得られます。構成例は、デフォルトのファイルシステムにグループID 601を持つすべてのファイル/ディレクトリが、マウントされたファイルシステムにグループID 599を持つように見えるようにファイルシステムをバインドします。

bindfs --map=@601/@599 --create-for-group=601 --create-for-user=600 --create-with-perms='u=rwD:g=rwD:o=' $FS_ROOT $MOUNT_ROOT/view601

デーモンにファイルを一覧表示すると、$MOUNT_ROOT/view601ユーザーはグループ599の代わりにグループ601のすべてのファイルを表示できるようになりました。グループgid 599のメンバーシップをデーモンに提供すると、インストールに応じて権限を効果的に適用できます。別のマウントが gid 602 を 599 にマップする場合、元のグループ 602 (601 の代わりに) が 599 にマップされ、デーモンプログラムで使用できるようになると、同じ基本ファイルシステムのファイルを同じユーザーが使用できるようになります。

おすすめ記事