ホームディレクトリの階層をいくつかのFreeBSD刑務所にさらそうとしています。ホームディレクトリは、それぞれが一意のZFSデータセットになるように構成されます。刑務所は開発作業に使用されるため、定期的に作成および破棄されます。
私の最初の考えは、単純にnullfsを使用し/home
てjail内にマウントすることでしたが、nullfsは下位のファイルシステムにアクセスする方法を提供しません。
2番目の考えは、NFSを介してディレクトリをエクスポートしてから、各jail内でautomounterデーモン(amd)を実行することでした。刑務所内でNFSマウントを実行できる場合は、これでうまくいきます。しかし、そうではありません。
私の3番目の考えは、ホストでamdを実行し、jailにnullfsマウントをプロビジョニングすることでした...しかしnullfsの amdサポートは存在しません。
私の4番目の考えは、NFSを使用したディレクトリのエクスポートに戻ることでした。もちろん、amdはNFSで動作します。残念ながら、ターゲットのマウントポイントにディレクトリをマウントするのではなく、amdは一時的な場所(/.amd_mnt/...
)にマウントしてから、もちろん、jail環境内では役に立たないシンボリックリンクを作成します。
だから、nullfsを使用してサブディレクトリを/.amd_mnt
jail に公開できますか?いや!これにより、nullfsを使用して下位ファイルシステムにアクセスする方法がないことがわかった最初の試みに戻ります。
そして、私の頭が爆発した。
私がやろうとしていることに対して良い解決策はありますか?悪いソリューションは複数作成することになり、刑務所起動後にスクリプトを実行することですNULLFSの各ホームディレクトリのマウントポイントを、これはかなり不格好である-それは、アカウントに新しいディレクトリまたは削除されたディレクトリを取るために定期的に実行する必要があります。したがって、基本的には、悪いオートマウンターを作成する必要があります。
より良い方法がなければなりません。Serverfault、私を助けてください、あなたは私の唯一の希望です!
更新1:で問題の一部を解決できるかもしれないと思いましたがpam_mount
、これはせいぜい不完全です。また、ドキュメントからpam_mount
、ターゲットマウントポイントを自動的に作成できるかどうかも明確ではありません。マウントポイントが先験的に存在する必要がある場合、この解決策は、私がすでに提案した悪い自動マウンターよりも優れていません。
更新2:以下の回答で説明したようVFCF_JAIL
に、NFSファイルシステムの設定により、刑務所はNFSマウントを実行できます。残念ながら、オートマウンタは役に立たない振る舞いを続けており、刑務所で実行すると、プロセスエントリを削除するためにシステムの再起動が必要になるような方法でくさびでくぐることに非常に優れているようです。