仮想 /proc ファイルシステムを使用して chroot でプロセスを実行する必要があるため、プロセスは同じホストで実行されている他のプロセスにアクセスできません。プロセスは root で実行され、chroot 内のファイルに完全にアクセスできる必要があります。また、ファイルシステムへの変更は、chroot されたディレクトリに保存される必要があります。
それは可能なのでしょうか?
答え1
chroot環境で/procをマウントすることは可能です - 参照この答え詳細については、こちらをご覧ください。
この情報の多く(すべてではないにしても)は /proc を通じてアクセスできるため(/proc/[pid 番号] でこれにアクセスできます)、プログラムが他のプロセスにアクセスできなくなるのではないかと懸念しています。
「ファイルシステムへの変更」が何を意味するのかは不明ですが、これらの変更が /proc、/dev/ などの特別なビットを除いたファイルシステムに対するものである場合、これらは chroot 内に残ります。
答え2
Linux 名前空間を使用してこれを実現できます。コンテナー (Docker、lxc) はそれらから作成されます。はman unshare
あなたの友達です。不適切に使用すると、攻撃者が簡単に逃げられる可能性があることに注意してくださいchroot
。使用する前にこれを読んでください。警告しました。