図1●chrootすることでルートディレクトリが「TEST」に移動
図1●chrootすることでルートディレクトリが「TEST」に移動
[画像のクリックで拡大表示]

 LinuxなどのUNIX系OSでルートディレクトリを変更する操作です。

 UNIX系OSでは、「ルート(/)」と呼ばれるディレクトリを起点にしたツリー構造でファイルシステムや各種デバイスを管理しています。chrootにより、この起点となるルートディレクトリが変更され、それ以下にしかアクセスできなくなります(図1)。

 chrootは、ソフトウエア開発時のテスト環境や、特権を分離することによる保護などに利用されます。

 端末上からchrootするには、少なくとも変更先のディレクトリ内にシェルが起動できる環境が必要です。その環境を用意し、スーパーユーザー権限で引数に変更先のディレクトリを指定して「chroot」コマンドを実行します。すると、chrootのシステムコールが発行され、ルートディレクトリが切り替わります。

 このルートディレクトリは、そのシェル上で実行されるプロセスに適用されます。