Chrootとは
chrootは、ユーザーが信頼されていないプログラムをテストし、コンピューターの残りの部分に影響を与えたくない他の操作に従事できる、コンピューターシステム内の隔離された領域です。 Unixおよび同様のシステムで使用され、プログラムが参照として使用するルートディレクトリを変更する一連のコマンドを実行する必要があります。 chrootコマンドは、システムが適切にセットアップされていない場合、またはユーザーがシステム内で操作する際に注意を怠ると脆弱である可能性があるため、慎重に使用する必要があります。
ユーザーがchroot環境を作成すると、その環境内で実行されるプログラムは、指定されたディレクトリをルートとして扱います。 これらのプログラムは、上位のディレクトリがないことを前提としているため、ファイルシステムの最上部にある真のルートディレクトリにアクセスできません。 これにより、システムの残りの部分を危険にさらす可能性のある変更を加えることが難しくなります。 他のプログラムも、chroot内の情報にアクセスして変更することはできません。 分離ユニットのように機能します。
Chrootは、さまざまな手法を使用して破壊できます。 最も基本的な方法の1つは、chrootにいるユーザーをroot権限で残すことです。これにより、システムに対する広範な変更が可能になります。 プログラムはこれを利用して、デジタル刑務所から脱出し、システムの残りの部分にアクセスできます。 このため、コンピューターのセキュリティの標準的な手段である、ユーザーのアクセス許可をできるだけ早く変更することが重要です。 一般的なルールとして、ユーザーに最小特権ロールを設定しておくと、安全性の問題のリスクを減らすことができます。
また、偽のルートディレクトリには、プログラムが使用する必要のあるリソースを適切に入力する必要があります。 そうでない場合、正しく動作しない可能性があります。 ユーザーは通常、厳密に必要ではないものをchrootから除外しますが、一部の情報が利用可能であることを確認する必要があります。 ユーザーは環境内を移動するときに、発生する特定の問題や懸念に注意することができるため、コンピューターシステム全体で同じプロセスを試す前に気づくことができます。
これは、ユーザーがシステムの残りの部分へのリスクを減らしてコードまたはプログラムを探索したい便利なテスト環境です。 また、未知または信頼できない素材の取り扱いにも役立ちます。 これらをシステムに直接ロードするのではなく、ユーザーはchrootを使用してそれらを調べて評価し、安全かどうかを判断できます。