chroot Jailとは何ですか?
Unixオペレーティングシステム上のchrootは、現在実行中のプロセスとその子プロセスの見かけのルートディレクトリを変更する操作です。 この変更された環境で実行されるプログラムは、指定されたディレクトリツリー外のファイルにアクセスできません。 これは基本的にディレクトリツリーへのアクセスを制限するため、”chroot jail”という名前になります。
アイデアは、プロセスの実行に必要なすべてのシステムファイルをコピーまたはリンクするディレクトリツリーを作成することです。 次に、chrootシステムコールを使用して、ルートディレクトリをこの新しいツリーのベースに変更し、そのchroot環境で実行されているプロセスを開始します。 変更されたルートの外側のパスを実際に参照することはできないので、それらの場所に悪意を持って読み書きすることはできません。
なぜ必要なのか、仮想マシンとどのように違うのですか?
これはオペレーティングシステムレベルの仮想化であり、ホストOSの複数の分離インスタンスを作成するために仮想マシンの代わりに使用される これはカーネルレベルの仮想化であり、アプリケーション層の仮想化である仮想マシンと比較して実質的にオーバーヘッドがないため、同じハードウェア上に複数の分離されたインスタンスを作成するための非常に優れた方法を提供します。 仮想マシン(VM)は、マシンのソフトウェア実装であり、彼らは多くの場合、作業オペレーティングシステムの仮想イメージをレンダリングするために、ハードウ
chroot jailを作成するための基本的なコマンドは次のとおりです:
chroot /path/to/new/root command OR chroot /path/to/new/root /path/to/server OR chroot /path/to/new/root /path/to/server
メモ: Root/特権ユーザーのみがchrootシステムコールを使用できます。 コマンドへのアクセス権を持つ特権のないユーザーは、chroot jailをバイパスできます。
‘bash’と’ls’コマンドのミニジェイルを作成する手順
1. コマンドのルートとして機能するディレクトリを作成します。
$ mkdir jailed $ cd jailed
2. …




