はじめに
chroot刑務所という用語 1992年までさかのぼり、今日頻繁に使用されています。しかし、この用語は何を意味し、この操作は何に使用されますか?
このチュートリアルでは、chroot jailの使用の基本を説明し、chrootjailを設定する方法を示します。
前提条件
- LinuxまたはUnixオペレーティングシステムを実行しているシステム
- sudoレベルの権限を持つユーザーアカウント
- 端末/コマンドラインへのアクセス
chroot jailとは何ですか?
chroot (ルート変更の略 )は、見かけのルートディレクトリをユーザーが指定したものに変更するUnix操作です。
chroot操作の後に実行するプロセスは、新しく定義されたルートディレクトリとそのサブディレクトリにのみアクセスできます。この操作は、口語的に chroot jailとして知られています。 これらのプロセスは、新しいルートディレクトリの外部で読み取りまたは書き込みを行うことができないためです。
chroot jailは何に使用されますか?
chroot刑務所 プロセスを実行するための限定されたサンドボックスを作成するために使用されます。これは、プロセスが指定されたディレクトリツリーの外部のデータを悪意を持って変更できないことを意味します。
chroot jailの別の用途は、仮想マシンの代わりです。この方法は、カーネルレベルの仮想化と呼ばれます。 仮想マシンよりも必要なリソースが少なくて済みます。この操作により、ユーザーは同じシステム上に複数の分離されたインスタンスを作成できます。
chrootjailの使用方法
この例では、chroot jailを作成して設定し、 bash
を実行できるようにします。 およびls
コマンド。
次の手順に従ってください:
1. chroot_jailという名前の新しいディレクトリを作成します :
mkdir chroot_jail
chroot
しようとすると 新しいディレクトリに、次の出力が表示されます。
bash
を有効にする必要があります chroot
を実行する前にコマンドを実行します 新しいディレクトリに。これには、コマンドファイルと関連するすべてのライブラリを新しいルートディレクトリにコピーする必要があります。
2. chroot_jail内に新しいサブディレクトリツリーを作成します :
mkdir -p chroot_jail/bin chroot_jail/lib64/x86_64-linux-gnu chroot_jail/lib/x86_64-linux-gnu
これらのサブディレクトリには、 bash
に必要なすべての要素が格納されます。 およびls
コマンド。
3. cp
を使用する which
を使用したコマンド コマンドを使用すると、 bash
をコピーできます およびls
コピー元のパスを指定せずにコマンドを実行します。
これを行うには、次を使用します:
cp $(which ls) chroot_jail/bin/
cp $(which bash) chroot_jail/bin/
4. bash
の場合 およびls
新しいルートフォルダで作業するには、関連するすべてのライブラリを chroot_jail / librariesに追加します 。 ldd
を使用する どのライブラリがどのコマンドに関連付けられているかを確認するコマンド:
ldd $(which bash)
ldd $(which ls)
5.適切なライブラリをchroot_jailにコピーします サブディレクトリlib およびlib64 。
bash
の場合 コマンド:
cp /lib/x86_64-linux-gnu/libtinfo.so.6 chroot_jail/lib/x86_64-linux-gnu/
cp /lib/x86_64-linux-gnu/libdl.so.2 chroot_jail/lib/x86_64-linux-gnu/
cp /lib/x86_64-linux-gnu/libc.so.6 chroot_jail/lib/x86_64-linux-gnu/
cp /lib64/ld-linux-x86-64.so.2 chroot_jail/lib64/
ls
の場合 コマンド:
cp /lib/x86_64-linux-gnu/libselinux.so.1 chroot_jail/lib/x86_64-linux-gnu/
cp /lib/x86_64-linux-gnu/libc.so.6 chroot_jail/lib/x86_64-linux-gnu/
cp /lib/x86_64-linux-gnu/libpcre2-8.so.0 chroot_jail/lib/x86_64-linux-gnu/
cp /lib/x86_64-linux-gnu/libdl.so.2 chroot_jail/lib/x86_64-linux-gnu/
cp /lib64/ld-linux-x86-64.so.2 chroot_jail/lib64/
cp /lib/x86_64-linux-gnu/libpthread.so.0 chroot_jail/lib/x86_64-linux-gnu/
6. chroot
を使用します ルートをchroot_jailに変更するコマンド ディレクトリ:
sudo chroot chroot_jail
ls
を使用します 新しいルートディレクトリツリー内のすべてのファイルとディレクトリを一覧表示するコマンド:
ls -R
7.新しいルートフォルダの使用が終了したら、シェルを終了します。
exit