FreeBSD 日本語マニュアル検索 (jman/japropos/jwhatis)


日本語 man コマンド類 (ja-man-1.1j_5) と日本語 man ドキュメント (ja-man-doc-5.4 (5.4-RELEASE 用) など) をインストールすると、以下のような man コマンド閲覧、キーワード検索が コンソールからできるようになります。

4.11-RELEASE-K, 5.4-RELEASE-K, 5.5-RELEASE-K, 6.0-RELEASE-K から 6.4-RELEASE-K, 7.0-RELEASE-K から 7.4-RELEASE-K, 8.0-RELEASE-K から 8.4-RELEASE-K, 9.0-RELEASE-K から 9.3-RELEASE-K, 10.0-RELEASE-K から 10.3-RELEASE-K, 11.0-RELEASE-K から 11.4-RELEASE-K, 12.0-RELEASE-K, 12.1-RELEASE-K は、 プライベート版 (小金丸が編集してまとめたもの) ですが、 より多くの翻訳したファイルが含まれています。 (5.4-RELEASE-K から 6.4-RELEASE-K, 7.0-RELEASE-K から 7.4-RELEASE-K, 8.0-RELEASE-K から 8.4-RELEASE-K, 9.0-RELEASE-K から 9.3-RELEASE-K, 10.0-RELEASE-K から 10.3-RELEASE-K, 11.0-RELEASE-K から 11.4-RELEASE-K, 12.0-RELEASE-K から 12.3-RELEASE-K, 13.0-RELEASE-K から 13.2-RELEASE-K は、全翻訳済み)

13.3-STABLE-K, 15.0-CURRENT-K は現在、作成中で日々更新されています。



検索コマンド: man apropos whatis
コマンド/キーワード:
日本語マニュアル RELEASE :
セクション:
Table of Contents
名称 | ライブラリ | 書式 | 解説 | 戻り値 | エラー | 関連項目 | 歴史 | 作者
JAIL(2)                FreeBSD システムコールマニュアル                JAIL(2)

名称
     jail, jail_get, jail_set, jail_remove, jail_attach -- システム jail (刑務
     所) を作成して、管理する

ライブラリ
     標準 C ライブラリ (libc, -lc)

書式
     #include <sys/param.h>
     #include <sys/jail.h>

     int
     jail(struct jail *jail);

     int
     jail_attach(int jid);

     int
     jail_remove(int jid);

     #include <sys/uio.h>

     int
     jail_get(struct iovec *iov, u_int niov, int flags);

     int
     jail_set(struct iovec *iov, u_int niov, int flags);

解説
     jail() システムコールは、jail (刑務所) を設定して、現在のプロセスをその中
     にに閉じ込めます。

     引数は、jail を記述する構造体へのポインタです:

           struct jail {
                   uint32_t        version;
                   char            *path;
                   char            *hostname;
                   char            *jailname;
                   unsigned int    ip4s;
                   unsigned int    ip6s;
                   struct in_addr  *ip4;
                   struct in6_addr *ip6;
           };

     ``version'' は、使用している API のバージョンを定義します。
     JAIL_API_VERSION は、現在のバージョンに対して定義されています。

     ``path'' ポインタは、jail のルートとなるディレクトリに設定されるべきで
     す。

     ``hostname'' ポインタを jail のホスト名に設定することができます。これを
     jail の内部から変更することができます。

     ``jailname'' ポインタは、例えば、管理目的のために jail に割り当てることが
     できるオプションの名前です。

     ``ip4s'' と ``ip6s'' は、それらのそれぞれのポインタを通して渡される IPv4
     と IPv6 アドレスの数値を与えます。

     jail に割り当てられる IPv4 と IPv6 アドレスの配列に ``ip4'' と ``ip6'' ポ
     インタを設定することができるか、または何もなければ、NULL に設定することが
     できます。IPv4 アドレスは、ネットワークバイト順でなければなりません。

     これは、パラメータ path, host.hostname, name, ip4.addrip6.addr があ
     り、JAIL_ATTACH フラグがある jail_set() システムコール (下記参照) と同等
     で、それらを支持して推奨されません。

     jail_set() システムコールは、新しい jail を作成するか、または既存のものを
     変更して、オプションで現在のプロセスをそれに閉じ込めます。jail パラメータ
     は、niov 要素を含んでいる配列 iov の名前-値の組の配列として渡されます。パ
     ラメータ名は、ヌル文字で終了する文字列であり、値は、文字列、整数、または
     他の任意のデータであるかもしれません。いくつかのパラメータは、ブール値で
     あり、値を持ちませんが (それらの長さは、0 である)、例えば persist または
     nopersist のような ``no'' 接頭辞のあるなしにかかわらず名前単独で設定され
     ます。設定されないパラメータは、一般的に現在の環境に基づいてデフォルト値
     が与えられます。

     jail には、1 組のコアパラメータがあり、モジュールは、それら自身の jail パ
     ラメータを追加することができます。利用可能なパラメータの現在のセットとそ
     れらの形式を、security.jail.param sysctl MIB エントリを通して検索すること
     ができます。注目すべきパラメータは、作成されるか、または変更される jail
     を識別する jidname と同様に、上記の jail() の説明で述べたものを含んで
     います。コア jail パラメータの詳しい情報については、jail(8) を参照してく
     ださい。

     flags 引数は、次のフラグの 1 つ以上から成ります:

     JAIL_CREATE
             新しい jail を作成します。jid または name パラメータが存在してい
             るなら、それらは、既存の jail を参照してはいけません。

     JAIL_UPDATE
             既存の jail を変更します。jid または name パラメータの 1 つが存在
             していなければならなくて、既存の jail を参照しなければなりませ
             ん。JAIL_CREATE と JAIL_UPDATE の両方が設定されているなら、jail
             は、まだ存在していないなら作成され、存在しているなら、変更されま
             す。

     JAIL_ATTACH
             jail を作成するか、または変更することに加えて、jail_attach() シス
             テムコールのように現在のプロセスをそれにアタッチします。

     JAIL_DYING
             削除されている途中である jail の設定ができます。

     jail_get() システムコールは、iovniov 引数の jail_set() として同じ名
     前-値リストを使用して、jail パラメータを検索します。リスト中に jid または
     name のパラメータを含むことによって、それらのいずれかによって、読み込みの
     ための jail を指定することができます。

     それらが含まれていますが、検索キーとなることを目的としていなら、それら
     は、(それぞれ、0 と空文字列に) クリアされるべきです。すべての jail のリス
     トを検索するために特別のパラメータ lastjid を使用することができます。それ
     は、上記の jid があり、渡された値に近い jail を取って来ます。0 の lastjid
     を渡すことによって、最初の jail (通常、常に jid 1 ではない) を見つけるこ
     とができます。

     flags 引数は、1 つ以上の次のフラグから成ります:

     JAIL_DYING
             削除されている途中である jail を取得できます。

     jail_attach() システムコールは、現在のプロセスを jid によって識別される既
     存の jail にアタッチします。

     jail_remove() システムコールは、jid によって識別された jail を削除しま
     す。それは、jail に属しているすべてのプロセスを kill して、その jail のす
     べての子供を削除します。

戻り値
     成功すれば、jail(), jail_set() と jail_get() は、jail 識別子 (JID) と呼ば
     れる負でない整数を返します。それらは、失敗すれば、-1 を返し、errno にエ
     ラーを示す値を設定します。

     関数 jail_attach() および jail_remove() は、処理が成功すると値 0 を返しま
     す。そうでない場合、値 -1 が返され、グローバル変数 errno にエラーを示す値
     が設定されます。

エラー
     jail() システムコールは、次の場合に失敗します:

     [EPERM]            このプロセスは、スーパユーザでないためか、または jail
                        の children.max の制限を超えているからのいずれかのため
                        に、jail を作成できません、

     [EFAULT]           jail が、プロセスの割り付けられたアドレス空間の外のア
                        ドレスを指している。

     [EINVAL]           引数のバージョン番号が、正しくない。

     [EAGAIN]           空いている JID を見つけることができませんでした。

     jail_set() システムコールは、次の場合に失敗します:

     [EPERM]            このプロセスは、スーパユーザでないためか、または jail
                        の children.max の制限を超えているからのいずれかのため
                        に、jail を作成できません、

     [EPERM]            jail パラメータが、現在の環境でなく、制限されていない
                        値に設定されている。

     [EFAULT]           iov またはその中に含まれたアドレスの 1 つが、プロセス
                        に割り付けられたアドレス空間の外のアドレスを指してい
                        る。

     [ENOENT]           jid または name パラメータによって参照された jail が存
                        在しません、そして、JAIL_CREATE フラグが設定されていま
                        せん。

     [ENOENT]           jid によって参照される jail が、プロセスが異なった
                        jail にあるので、プロセスによってアクセス可能ではあり
                        ません。

     [EEXIST]           jid または name パラメータによって参照された jail が存
                        在し、そして、JAIL_UPDATE フラグが設定されていません。

     [EINVAL]           供給されたパラメータが間違ったサイズです。

     [EINVAL]           供給されたパラメータが範囲外です。

     [EINVAL]           供給された文字列パラメータがヌル文字で終了していませ
                        ん。

     [EINVAL]           供給されたパラメータ名が知られているパラメータにマッチ
                        していません。

     [EINVAL]           JAIL_CREATE または JAIL_UPDATE フラグの 1 つが設定され
                        ていません。

     [ENAMETOOLONG]     供給された文字列パラメータが許されでいるより長い。

     [EAGAIN]           jail ID が残っていません。

     jail_get() システムコールは、次の場合に失敗します:

     [EFAULT]           iov またはその中に含まれたアドレスの 1 つが、プロセス
                        に割り付けられたアドレス空間の外のアドレスを指してい
                        る。

     [ENOENT]           jid または name パラメータによって参照された jail が存
                        在しません。

     [ENOENT]           jid によって参照される jail が、プロセスが異なった
                        jail にあるので、プロセスによってアクセス可能ではあり
                        ません。

     [ENOENT]           lastjid パラメータが最も大きな現在の jail ID より大き
                        い。

     [EINVAL]           供給されたパラメータが間違ったサイズです。

     [EINVAL]           供給されたパラメータ名が知られているパラメータにマッチ
                        していません。

     jail_attach() と jail_remove() システムコールは、次の場合に失敗します:

     [EPERM]            スーパユーザ以外のユーザが、jail にアタッチするか、ま
                        たは削除しようとしました。

     [EINVAL]           jid によって指定された jail が存在していません。

     さらに、jail(), jail_set() と jail_attach() は、内部的に chroot(2) を呼び
     出すので、すべて同じ理由で失敗するかもしれません。詳細については、
     chroot(2) マニュアルページを調べてください。

関連項目
     chdir(2), chroot(2), jail(8)

歴史
     jail() システムコールは、FreeBSD 4.0 で登場しました。jail_attach() システ
     ムコールは、FreeBSD 5.1 で登場しました。jail_set(), jail_get() と
     jail_remove() システムコールは、FreeBSD 8.0 で登場しました。

作者
     jail の機能は、それを FreeBSD に寄贈した Poul-Henning Kamp によって R&D
     Associates のために書かれました。
     James Gritton は、拡張可能な jail パラメータと階層的な jail を追加しまし
     た。

FreeBSD 11.2                   February 8, 2012                   FreeBSD 11.2

Table of Contents

FreeBSD マニュアル検索