2005-05-24

jailの作り方

Last updated $Date: 2011/03/22 06:19:28 $

この記事について

この記事は FreeBSD Expert 2005 に掲載された記事です。掲載時に修正されたのでまったく同一の内容ではありません。またこのサイトで公開するにあたってWeb用に修正しています。おかしな記述がありましたらコメント等で指摘してくれると幸いです。

jailとは

jailとは「仮想FreeBSDマシン」を実現する機能です。FreeBSDマシン内に、もう一つのFreeBSD環境を作ることができます。 FreeBSDを含めたUNIX系OSには、古くからchrootというコマンドが存在します。 chrootコマンドを使用することでルートディレクトリを変更してコマンドを実行することができます。コマンドを任意のディレクトリの下に閉じ込めてファイルシステムのアクセスに制約をかけることができます。 chrootから実行されたコマンドは、指定されたルートディレクトリよりも上の階層へアクセスすることが出来ない状態で起動します。 jailはchrootの機能を拡張して、ネットワーク・プロセス等も隔離できるようにしたFreeBSD特有の仕組みです。 LinuxのUser Mode Linux(UML)のような仮想OSや、VMwareなどの仮想マシンに似たシステムです。ただし、それらの仮想OS技術とは違い、プロセス自体はホストマシン(以下、host環境)のカーネルによって動作しています。そのため仮想マシンとして動作するOSはFreeBSDに限定されます。 この記事では仮想FreeBSDマシンのことを分かりやすくするため「jail環境」と表現しています。

構築例

IPアドレス ホスト名 FQDN root directory
host環境 192.168.1.1 host host.example.jp /
jail環境 192.168.1.2 jail1 jail1.example.jp /usr/local/jail1

jailで出来る事

プロセスとネットワークを分離できる

jail環境の中からhost環境や他のjail環境のプロセスやネットワークを参照したり操作できないようにします。

IPv4アドレスひとつを使用できる

jail(8)の引数で指定したIPv4アドレスをひとつ使用します。

ユーザーアカウントや設定を分離できる

host環境には最低限のアカウントだけ登録して、ユーザーアカウントはjail環境にだけ作成するような使い方が出来ます。 ただしhost環境とjail環境でUID/GIDは共通の値を使いますので、通常は値が重複しないように割り振って、管理が混乱しないようにします。

攻撃を受けても被害を分離できる

動作させるためにroot権限が必要なWebサーバーなどをjail環境に閉じ込めて動作させることで、侵入があってもhost環境に被害を受けないようにすることができます。 一般的にグローバルIPを持ってインターネットへ接続すると、外部からの攻撃を受けやすくなります。もしWebサーバー等に脆弱性があり、外部から侵入されてroot権限を奪われても、jail環境として分離しておけばhost環境への被害を食い止めることが出来ます。

jailで出来ない事

IPv6は使えない

使用できるネットワークはIPv4だけに限定されている。

ICMP・ブロードキャスト・ループバックアドレスは使えない

ループバックアドレスの127.0.0.1が使えない。そのためSambaなどのソフトは自分自身に接続する必要のある一部の機能が動作しない。 またICMPが使えないためjail環境ではpingコマンドなどが使えない。

FreeBSD 5.3以降

/etc/sysctl.confにsecurity.jail.allow_raw_sockets=1を指定することでjail環境からpingやtracerouteを使用する事が出来ます。

RPCやBerkeley Packet Filter(bpf)やrawデバイスが必要なソフトは動作しない

RPCが必要なNFSやNISは使えない。いわゆるパケットスキャナーといわれているソフトも動作しない。AppleTalkを使用したNetatalkも使えない。

FreeBSD 5.3以降

/etc/sysctl.confにsecurity.jail.allow_raw_sockets=1を指定することでjail環境でrawソケットを使用する事が出来ます。

CPU資源の柔軟な分離は出来ない

jailはいわゆる仮想OSに似た使い方が出来ますが、プロセスの管理そのものはhost環境のカーネルで行われています。CPUパワーを任意に分割してjail環境に簡単に割り振るようなことはできません。 host環境でrenice(8)を使用することによってjailで動作しているプロセスの優先度をコントロールすることはできます。

System V プロセス間通信(以下、SysVIPC)はデフォルトで無効に設定してある

PostgreSQLなどSysVIPCを使用するソフトをjail環境で使う場合は、ホスト環境でカーネルパラメーターを有効化しないと起動しません。 FreeBSD QandA 1866を参照してください。 jail環境でSysVIPCを有効にすることはセキュリティ的には推奨されていませんのでよく理解して使用してください。

FreeBSD 4系

/etc/sysctl.confにjail.sysvipc_allowed=1を指定する。

FreeBSD 5系

/etc/rc.confにjail_sysvipc_allow="YES"を指定する。

ファイルシステムを操作することが出来ない

mountumountすることはできません。

カーネルセキュアレベル(以下、kern.securelevel)が高い時にファイルフラグの変更ができない

FreeBSDにはファイルフラグというセキュリティの仕組みが存在します。 (ファイルフラグについての詳細はchflags(1)のマニュアルを参照してください。)

schgやsunlnkなどのファイルフラグをセットしたファイルはrmコマンドやmvコマンド等で削除・変更することが出来なくなります。 それぞれsystem immutable(システムレベルでの変更不可)やsystem undeletable (システムレベルでの削除不可) のファイルフラグを表します。 通常はchflagsコマンドを使用することでファイルフラグを変更できますが、host環境のkern.securelevelが1よりも高い状態の場合は、セットすることもクリアすることも出来ません。 kern.securelevelを下げるには、host環境の/etc/rc.confでkern_securelevel="-1"等の低い値を指定して再起動をする必要があります。

二つに分かれるjailの構築法

jailの構築法として大きく分類すると「フルツリー」と「ミニツリー」の二つがあります。jail(8)のmanではそれぞれ"fat" jailと"thin" jailと表現されています。 前者はFreeBSDのシステムをjail環境にほぼ全て用意する方法です。 後者はjail環境で動作させるソフトに必要な最低限のライブラリやファイルだけを用意する方法です。 フルツリーのjailを構築するには、基本的にはjail(8)のマニュアル(以下、man)に書いてあるとおりに実行します。 FreeBSD 日本語マニュアル検索から"jail"で検索すると、jpmanプロジェクトが日本語に翻訳したmanをブラウザで読むことができます。

ミニツリーのjailの構築法についてはthin jailの作り方を参照してください。

フルツリーのjailとは

フルツリーのjailはシステムのほとんどのファイルを使って、FreeBSD環境を構築することを指します。マシンを物理的に1台追加したように運用することが出来ます。

説明を実践的にするため、jail(8)のmanにおける"/here/is/the/jail"という記述を、この記事では"/usr/local/jail1"という実際に構築するディレクトリ名で説明します。 さらにmanの手順よりさらに踏み込んで、フルツリーで構築したjail環境からjailには不必要なファイルを削除することにします。

フルツリーjailの構築方法

ソースの準備

/usr/srcにシステムのソースを準備します。 ソースがインストールされていない場合。/stand/sysinstallを実行して"Configure→Distributions→src→All"を選択してCD-ROMやFTPサイトなどからインストールしてください。 最新版のソースをインストールするためにCVSupを使用することを推奨します。 「FreeBSDハンドブック A.5. CVSup を使う」 を参照してください。 この記事では「host#」はhost環境のrootプロンプト。「jail#」はjail環境のrootプロンプトを表します。

システムのビルド

FreeBSD 4系、FreeBSD 5系共通です。以下、特に断りが無い場合は共通の手順を表します。

host# cd /usr/src
host# make buildworld

CPU環境などにもよりますが数時間程度で/usr/obj下にシステムがビルドされます。

jail環境にシステムをインストールする

まずjail環境をインストールするディレクトリを作ります。

host# mkdir -p /usr/local/jail1

DESTDIRでインストール先を指定してinstallworldします。

host# cd /usr/src
host# make installworld DESTDIR=/usr/local/jail1

/etc以下のファイルと/dev以下のデバイスファイルを作る

設定ファイルをjail環境にインストールします。また/dev以下にデバイスファイルを作ります。

FreeBSD 4系

host# cd /usr/src/etc
host# make distribution DESTDIR=/usr/local/jail1 -DNO_MAKEDEV_RUN
host# cd /usr/local/jail1/dev
host# sh MAKEDEV jail

FreeBSD 5系

host# cd /usr/src/etc
host# make distribution DESTDIR=/usr/local/jail1
host# mount_devfs devfs /usr/local/jail1/dev

ここでは一時的に全てのデバイスをjail環境にマウントしています。しかし実稼動時には後述するようにhost環境の/etc/rc.confにjail_jail1_devfs_enable="YES"と指定することでjail専用のdevfsをマウントします。

jailに不必要なファイルの削除

今までの操作により、システムのほぼ全てのファイルがjail環境にインストールされています。そのファイルの中にはハードウェアを操作するコマンドなども存在します。それらのコマンドはjailでは動作しないため、セキュリティとHDD容量の節約を考慮するのであればファイルを削除したほうが望ましいでしょう。 N. Nielsen氏のWebサイトFiles to Remove from Jailsに、jail環境に不必要なファイルのリストが公開されています。そのリストをダウンロードして利用することにします。 まずホスト環境の/rootなどのディレクトリへ一時的にダウンロードしたリストを持ってきます。そして削除作業のためjail環境のルートディレクトリにコピーします。 ホスト環境がインターネットに接続されている場合は下記のようにfetchコマンドを使用します。

FreeBSD 4系

host# cd /root
host# fetch http://memberwebs.com/nielsen/freebsd/jails/docs/jail_remove.txt
host# cp jail_remove.txt /usr/local/jail1

FreeBSD 5系

host# cd /root
host# fetch http://memberwebs.com/nielsen/freebsd/jails/docs/jail_remove_5.x.txt
host# cp jail_remove_5.x.txt /usr/local/jail1/jail_remove.txt # ←説明を簡略化するためリネームしています

Nielsen氏の削除リスト(jail_remove.txt)は、jail環境のルートディレクトリを基準に書かれているためjail環境にchrootしてから削除作業をします。 削除するファイルの中に、ファイルフラグがセットされているため削除できないファイルが2つあります。作業をする前にあらかじめchflagsコマンドでファイルフラグをクリアしておく必要があります。

host# chroot /usr/local/jail1
jail# chflags noschg /sbin/init /usr/sbin/sliplogin

そして削除リストをcatxargsrmコマンドを使ってファイルを削除します。

jail# cat jail_remove.txt | xargs rm -rf

また/etc/rmtというシンボリックリンクが消しきれていないためunlinkして消します。

jail# unlink /etc/rmt

jail環境を整える

Jail環境利用のポイント

デフォルトの起動ファイルや設定ファイルの状態ではjailに合った環境になっていません。以降では、jail環境で必要な各種の設定をしていきます。

kernelファイルを/dev/nullにリンク

カーネルファイルはjail環境では不必要なので/dev/nullとソフトリンクします。 FreeBSD 5系では/bootを消去したため、カーネルファイルに関して特に作業はいりません。

FreeBSD 4系

host# cd /usr/local/jail1
host# ln -sf dev/null kernel

一部コマンドを/usr/bin/trueにリンクする

削除リストで消したファイルの中に/etc/rc*の起動ファイルから使用されているコマンドがあります。jail環境が起動するときのエラーを抑制するため、それらのコマンドを/usr/bin/trueにハードリンクします。

FreeBSD 4系

jail# ln /usr/bin/true /sbin/mount
jail# ln /usr/bin/true /sbin/umount
jail# ln /usr/bin/true /sbin/init
jail# ln /usr/bin/true /sbin/swapon
jail# ln /usr/bin/true /sbin/swapoff

FreeBSD 5系

jail# ln /usr/bin/true /sbin/init

起動時の警告を抑制するため、空のfstabファイルを作成します。

jail# touch /etc/fstab

sendmailの警告を抑制するため/etc/mail/aliases.dbを生成します。

jail# newaliases

/etc/resolv.confをjail環境にコピーして名前解決ができるようにします。

host# cp /etc/resolv.conf /usr/local/jail1/etc/

(jail環境の起動が極端に遅い場合はresolv.confで指定されているDNSサーバーへの名前解決が出来ていない場合が考えられます)

jail環境のroot管理者パスワードを設定します。

jail# passwd root
Changing local password for root
New Password: ←パスワード入力
Retype New Password: ←確認のため再入力

コンピューターの内蔵時計をUTCではなくローカルタイムに合わせる場合、/etc/wall_cmos_clockを作成し、タイムゾーンを設定します。

jail# touch /etc/wall_cmos_clock 
jail# ln -sf /usr/share/zoneinfo/Asia/Tokyo /etc/localtime

エラーを抑制するため、jail環境の/etc/syslog.confの/dev/consoleへの出力をコメントアウトします。

host# diff /usr/local/jail1/etc/syslog.conf.orig /usr/local/jail1/etc/syslog.conf
8c8
< *.err;kern.debug;auth.notice;mail.crit                /dev/console
---
>> #*.err;kern.debug;auth.notice;mail.crit               /dev/console

/etc/crontabの編集

/etc/crontabにあるadjkerntzの実行はjail環境では不用なのでコメントアウトします。atrunも使用するつもりが無ければコメントアウトします。

host# diff /usr/local/jail1/etc/crontab.orig /usr/local/jail1/etc/crontab
11c11
< */5   *       *       *       *       root    /usr/libexec/atrun
---
>> #*/5  *       *       *       *       root    /usr/libexec/atrun
24c24
< 1,31  0-5     *       *       *       root    adjkerntz -a
---
>> #1,31 0-5     *       *       *       root    adjkerntz -a

jail環境に/etc/rc.confを設定する

jail環境専用のrc.confを設定します。 この設定例ではjail環境のsendmailとsshdを起動しています。 sendmailはcronからのメールを送信するため。 jail環境のrootへのメールを自分のアドレスで受け取りたい場合は、jail環境に/root/.forwardというファイルを作成し、メールアドレスを記入しておきます。 sshdはjail環境にログインするために起動しています。 sshdを起動しない場合はsshd_enable="NO"と書き換えてください。 FreeBSD 5.x系であればhost環境から

host# jexec 1 /bin/csh

というようにjexecコマンドを使用すればjail環境に入ることが出来るのでsshdを立ち上げる必要はありません。(詳細はjexecのmanを参照してください) tcp_keepaliveなどはjailから制御ができないsysctl MIBの操作に対するエラーを抑制するために指定します。

FreeBSD 4系

/etc/rc.conf (jail)

network_interfaces=""
portmap_enable="NO"
inetd_enable="NO"
sendmail_enable="NO"
sendmail_submit_enable="YES"
sendmail_outbound_enable="NO"
sendmail_msp_queue_enable="YES"
sshd_enable="YES"
sshd_flags="-4"
syslogd_flags="-ss"
tcp_keepalive="NO"
tcp_extensions="NO"
cron_flags="-J 15"

FreeBSD 5系

/etc/rc.conf (jail)

network_interfaces=""
rpcbind_enable="NO"
sendmail_enable="NO"
sendmail_submit_enable="YES"
sendmail_outbound_enable="NO"
sendmail_msp_queue_enable="YES"
sshd_enable="NO"
sshd_flags="-4"
syslogd_flags="-ss"
tcp_keepalive="NO"
tcp_extensions="NO"
cron_flags="-J 15"

jail環境のperiodicを設定する

FreeBSD 4系

/etc/periodic.conf (jail)

daily_uuclean_enable="NO"
daily_status_disks_enable="NO"
daily_status_uucp_enable="NO"
daily_status_network_enable="NO"
daily_status_security_noamd="YES"
weekly_uucp_enable="NO"
weekly_catman_enable="NO"
daily_status_security_chkmounts_enable="NO"
daily_status_security_ipfdenied_enable="NO"
daily_status_security_ipfwdenied_enable="NO"
daily_status_security_ipfwlimit_enable="NO"
daily_status_security_ip6fwdenied_enable="NO"
daily_status_security_ip6fwlimit_enable="NO"

FreeBSD 5系

/etc/periodic.conf (jail)

daily_status_disks_enable="NO"
daily_status_network_enable="NO"
daily_status_security_noamd="YES"
daily_status_security_chkmounts_enable="NO"
daily_status_security_ipfdenied_enable="NO"
daily_status_security_ipfwdenied_enable="NO"
daily_status_security_ipfwlimit_enable="NO"
daily_status_security_pfdenied_enable="NO"
daily_status_security_ip6fwdenied_enable="NO"
daily_status_security_ip6fwlimit_enable="NO"
daily_status_security_kernelmsg_enable="NO"

mount_nullを使用したportsツリーの導入

jail環境へソフトをインストールするためにportsツリーを導入します。 ただソフトをインストールするだけであれば、jail環境にportsツリーを導入する必要はありません。その場合、ftpサーバー等で公開されているpackageを使い、jail環境でpkg_addコマンドを使ってインストールします。しかしportsツリーを導入しておくと、host環境と同じようにソフトを管理することができます。またjail環境でもsysutils/portupgradeを使うことで、ソフトのアップデート作業を容易に実行することができます。 host環境にある/usr/portsディレクトリをjail環境へ単純にコピーすることでもportsツリーを導入することは出来ます。しかしHDD容量を圧迫することとjail環境のportsツリーを更新する手間が増えるというデメリットがあります。 そこでmount_null(8)を使用してjail環境にhost環境のportsツリーをマウントすることにします(FreeBSD 5系では同機能のコマンド名がmount_nullfs(8)になります。以下、FreeBSD 5系の場合はコマンド名を読みかえてください)。 またmount_null(8)のオプションにro(リードオンリー)を指定することにより、jail環境へ読み込み専用でマウントすることが可能になります。これによってjail環境からhost環境の/usr/portsを変更できないようにすることが可能です。

mount_nullを使用するためには、カーネル設定ファイルに

options     NULLFS

を追加してカーネルを再構築して再起動するか、kldload(8)でnull.koモジュールを読み込む必要があります。

jail環境のports環境整備

jail環境のportsディレクトリを作成する。

host# mkdir -p /usr/local/jail1/usr/ports

portsツリーを使ってソフトをインストールする時は、作業ディレクトリ(WRKDIR)とソース保存ディレクトリ(DISTDIR)への書き込み権限が必要になります。前述のように/usr/portsを読み込み専用でマウントした場合、デフォルト設定ではそれらのディレクトリに書き込みができずビルドが失敗します。その場合、書き込みが可能な/var/tmpをWRKDIRに設定して、/var/tmp/usr/ports/distfilesをDISTDIRに設定します。jail環境の/etc/make.confに指定します。

/etc/make.conf (jail)

WRKDIRPREFIX=/var/tmp
DISTDIR=/var/tmp/usr/ports/distfiles
WITHOUT_IPV6="yes"

jail環境ではIPv6が使えないのでWITHOUT_IPV6="yes"も指定しておくといいでしょう。

マウントポイントの設定

host環境の/etc/fstabにjail環境のportsツリーのマウントポイントを指定します。jailから書き込みが出来ないようにオプションにroを追加します。またportsツリーをマウントする必要があるのは、ソフトウェアのインストール時やアップデートする場合に限られています。そのため通常の運用時はportsツリーをマウントしないようにnoautoオプションも合わせて指定しておきます。 fstabに指定しなくても

mount_null -r /usr/ports /usr/local/jail1/usr/ports

と入力することで同様の作業が出来ます。しかしfstabに明記することでコマンド操作ミスを防ぐ効果もあります。

FreeBSD 4系

/etc/fstab (host)

/usr/ports  /usr/local/jail1/usr/ports  null ro,noauto  0   0

FreeBSD 5系

/etc/fstab (host)

/usr/ports  /usr/local/jail1/usr/ports  nullfs ro,noauto    0   0

設定が完了したら実際にjail環境にportsツリーをマウントします。

host# mount /usr/local/jail1/usr/ports

これでjail環境でportsツリーを使ってhost環境と同様にソフトをインストールしたりアップデートすることができます。

jailの起動

セキュリティの確保

host環境でカーネルパラメーターの設定をしないと、jail環境でroot権限があればhostnameを変更することができてしまいます。セキュリティを確保するために/etc/sysctl.confを設定することにします。

/etc/sysctl.conf (host)

jail.set_hostname_allowed=0
jail.sysvipc_allowed=0

FreeBSD 5系の場合は後述する「起動ファイルの設定」において/etc/rc.confを設定することで同様の設定が出来ます。

ネットワークインターフェースの設定

まずインターフェースにjail環境用のIPアドレスをaliasで追加します。(fxp0は使用しているマシンのネットワークカードによって変化します)。netmaskの値が255.255.255.255になることに気をつけてください。

/etc/rc.conf (host)

ifconfig_fxp0="inet 192.168.1.1 netmask 255.255.255.0"
ifconfig_fxp0_alias0="inet 192.168.1.2 netmask 255.255.255.255"

起動スクリプト

FreeBSD 4系

FreeBSD 4系列はシステムにjail用の起動ファイルが用意されていません。 そこでportsのsysutils/jailadminをインストールして使用することにします。

host# cd /usr/ports/sysutils/jailadmin
host# make install

そしてhost環境の/usr/local/etc/jailadmin.confを下記のように設定します。

/usr/local/etc/jailadmin.conf (host)

jaildir=/usr/local
maxparallel=5
debug=1
group_all=jail1
jail1
    ip: 192.168.1.2
    hostname: jail1.example.jp

設定が出来たらzzz-jail.shスクリプトを実行して起動します。

host# /usr/local/etc/rc.d/zzz-jail.sh start

FreeBSD 5系

FreeBSD 5系列の場合は、システムの起動ファイルである/etc/rc.d/jailを使用してjailを起動します。

/etc/rc.conf (host)

jail_enable="YES"
jail_list="jail1"
jail_set_hostname_allow="NO"
jail_socket_unixiproute_only="YES"
jail_sysvipc_allow="NO"
jail_stop_jailer="NO" # sysutils/jailerを使う場合はYES
jail_jail1_rootdir="/usr/local/jail1"
jail_jail1_hostname="jail1.example.jp"
jail_jail1_ip="192.168.1.2"
jail_jail1_exec="/bin/sh /etc/rc"
jail_jail1_devfs_enable="YES"
jail_jail1_fdescfs_enable="NO"
jail_jail1_procfs_enable="NO"

jail環境内でpsコマンドなどを使う場合はjail_jail1_procfs_enable="YES"を指定してprocfsをjailにマウントします。

host# /etc/rc.d/jail start

jail環境とインターネットのアクセス

NATルーターが存在するネットワークにhost環境が接続されている場合、jail環境からはNATルーターを使ってインターネットへアクセスができます。 host環境自体がインターネットルーターである場合は、host環境に適切にNATを設定することでjail環境から同様にアクセスできるようになります。 jail環境にインストールしたWebサーバー等を、グローバルIPでインターネット側へサービスを提供することもできます。その場合、host環境でipfwやIPFilterなどを設定して、グローバルIPへのパケットをjail環境へ転送する必要があります。

jail環境のアップデートとメンテナンス

FreeBSDセキュリティ勧告が出てシステムをアップデートした場合は、jail環境もアップデートします。 host環境をアップデートした時に、同時にjail環境も作業することを推奨します。

フルツリーjailの場合

前述の「jail環境にシステムをインストールする」と同様の手順でアップデートしたシステムをインストールします。

host# cd /usr/src
host# make update buildworld
host# make installworld DESTDIR=/usr/local/jail1

mergemasterの-Dオプションでjail環境を指定して/etc設定ファイルのアップデート作業をします。

host# mergemaster -D /usr/local/jail1 -t /usr/local/jail1/var/tmp/temproot

その後、前述の「jailに不用なファイルの削除」の作業を実行します。

portsでインストールしたソフトのメンテナンス

host環境の/usr/portsをmount_null(8)でjail環境にマウントしてportupgradeコマンドを使ってアップデートします。

jail# portupgrade www/apache2

jailに関するツール・コマンド

jailに関するコマンド

  • jls(8) jail環境の一覧を表示する。

  • jexec(8) jail環境で指定したコマンドを実行する。

jailに関するports

sysutils/jailadmin FreeBSD 4系で有用な起動スクリプト。WITH_SNMPを指定してビルドすればsnmpによるjailの監視ができる。
sysutils/jailctl jail環境の構築・アップデート・バックアップとリストア・起動などをコントロールするシェルスクリプト。かなり便利でオススメ。
sysutils/jailer jail環境に導入することでjailの起動や停止などを管理できるツール。使用する場合はホスト環境の/etc/rc.confに`jail_stop_jailer="YES"`を指定する。
sysutils/jailuser chroot環境を構築するUNIX系OS汎用のソフト。FreeBSD固有のjail機能とは関係が無い。ミニツリーを構築するのに便利。
sysutils/jailutils jail環境を操作するツールを数種類まとめたもの。sysutils/jailerと連携してjail環境を管理できる。
sysutils/jkill jail環境とjail内で動作しているプロセスをkillできるPerlスクリプト。FreeBSD 4系向け。
sysutils/jps プロセスを表示するpsのラッパーとなるPerlスクリプト。jailerなどのツールを導入する必要がない。
sysutils/jtop 上位プロセスのリストを表示するtopのラッパーとなるPerlスクリプト。jailerなどのツールを導入する必要がない。

参照文献

Web(英文)

Web(日本語)

書籍

Permanent link | Trackback | | このエントリーを含むはてなブックマーク livedoor Clip View blog reactions del.icio.us

otsune posted at 17:13 in
WriteBacks
TrackBack ping me at
http://www.otsune.com/bsd/jail/fulljail.
Post a comment

writeback message: