GNU/Linux >> Linux の 問題 >  >> Linux

chroot jailとは何ですか?その使用方法は?

はじめに

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

Linux
  1. chroot Jail で DNS および FTP サービスを実行する方法

  2. Build-Essential-Ubuntu とは何ですか? インストール方法と使用方法は?

  3. u-Boot dtb ファイルとは何ですか? また、その使用方法 (BeagleBoard xM) を教えてください。

  1. LinuxでのChownコマンドとは何ですか?その使用方法

  2. cURLコマンドとは何ですか?その使用方法は?

  3. Chrootの「刑務所」–それは何で、どのように使用するのですか?

  1. Umaskとは何ですか?その使用方法

  2. lspciコマンド:それは何であり、それを使用する方法

  3. public_ftpフォルダーとは何ですか。