このドキュメントで説明するソフトウェアは、Extended SupportまたはSustaining Supportのいずれかにあります。 詳細は、https://www.oracle.com/us/support/library/enterprise-linux-support-policies-069172.pdfを参照してください。
Oracleでは、このドキュメントに記載されているソフトウェアをできるだけ早くアップグレードすることをお薦めします。
chroot操作は、実行中のプロセスとその子の目に見えるルート・ディレクトリを変更します。 この操作により、/
以外のルート・ディレクトリでプログラムを実行できます。 プログラムからは指定されたディレクトリ・ツリー外のファイルは見えず、アクセスもできません。 このような人為的なルート・ディレクトリをchroot jailと呼びます。その目的は、攻撃者のディレクトリへのアクセスを制限することです。 Chroot jailにより、指定されたプロセスおよびプロセスで使用されているユーザーIDがロックダウンされるため、これらのプロセスおよびユーザーIDにはプロセスを実行中のディレクトリしか見えません。 プロセスにとっては、実行中のディレクトリがルート・ディレクトリとなります。
chrootメカニズムでは、意図的な改ざんや特権ユーザーによるシステム・デバイスへの低レベルのアクセスを防ぐことはできません。 たとえば、chroot root
ユーザーはデバイス・ノードを作成し、その上にファイル・システムをマウントできます。 また、root
権限を取得し、chroot()
を使用して現在の作業ディレクトリを実際のroot
ディレクトリに変更できた場合、プログラムはchroot jailから脱出できます。 このため、chroot jailにroot
が所有するsetuid
はsetgid
実行可能ファイルが含まれていないことを確認する必要があります。
chrootプロセスを正常に開始するには、chrootディレクトリに必要なすべてのプログラム・ファイル、構成ファイル、デバイス・ノード、共有ライブラリを移入する必要があります。それぞれを、chrootディレクトリのレベルに対して相対的な、予期される場所に移入します。