CentOS7.4 chrootについて

シェアする

定義ファイルなどで、chrootを指定できるものがあります。有名どころでは、BINDなんかが指定できるようになっています。経験上、UNIX系の初心者が、このchrootの理解が難しいと言うか、難しく考えてしまいがちです。

chrootの操作

UNIX系のOSにおけるディレクトリーは、「/(ルートディレクトリー」が基点となりますが、chrootを使うことで、その基点を変更する事ができます。

# mkdir /chrootdir               <= 確認用に適当なディレクトリーを作成
# cp -pr /usr/bin /chrootdir/.   <= chrootコマンドを使うため必要
# cp -pr /usr/lib64 /chrootdir/. <= chrootコマンドを使うため必要
# chroot /chrootdir              <= 「chrootdir」をルートディレクトリーとする
# pwd
/                                <= 「/chrootdir」がルートディレクトリー
# ls -d /etc                     <= 「chrootdir」に存在しないディレクトリー
ls: cannot access /etc: No such file or directory  <= アクセスできなくなる
# exit <= chrootから抜ける

この動作の意味するところは、UNIX系は「/(ルートディレクトリー」が基点となることから、それを変更する事で、アクセスさせたくないルート配下にあるリソースを守る事ができるとなります。