Linuxでchroot Jailについてたくさん聞いたり読んだりしましたが、試したことがありません(私は毎日Fedoraを使用しています)。それでは、chroot「刑務所」とは何ですか?いつ、なぜ使用/使用しない可能性があり、さらに知っておくべきことがありますか?どうやって作れますか?
ベストアンサー1
Chroot Jail は、プロセスとそのサブプロセスをシステムの残りの部分から分離する方法です。 rootユーザーは簡単に脱獄できるため、rootとして実行されていないプロセスでのみ使用してください。
アイデアは、プロセスを実行するために必要なすべてのシステムファイルがコピーまたはリンクされるディレクトリツリーを作成することです。次に、chroot()
システムコールを使用してルートディレクトリを新しいツリーのルートディレクトリに変更し、chroot環境内で実行されるプロセスを開始します。変更されたルートディレクトリ外のパスを実際に参照できないため、その場所で悪意のある操作(読み取り/書き込みなど)を実行できません。
Linuxでは、バインドマウントを使用することがchrootツリーを埋めるのに最適な方法です。たとえば、これを使用すると、同じ/lib
フォルダをインポートできますが、/usr/lib
そうでないフォルダはインポートできます。/usr
目的のディレクトリツリーを刑務所ディレクトリで作成したディレクトリにバインドするだけです。