chroot コマンド
目的
コマンドのルート・ディレクトリーを変更します。
構文
chroot Directory Command
説明
注意: 新しいルート・ディレクトリー内のスペシャル・ファイルのメジャー・デバイス番号とマイナー・デバイス番号が実ルート・ディレクトリーのものと異なる場合は、ファイルシステムが上書きされることがあります。
chroot コマンドは、root ユーザー権限で操作するユーザーだけが使用できます。root ユーザー権限があれば、chroot コマンドでルート・ディレクトリーを Command の実行時に Directory パラメーターで指定したディレクトリーに変更できます。パス名の先頭にスラッシュ (/) があると、指定した Command とその子プロセス用の Directory に変更されます。
Directory パス名は、常に現行ルートに対する相対パスです。chroot コマンドが有効なときであっても、Directory パス名は実行中のプロセスの現行ルートに対する相対パスです。
chroot コマンドの実行後に、大半のプログラムが正しく実行されなくなることがあります。例えば、共用ライブラリーを使用するコマンドは、共用ライブラリーが新しいルート・ファイルシステムにないと正しく実行されません。最もよく使用される共用ライブラリーは、/usr/ccs/lib/libc.a ライブラリーです。
Killed
だけ戻し、その詳細は戻しません。パラメーター
項目 | 説明 |
---|---|
Command | chroot コマンドで実行するコマンドを指定します。 |
Directory | 新しいルート・ディレクトリーを指定します。 |
セキュリティー
RBAC ユーザーと Trusted AIX® ユーザーへの注意: このコマンドは特権命令を実行できます。特権命令を実行できるのは特権ユーザーのみです。 権限および特権の詳細情報については、「セキュリティー」の『特権コマンド・データベース』を参照してください。このコマンドに関連した特権および権限のリストについては、lssecattr コマンドまたは getcmdattr サブコマンドを参照してください。
例
注意: 次の例に示すコマンドは、共用ライブラリーに依存している場合があります。chroot コマンドを実行する前に、それらの共用ライブラリーが新しいルート・ファイルシステムにあることを確認してください。
- /usr/bin ディレクトリーをルート・ファイルシステムとして pwd コマンドを実行するには、以下のように入力します。
mkdir /usr/bin/lib cp /usr/ccs/lib/libc.a /usr/bin/lib cp /usr/lib/libcrypt.a /usr/bin/lib chroot /usr/bin pwd
- 別のファイルシステムをルート・ファイルシステムとして Korn シェルのサブシェルを実行するには、以下のように入力します。
これにより、ディレクトリー名 / (スラッシュ) は、/usr/bin/ksh コマンドが実行されている間は /var/tmp を参照することになります。また、元のルート・ファイルシステムはアクセス不能になります。/var/tmp ファイル上のファイルシステムには、ルート・ファイルシステム標準ディレクトリーが入っていなければなりません。特に、シェルが /var/tmp ファイルシステム上の /bin ファイルと /usr/bin ファイルにおいてコマンドを探すときは注意してください。chroot /var/tmp /usr/bin/ksh
/usr/bin/ksh コマンドを実行すると、ユーザーの元のシェルから独立したプロセスとして実行するサブシェルが作成されます。 サブシェルを終了し、元のシェルに戻るには、END OF FILE (Ctrl-d) キー・シーケンスを押します。これにより、.(現行ディレクトリー) と / (ルート・ディレクトリー) の意味も含めて、元のシェルの環境が復元されます。
- 新しいファイルでなく元のルートに対して相対的なファイルを作成するには、以下のように入力します。
chroot directory Command > file
ファイル
項目 | 説明 |
---|---|
/etc/passwd | 基本ユーザー属性の入ったファイルを指定します。 |
/usr/ccs/lib/libc.a | 標準入出力ライブラリーと標準 C ライブラリーを指定します。 |
/usr/ccs/lib/libcurses.a | curses ライブラリーを指定します。 |
/usr/lib/liblvm.a | LVM (論理ボリューム・マネージャー) ライブラリーを指定します。 |
/usr/ccs/lib/libm.a | 数学ライブラリーを指定します。 |
/usr/lib/libodm.a | ODM (オブジェクト・データ・マネージャー) ライブラリーを指定します。 |
/usr/sbin/chroot | chroot コマンドが入っています。 |