この問題chroot-jail - 定義と使用方法それが何を指すのか、どのように使用するのかchroot
。
私が理解していないのはなぜchroot
。答えは、「chroot
プログラムがエミュレートされたファイルシステムの外部のファイルを変更するのを防ぐために」セキュリティメカニズムとして使用してはならないと指摘しています。
特に、プロセスがサブディレクトリをルートファイルシステムにマップする必要があるのはなぜですか。
答え1
chroot環境を使用するにはいくつかの理由があります。これにより、さまざまなバージョンのプログラムを維持したり、特定の環境をシミュレートして特定の機能をテストしたり、基本システムとは異なるシステムイメージを作成したりすることができます。
ウィキペディアchroot Jails とその使い方について詳しく教えてください。
そこから:
テストと開発: chroot でソフトウェアのテスト環境を設定できます。それ以外の場合は、本番システムに展開するリスクが大きすぎます。
依存関係の制御:予想される依存関係のみが埋め込まれたchrootでソフトウェアを開発、構築、およびテストできます。これにより、開発者がさまざまなライブラリセットをインストールしたプロジェクトを構築することによって発生する特定の種類の接続ドリフトを防ぐことができます。
互換性:レガシーソフトウェアまたは他のABIを使用するソフトウェアは、サポートライブラリまたはデータファイルがホストシステムの名前または接続と競合する可能性があるため、chrootで実行する必要がある場合があります。
また覆う:システムが起動しない場合は、代替ルートファイルシステム(インストールメディアやLive CDなど)から起動し、chrootを使用して破損した環境に戻すことができます。
権限の分離:プログラムが開いているファイルディスクリプタ(ファイル、パイプ、ネットワーク接続用)をchrootに渡すことで、chrootディレクトリに作業ファイルを保存する必要がなくなり、刑務所の設計を簡素化できます。これにより、セキュリティ侵害を先制的に抑制するために、サンドボックス内の特権プログラムの潜在的に脆弱な部分を実行する一般的な配置も簡素化されます。 chrootはroot権限を持つプロセスを含めるのに十分ではありません。