Linuxでのchrootjailについてよく聞いたり読んだりしましたが、まだ使用したことがありません(Fedoraを日常的に使用しています)。chrootの「jail」とは何ですか?いつ、なぜそれを使用する/使用しないのでしょうか。他に知っておくべきことはありますか?どうすれば作成できますか?
承認された回答:
chroot jailは、プロセスとその子をシステムの他の部分から分離する方法です。ルートユーザーは非常に簡単に刑務所から抜け出すことができるため、ルートとして実行されないプロセスにのみ使用する必要があります。
アイデアは、プロセスの実行に必要なすべてのシステムファイルをコピーまたはリンクするディレクトリツリーを作成することです。次に、chroot()
を使用します この新しいツリーのベースになるようにルートディレクトリを変更し、そのchrootされた環境で実行されているプロセスを開始するためのシステムコール。変更されたルートの外部のパスを実際に参照することはできないため、それらの場所で悪意を持って操作(読み取り/書き込みなど)を実行することはできません。
Linuxでは、バインドマウントを使用することは、chrootツリーにデータを取り込むための優れた方法です。これを使用して、/lib
のようなフォルダをプルできます および/usr/lib
/usr
をプルしていない間 、 例えば。必要なディレクトリツリーを、jailディレクトリに作成するディレクトリにバインドするだけです。