出典 しゅってん : フリー百科 ひゃっか 事典 じてん 『ウィキペディア(Wikipedia)』
FreeBSD jail はOSレベル仮想 かそう 化 か 機構 きこう 実装 じっそう の一 ひと つである。jailを使 つか うと、管理 かんり 者 しゃ がFreeBSD ベースの計算 けいさん 機 き システムをjailと呼 よ ばれる独立 どくりつ した小 ちい さなシステムに分割 ぶんかつ できるようになる。
FreeBSD jailは、レンタルサーバ 業者 ぎょうしゃ が業者 ぎょうしゃ の提供 ていきょう するサービスと顧客 こきゃく のサービスとを分離 ぶんり するのによく使 つか われる。
このように分離 ぶんり することで安全 あんぜん 性 せい を確保 かくほ し、管理 かんり の手間 てま を軽減 けいげん できる。
サーバデーモン の設定 せってい レベルで分離 ぶんり するのと違 ちが い、jailからは自分 じぶん に割 わ り当 あ てられたファイルシステム およびプロセス空間 くうかん しか扱 あつか えないようになっている。
FreeBSD jailには主 おも に次 つぎ の3つの利点 りてん がある。
仮想 かそう 化 か : 各 かく jailはホストマシン上 じょう で動 うご く仮想 かそう 機械 きかい であり、独自 どくじ のファイルシステム やプロセス空間 くうかん 、ユーザーアカウント を持 も つ。jailの中 なか のプロセスからは実際 じっさい のシステムなのかjailの中 なか なのかはほぼ区別 くべつ できない。
安全 あんぜん 性 せい : 各 かく jailは他 た のjailにアクセスできないようになっており、安全 あんぜん 性 せい が高 たか まっている。
権限 けんげん 委譲 いじょう の簡素 かんそ 化 か : 管理 かんり 者 しゃ 権限 けんげん のスコープ がjail内 ない に制限 せいげん されているため、システムの管理 かんり 者 しゃ は本来 ほんらい 管理 かんり 者 しゃ 権限 けんげん が必要 ひつよう な仕事 しごと を、計算 けいさん 機 き 全体 ぜんたい を操作 そうさ する権限 けんげん を渡 わた すことなく行 おこな わせることが出来 でき る。
jailのやり方 かた は従来 じゅうらい のUnix でプロセスのスコープを制限 せいげん するのに使 つか われるchroot jailに似 に ている。FreeBSD jailはこれを強化 きょうか したもので、各 かく プロセスは他 た のjailで動 うご いているプロセスに干渉 かんしょう したり、raw socket やdivert socket 、routing socket を操作 そうさ したりできないよう、特別 とくべつ なカーネル 構造 こうぞう 体 たい を用 もち いて管理 かんり してある。
jail(8) ユーザーランドコマンドとjail(2) システムコール はFreeBSD 4.0で登場 とうじょう した。jailの取 と り扱 あつか いを簡単 かんたん にする新 あたら しいユーザーランドコマンド (たとえば、jailの一覧 いちらん を出 だ すjls(8) )やシステムコール (たとえば、jailに新 あたら しいプロセスを追加 ついか するjail_attach(2) )はFreeBSD 5.1から追加 ついか された。
FreeBSD jailの利用 りよう は次 つぎ のように簡単 かんたん に行 おこな える。
/usr/jail のようにjailの中 なか でrootディレクトリ (つまり、/) となるディレクトリを作 つく る。
jailの中 なか で動 うご かすプログラムやファイルを投入 とうにゅう する (典型 てんけい 的 てき には、/usr/jail/bin にシェルを置 お いたり、procfsを/usr/jail/procfs にマウントしたりする)。jail(8) のオンラインマニュアル には、make world DESTDIR=/usr/jail とmake distribution DESTDIR=/usr/jail でこの作業 さぎょう を行 おこな うことが出来 でき ると書 か いてあるが、必 かなら ずしもこの方法 ほうほう をとる必要 ひつよう はない。
/usr/jail/dev にdevfsをマウントする。(デバイスノード 無 む しでも動作 どうさ するが、非常 ひじょう に制限 せいげん が強 つよ い)
最後 さいご に、jailコマンドでjail内 ない のsh を使 つか って/etc/rc init スクリプト を"仮想 かそう 的 てき に"起動 きどう する (例 れい jail /usr/jail hostname 10.0.0.22 /bin/sh /etc/rc )。
こうすることで、jailのコンテキストでいくつかのプロセス が実行 じっこう される。そして、中 なか で起動 きどう したプロセスはjailの中 なか のプロセスの操作 そうさ しかできず、jailのルートファイルシステムとして指定 してい されたファイルシステム (ここでは、/usr/jail ) の外 そと にあるファイルをアクセスできなくなる。
jailを使 つか い始 はじ めるときはjail(8) のオンラインマニュアルが参考 さんこう になる。
OSレベルの仮想 かそう 化 か 技術 ぎじゅつ にはこのほかにOpenVZ /Virtuozzo , Linux-VServer , Solaris Containers , FreeVPS , LXC がある。