FreeBSD_jail
[Wikipedia|▼Menu]
.mw-parser-output .ambox{border:1px solid #a2a9b1;border-left:10px solid #36c;background-color:#fbfbfb;box-sizing:border-box}.mw-parser-output .ambox+link+.ambox,.mw-parser-output .ambox+link+style+.ambox,.mw-parser-output .ambox+link+link+.ambox,.mw-parser-output .ambox+.mw-empty-elt+link+.ambox,.mw-parser-output .ambox+.mw-empty-elt+link+style+.ambox,.mw-parser-output .ambox+.mw-empty-elt+link+link+.ambox{margin-top:-1px}html body.mediawiki .mw-parser-output .ambox.mbox-small-left{margin:4px 1em 4px 0;overflow:hidden;width:238px;border-collapse:collapse;font-size:88%;line-height:1.25em}.mw-parser-output .ambox-speedy{border-left:10px solid #b32424;background-color:#fee7e6}.mw-parser-output .ambox-delete{border-left:10px solid #b32424}.mw-parser-output .ambox-content{border-left:10px solid #f28500}.mw-parser-output .ambox-style{border-left:10px solid #fc3}.mw-parser-output .ambox-move{border-left:10px solid #9932cc}.mw-parser-output .ambox-protection{border-left:10px solid #a2a9b1}.mw-parser-output .ambox .mbox-text{border:none;padding:0.25em 0.5em;width:100%;font-size:90%}.mw-parser-output .ambox .mbox-image{border:none;padding:2px 0 2px 0.5em;text-align:center}.mw-parser-output .ambox .mbox-imageright{border:none;padding:2px 0.5em 2px 0;text-align:center}.mw-parser-output .ambox .mbox-empty-cell{border:none;padding:0;width:1px}.mw-parser-output .ambox .mbox-image-div{width:52px}html.client-js body.skin-minerva .mw-parser-output .mbox-text-span{margin-left:23px!important}@media(min-width:720px){.mw-parser-output .ambox{margin:0 10%}}

この記事は検証可能参考文献や出典が全く示されていないか、不十分です。出典を追加して記事の信頼性向上にご協力ください。(このテンプレートの使い方
出典検索?: "FreeBSD jail" ? ニュース ・ 書籍 ・ スカラー ・ CiNii ・ J-STAGE ・ NDL ・ dlib.jp ・ ジャパンサーチ ・ TWL(2021年9月)

FreeBSD jailはOSレベル仮想化機構実装の一つである。jailを使うと、管理者がFreeBSDベースの計算機システムをjailと呼ばれる独立した小さなシステムに分割できるようになる。

FreeBSD jailは、レンタルサーバ業者が業者の提供するサービスと顧客のサービスとを分離するのによく使われる。このように分離することで安全性を確保し、管理の手間を軽減できる。サーバデーモンの設定レベルで分離するのと違い、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から追加された。
jailの作り方

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がある。
外部リンク

Jails: Confining the omnipotent root

jail(8) man page

FreeBSD jails at ONLamp

A jail administration framework ezjail

Jail on FreeBSD 6

FreeBSD Handbook: Jails










仮想化
全体

PopekとGoldbergの仮想化要件

ハイパーバイザ

準仮想化

PowerVM

x86仮想化

プラットフォームの
仮想化
仮想マシン

ハードウェアレベル

PR/SM

LPAR

LDOM

仮想86モード

インテルVT

AMD-V

ブレードサーバ

ハードウェア仮想化

I/O仮想化(英語版)

ソフトウェアレベル

bhyve

z/VM

VMware

VMware Fusion

Hyper-V

WPAR

Sun xVM(英語版)

Bochs

KVM

PearPC

QEMU

Xen

VirtualBox

jail

Linux-VServer

cgroups

LXCDocker

Parallels Desktop

Parallels Virtuozzo Containers

OpenVZ

libvirt

User Mode Linux

Lguest

OSレベルの仮想化

アプリケーション仮想化

デスクトップ仮想化

言語レベル

バイトコード

Java仮想マシン

CLR

LLVM

Lua


リソースの仮想化

CPU

タイムシェアリング

メインメモリ

仮想メモリ

ディスク装置

RAID

LVM

仮想ファイルシステム

ディスク仮想化ソフト

ネットワーク


次ページ
記事の検索
おまかせリスト
▼オプションを表示
ブックマーク登録
mixiチェック!
Twitterに投稿
オプション/リンク一覧
話題のニュース
列車運行情報
暇つぶしWikipedia

Size:19 KB
出典: フリー百科事典『ウィキペディア(Wikipedia)
担当:undef