diff options
Diffstat (limited to 'documentation/manual-pages/ja/man5')
91 files changed, 33681 insertions, 0 deletions
diff --git a/documentation/manual-pages/ja/man5/a.out.5 b/documentation/manual-pages/ja/man5/a.out.5 new file mode 100644 index 0000000000..21c98d61ec --- /dev/null +++ b/documentation/manual-pages/ja/man5/a.out.5 @@ -0,0 +1,479 @@ +.\" Copyright (c) 1991, 1993 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" This man page is derived from documentation contributed to Berkeley by +.\" Donn Seeley at UUNET Technologies, Inc. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. All advertising materials mentioning features or use of this software +.\" must display the following acknowledgement: +.\" This product includes software developed by the University of +.\" California, Berkeley and its contributors. +.\" 4. Neither the name of the University nor the names of its contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" @(#)a.out.5 8.1 (Berkeley) 6/5/93 +.\" %FreeBSD: src/share/man/man5/a.out.5,v 1.18 2004/07/03 18:29:22 ru Exp % +.\" +.\" $FreeBSD$ +.\" WORD: byte order バイト順 +.\" WORD: position independent 位置独立(な) +.\" WORD: link editor リンクエディタ +.\" WORD: link edit リンクエディット +.\" +.Dd June 5, 1993 +.Dt A.OUT 5 +.Os +.Sh 名称 +.Nm a.out +.Nd 実行可能バイナリファイルのフォーマット +.Sh 書式 +.In a.out.h +.Sh 解説 +インクルードファイル +.In a.out.h +では 3 つの構造体といくつかのマクロが宣言されています。 +これらの構造体は、このシステムで実行可能な機械語コードファイル +.Pq Sq バイナリ +のフォーマットを規定します。 +.Pp +バイナリファイルは最大で 7 つのセクションから構成されます。 +これらのセクションを順にあげると以下のようになります: +.Bl -tag -width "テキストリロケーション" +.It exec ヘッダ +バイナリファイルをメモリ上にロードして実行するために +カーネルが用いるパラメータを含んでいます。 +これらのパラメータはリンクエディタ +.Xr ld 1 +がバイナリファイルを他のバイナリファイルと結合する際にも +用いられます。 +このセクションは唯一の必須セクションです。 +.It テキストセグメント +プログラムが実行される際にメモリ上にロードされる +機械語コード及び関連データを含んでいます。 +読み込み専用でロードされる場合があります。 +.It データセグメント +初期化済データを含んでいます。 +常に書き込み可能なメモリ上にロードされます。 +.It テキストリロケーション +バイナリファイル結合時にテキストセグメント内のポインタを修正するために、 +リンクエディタによって用いられるレコードを含んでいます。 +.It データリロケーション +前出のテキストリロケーションセクションと似ていますが、 +データセグメント内のポインタ修正用です。 +.It シンボルテーブル +バイナリファイル間で +名前付きの変数や関数 +.Pq Sq シンボル +のアドレス相互参照を解決するために、 +リンクエディタによって用いられるレコードを含んでいます。 +.It string table +シンボル名に対応する文字列を含んでいます。 +.El +.Pp +全てのバイナリファイルは次の +.Fa exec +構造体で始まります: +.Bd -literal -offset indent +struct exec { + unsigned long a_midmag; + unsigned long a_text; + unsigned long a_data; + unsigned long a_bss; + unsigned long a_syms; + unsigned long a_entry; + unsigned long a_trsize; + unsigned long a_drsize; +}; +.Ed +.Pp +これらのフィールドは以下の機能を持っています: +.Bl -tag -width a_trsize +.It Fa a_midmag +このフィールドはホストのバイト順 (host byte-order) で格納されます。 +このフィールドはいくつかのサブコンポーネントを持っており、それらは +以下のマクロ +.Fn N_GETFLAG , +.Fn N_GETMID , +.Fn N_GETMAGIC +で参照され、マクロ +.Fn N_SETMAGIC +で設定されます。 +.Pp +マクロ +.Fn N_GETFLAG +は以下のフラグを返します: +.Bl -tag -width EX_DYNAMIC +.It Dv EX_DYNAMIC +この実行可能ファイルがランタイムリンクエディタのサービスを要求することを +示します。 +.It Dv EX_PIC +このオブジェクトファイルが位置独立 (position independent) なコードを +含んでいることを示します。 +このフラグは +.Sq -k +フラグ指定時に +.Xr as 1 +によって設定され、必要なら +.Xr ld 1 +はこれを保存します。 +.El +.Pp +EX_DYNAMIC と EX_PIC の両方がセットされている場合、 +そのオブジェクトファイルは位置独立な実行可能イメージです (例: 共有ライブラリ)。 +これはランタイムリンクエディタによってプロセスのアドレス空間にロードされます。 +.Pp +マクロ +.Fn N_GETMID +はマシン識別コード (machine-id) を返します。 +これは、バイナリファイルが実行されるべきマシンを示しています。 +.Pp +.Fn N_GETMAGIC +はマジックナンバを示します。 +マジックナンバはバイナリファイル種別を一意に識別し、 +様々なロード方法を区別します。 +このフィールドは以下の値のいずれか 1 つを含んでいなければなりません: +.Bl -tag -width ZMAGIC +.It Dv OMAGIC +テキストセグメントとデータセグメントはヘッダの直後にあり、 +連続しています。 +カーネルはテキスト/データセグメントの両方を書き込み可能メモリ領域に +ロードします。 +.It Dv NMAGIC +.Dv OMAGIC +と同様、テキスト/データセグメントはヘッダの直後にあり、連続しています。 +しかし、カーネルはテキストセグメントを読み込み専用メモリ領域にロードし、 +テキストに続くページ境界から始まる +書き込み可能メモリ領域にデータセグメントをロードします。 +.It Dv ZMAGIC +カーネルは各々のページを必要に応じてバイナリからロードします。 +ヘッダ、テキストセグメント及びデータセグメントはいずれも、 +ページサイズの倍数の大きさになるよう、 +リンクエディタによってパディングされます。 +カーネルがテキストセグメントからロードしたページは読み込み専用ですが、 +データセグメントからロードしたページは書き込み可能です。 +.El +.It Fa a_text +テキストセグメントのサイズ (バイト単位) を保持します。 +.It Fa a_data +データセグメントのサイズ (バイト単位) を保持します。 +.It Fa a_bss +.Sq bss セグメント +のバイト数を保持します。 +この値はカーネルが最初の break 値 +.Pq Xr brk 2 +をデータセグメントの後ろに設定するのに用いられます。 +カーネルは、ここに示されるサイズの書き込み可能メモリ領域が +データセグメントの後ろに用意され、それらの初期状態が 0 になるように、 +プログラムをロードします。 +.Em ( bss += block started by symbol:シンボルで開始するブロック) +.It Fa a_syms +シンボルテーブルセクションのサイズ (バイト単位) を保持します。 +.It Fa a_entry +カーネルがバイナリファイルをロードした後の、 +プログラムのエントリポイントのメモリアドレスを保持します。 +カーネルは、このアドレスにある機械命令からプログラムの実行を開始します。 +.It Fa a_trsize +テキストリロケーションテーブルのサイズ (バイト単位) を保持します。 +.It Fa a_drsize +データリロケーションテーブルのサイズ (バイト単位) を保持します。 +.El +.Pp +インクルードファイル +.In a.out.h +では、 +.Fa exec +構造体を用いて一貫性をテストしたりバイナリファイル中のセクションオフセットを +知るためのマクロが定義されています。 +.Bl -tag -width N_BADMAG(exec) +.It Fn N_BADMAG exec +.Fa a_magic +フィールドに、認識できない値が含まれている場合、非 0 を返します。 +.It Fn N_TXTOFF exec +バイナリファイルにおけるテキストセグメントの先頭のバイトオフセットを返します。 +.It Fn N_SYMOFF exec +シンボルテーブルの先頭のバイトオフセットを返します。 +.It Fn N_STROFF exec +文字列テーブルの先頭のバイトオフセットを返します。 +.El +.Pp +リロケーションレコードは、 +.Fa relocation_info +構造体で規定される標準フォーマットです: +.Bd -literal -offset indent +struct relocation_info { + int r_address; + unsigned int r_symbolnum : 24, + r_pcrel : 1, + r_length : 2, + r_extern : 1, + r_baserel : 1, + r_jmptable : 1, + r_relative : 1, + r_copy : 1; +}; +.Ed +.Pp +.Fa relocation_info +構造体の各フィールドは以下のように用いられます: +.Bl -tag -width r_symbolnum +.It Fa r_address +リンクエディットが必要なポインタのバイトオフセットを保持します。 +テキストリロケーションオフセットはテキストセグメントの先頭から、 +データリロケーションオフセットはデータセグメントの先頭から、 +それぞれ計算します。 +リンクエディタはこのオフセットにストアされている値を加算し、 +このリロケーションレコードを用いて計算した新しい値に変換します。 +.It Fa r_symbolnum +シンボルテーブルにおけるシンボル構造体の順序番号 ( +バイトオフセット +.Em ではありません +) を保持します。 +リンクエディタはこのシンボルの絶対アドレスを解決した後、 +そのアドレスをリロケーション中のポインタに加算します。 +(もし +.Fa r_extern +ビットが立っていなければ状況は異なります。以下を参照して下さい。) +.It Fa r_pcrel +もしこのビットが立っていれば、 +リンクエディタは、PC 相対アドレッシングを用いる機械語命令の一部である +ポインタを更新しているものと仮定します。 +リロケートされるポインタのアドレスは、実行中のプログラムがそれを用いる際に、 +暗黙的にその値に加算されます。 +.It Fa r_length +ポインタの長さを 2 を底とする対数で表したバイト単位で保持します。 +1 バイトディスプレースメントなら 0、 +2 バイトディスプレースメントなら 1、 +4 バイトディスプレースメントなら 2 となります。 +.It Fa r_extern +このリロケーションが外部参照を必要としている場合にセットされます。 +リンクエディタは、シンボルアドレスを用いてこのポインタを +更新しなければなりません。 +.Fa r_extern +ビットが立っていない場合、そのリロケーションは +.Sq ローカル +です。 +リンクエディタは、シンボル値の変化ではなく、 +各セグメントのロードアドレスの変化に応じてポインタを更新します +(ただし、 +.Fa r_baserel +もセットされている場合(後述)は除きます)。 +この場合、 +.Fa r_symbolnum +フィールドの内容は +.Fa n_type +の値となります(後述)。 +リンクエディタは、この型フィールドから、 +リロケートされるポインタがどのセグメントを指しているのかの情報を得ます。 +.It Fa r_baserel +セットされている場合、 +.Fa r_symbolnum +フィールドで指定される場合のように、 +このシンボルはグローバルオフセットテーブルへのオフセットに +リロケートされます。 +実行時に、グローバルオフセットテーブル中の、このオフセット位置にある +エントリが、シンボルのアドレスを持つようにセットされます。 +.It Fa r_jmptable +セットされている場合、 +.Fa r_symbolnum +フィールドで指定される場合のように、 +このシンボルはプロシージャリンケージテーブルへのオフセットに +リロケートされます。 +.It Fa r_relative +セットされている場合、 +このリロケーションは、このオブジェクトファイルが含まれる +イメージの (実行時の) ロードアドレスとの相対値となります。 +この種のリロケーションは共有オブジェクトにのみ現れます。 +.It Fa r_copy +セットされている場合、 +このリロケーションレコードは、 +その内容を +.Fa r_address +で指定される位置にコピーしなければならないシンボルを示します。 +コピー処理は、実行時のリンクエディタによって、 +共有オブジェクト中の適切なデータアイテムから行われます。 +.El +.Pp +シンボルは名前とアドレスを対応づけます (より一般的には、 +文字列を値へ対応づけます)。 +リンクエディタがアドレスを調節するため、 +絶対値が割り当てられるまではシンボルを用いてアドレスを表現しなければ +なりません。 +シンボルは、シンボルテーブル中の固定長のレコードと、 +文字列テーブル中の可変長の名前から成ります。 +シンボルテーブルは +.Fa nlist +構造体の配列です: +.Bd -literal -offset indent +struct nlist { + union { + char *n_name; + long n_strx; + } n_un; + unsigned char n_type; + char n_other; + short n_desc; + unsigned long n_value; +}; +.Ed +.Pp +これらのフィールドは以下のように用いられます: +.Bl -tag -width n_un.n_strx +.It Fa n_un.n_strx +このシンボルの名前の、文字列テーブルでのバイトオフセットを保持します。 +プログラムが +.Xr nlist 3 +関数を用いてシンボルテーブルをアクセスする場合、 +このフィールドは、 +メモリ中の文字列へのポインタである +.Fa n_un.n_name +フィールドに置き換えられます。 +.It Fa n_type +リンクエディタがシンボル値の更新方法を決定するのに用いられます。 +.Fa n_type +フィールドは、ビットマスクを用いた 3 つのサブフィールドに分けられます。 +リンクエディタは +.Dv N_EXT +ビットがセットされているシンボルを +.Sq external +シンボルとして扱い、他のバイナリファイルからの参照を許可します。 +.Dv N_TYPE +マスクはリンクエディタに必要なビットを選択します: +.Bl -tag -width N_TEXT +.It Dv N_UNDF +未定義シンボル。 +リンクエディタは、他のバイナリファイル中の同じ名前の外部シンボルを探して +このシンボルの絶対値を決定しなければなりません。 +特別な場合として、もし +.Fa n_value +フィールドが非 0 で、リンクエディット対象のどのバイナリファイルも +このシンボルを定義していない場合、 +リンクエディタはこのシンボルが bss セグメント中のアドレスであるとみなし、 +.Fa n_value +に等しいバイト数の領域を予約します。 +もしこのシンボルが複数のバイナリファイル中で未定義となっており、 +それらのバイナリファイル間でサイズが異なっている場合、 +リンクエディタはそれらのサイズの最大値を選びます。 +.It Dv N_ABS +絶対シンボル。 +リンクエディタは絶対シンボルは更新しません。 +.It Dv N_TEXT +テキストシンボル。 +このシンボルの値はテキストアドレスであり、 +リンクエディタはバイナリファイルをマージする際、その値を更新します。 +.It Dv N_DATA +データシンボル。 +.Dv N_TEXT +と同様ですが、データアドレスを表します。 +テキストシンボル及びデータシンボルの値は、 +ファイルオフセットではなくアドレスです。 +ファイルオフセットを復元するために、 +対応するセクションの先頭のロードアドレスを見つけてそれを減じ、 +次にそのセクションのオフセットを加算する必要があります。 +.It Dv N_BSS +bss シンボル。テキストシンボルやデータシンボルと似ていますが、 +バイナリファイル中に対応するオフセットを持ちません。 +.It Dv N_FN +ファイル名シンボル。 +バイナリファイルをマージする際、 +リンクエディタはバイナリファイルの他のシンボルの前にこのシンボルを +挿入します。 +このシンボルの名前はリンクエディタに与えられたファイル名で、 +シンボルの値はバイナリファイルから得た先頭テキストアドレスです。 +ファイル名シンボルはリンクエディト処理やロード処理には不要ですが、 +デバッガには有用な情報です。 +.El +.Pp +.Dv N_STAB +マスクは +.Xr gdb 1 +等のシンボリックデバッガに必要なビットを選択します。 +その値は +.Xr stab 5 +に示されています。 +.It Fa n_other +このフィールドは、 +.Fa n_type +フィールドで決定されるセグメントに関して、 +そのシンボルのロケーションとは独立した +シンボルの特質に関する情報を提供します。 +現在のところ、 +.Fa n_other +フィールドの下位 4 ビットは +.Dv AUX_FUNC +あるいは +.Dv AUX_OBJECT +のいずれかをとります +(これらの定義については +.In link.h +を参照してください)。 +.Dv AUX_FUNC +はシンボルと呼び出し可能な関数を関連づけ、他方、 +.Dv AUX_OBJECT +はシンボルとデータを関連づけます。 +これらの関連はテキストセグメント/データセグメントの別とは無関係です。 +このフィールドは、 +.Xr ld 1 +が動的な実行可能形式を構築するために使うことを意図しています。 +.It Fa n_desc +デバッガ用に予約されており、リンクエディタはこのフィールドを全く変更しません。 +デバッガによって異なった目的に使われます。 +.It Fa n_value +シンボルの値を保持します。 +テキスト, データおよび bss シンボルの場合、その値はアドレスです。 +他のシンボル (例えばデバッガシンボル等) の場合、その値は様々です。 +.El +.Pp +文字列テーブルは +.Em unsigned long +型の長さと、それに続くナル終端のシンボル文字列から成ります。 +この長さは、テーブル全体のサイズをバイト単位で表します。 +つまり、その最小値 (言い替えれば、最初の文字列のオフセット) は、 +32 ビットマシンでは常に 4 となります。 +.Sh 関連項目 +.Xr as 1 , +.Xr gdb 1 , +.Xr ld 1 , +.Xr brk 2 , +.Xr execve 2 , +.Xr nlist 3 , +.Xr core 5 , +.Xr elf 5 , +.Xr link 5 , +.Xr stab 5 +.Sh 歴史 +インクルードファイル +.In a.out.h +は +.At v7 +で登場しました。 +.Sh バグ +必ずしも全てのサポート対象アーキテクチャが +.Fa a_midmag +フィールドを用いるわけではないので、 +あるバイナリがどのようなアーキテクチャ上で実行されるのかは、 +実際のマシンコードを調べない限り判定困難な可能性があります。 +マシン ID があったとしても、 +.Fa exec +ヘッダのバイト順はマシン依存です。 diff --git a/documentation/manual-pages/ja/man5/acct.5 b/documentation/manual-pages/ja/man5/acct.5 new file mode 100644 index 0000000000..4a9de6d532 --- /dev/null +++ b/documentation/manual-pages/ja/man5/acct.5 @@ -0,0 +1,116 @@ +.\" Copyright (c) 1991, 1993 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. All advertising materials mentioning features or use of this software +.\" must display the following acknowledgement: +.\" This product includes software developed by the University of +.\" California, Berkeley and its contributors. +.\" 4. Neither the name of the University nor the names of its contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" @(#)acct.5 8.1 (Berkeley) 6/5/93 +.\" %FreeBSD: src/share/man/man5/acct.5,v 1.10 2001/10/01 16:09:23 ru Exp % +.\" +.\" $FreeBSD$ +.\" +.\" WORD: account アカウント[acct.5] +.\" WORD: accounting file アカウンティングファイル[acct.5] +.\" WORD: structure 構造体(C言語の)[C] +.\" +.Dd June 5, 1993 +.Dt ACCT 5 +.Os +.Sh 名称 +.Nm acct +.Nd 実行アカウントファイル +.Sh 書式 +.In sys/types.h +.In sys/acct.h +.Sh 解説 +カーネルは、下記の +.Fa acct +情報構造を、全プロセスに対して管理します。 +プロセスが終了すると、アカウンティングが有効になっている場合には、 +カーネルは +.Xr acct 2 +関数呼び出しを行い、アカウンティングファイルに記録を追加します。 +.Bd -literal +/* + * アカウンティング構造体; これらは、基底値 8 の 3 ビット指数部および + * 13 ビット小数部の ``浮動小数点数'' である comp_t 型を使用します。 + * 単位は 1/AHZ 秒です。 + */ +typedef u_short comp_t; + +#define AC_COMM_LEN 16 +struct acct { + char ac_comm[AC_COMM_LEN]; /* コマンド名 */ + comp_t ac_utime; /* ユーザ時間 */ + comp_t ac_stime; /* システム時間 */ + comp_t ac_etime; /* 経過時間 */ + time_t ac_btime; /* 開始時刻 */ + uid_t ac_uid; /* ユーザ ID */ + gid_t ac_gid; /* グループ ID */ + short ac_mem; /* 平均メモリ使用量 */ + comp_t ac_io; /* 入出力ブロック数 */ + dev_t ac_tty; /* 制御 tty */ +#define AFORK 0x01 /* fork したが exec されていない */ +#define ASU 0x02 /* スーパユーザ権限を使用した */ +#define ACOMPAT 0x04 /* 互換モードを使用した */ +#define ACORE 0x08 /* コアダンプした */ +#define AXSIG 0x10 /* シグナルにより kill された */ + char ac_flag; /* アカウンティングフラグ */ +}; + +/* + * 1/AHZ の粒度で、データは comp_t フィールドにエンコードされます。 + * 必ずしも周波数と同一となるとは限りません。 + */ +#define AHZ 64 +.Ed +.Pp +終了したプロセスが +.Xr execve 2 +により生成されたものだった場合、 +実行されたファイルのファイル名 (最大 10 文字まで) が +.Fa ac_comm +フィールドに保存され、その状態は +.Fa ac_flag +の次のフラグの 1 つ以上を設定することにより保存されます: +.Dv AFORK , +.Dv ACOMPAT , +.Dv ACORE , +.Dv ASIG +。 +.Dv ASU +はもはやサポートされていません。 +.Sh 関連項目 +.Xr acct 2 , +.Xr execve 2 , +.Xr sa 8 +.Sh 歴史 +.Nm +ファイルフォーマットは +.At v7 +から登場しました。 diff --git a/documentation/manual-pages/ja/man5/aliases.5 b/documentation/manual-pages/ja/man5/aliases.5 new file mode 100644 index 0000000000..201f57bb17 --- /dev/null +++ b/documentation/manual-pages/ja/man5/aliases.5 @@ -0,0 +1,128 @@ +.\" Copyright (c) 1998-2000 Sendmail, Inc. and its suppliers. +.\" All rights reserved. +.\" Copyright (c) 1983, 1997 Eric P. Allman. All rights reserved. +.\" Copyright (c) 1985, 1991, 1993 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" By using this file, you agree to the terms and conditions set +.\" forth in the LICENSE file which can be found at the top level of +.\" the sendmail distribution. +.\" +.\" $Id: aliases.5,v 1.13 2004-09-21 20:40:05 metal Exp $ +.\" +.\" WORD: alias (名)別名(sendmail),エイリアス(csh)(動)エイリアスする(sendmail)[aliases.5,csh.1] +.\" +.\" $FreeBSD$ +.TH ALIASES 5 "$Date: 2004-09-21 20:40:05 $" +.SH 名称 +aliases +\- sendmail のためのエイリアスファイル +.SH 書式 +.B aliases +.SH 解説 +このファイルには、 +sendmail +が使用する、ユーザ +ID +の別名を記述します。 +このファイルは +/etc/mail +に置かれる、下記の形式の一連の行です。 +.IP +name: addr_1, addr_2, addr_3, . . . +.PP +.I name +はエイリアスする名前、 +.I addr_n +はその名前の別名です。 +.I addr_n +は、別の別名、ローカルユーザ名、ローカルファイル名、コマンド、 +インクルードファイル、外部アドレスのいずれかです。 +.TP +.B ローカルユーザ名 +username +.IP +username は、getpwnam(3) で使用可能であることが必要です。 +.TP +.B ローカルファイル名 +/path/name +.IP +フルパス名 (スラッシュ (/) で開始) で指定されたファイルに、 +メッセージが追加されます。 +.TP +.B コマンド +|command +.IP +コマンドはパイプシンボル (|) で開始し、メッセージを標準入力から受け取ります。 +.TP +.B インクルードファイル +:include: /path/name +.IP +パス名にあるエイリアスが、 +.I name +のエイリアスに追加されます。 +.TP +.B E-Mail アドレス +user@domain +.IP +RFC 822 書式の e-mail アドレス。 +.PP +空白ではじまる行は継続行です。 +行を続ける別の方法として、改行の前にバックスラッシュを置く方法があります。 +# +ではじまる行はコメントです。 +.PP +エイリアスはローカル名でのみ適用されます。 +ループは起りえません。 +なぜなら、メッセージは同じ人に複数回送られないからです。 +.PP +.IR name +に対するエイリアスがある場合、 +sendmail は +.IR owner-name +に対するエイリアスをチェックします。 +もしそれがあり、1 つのアドレスに展開される場合は、 +エンベロープの送信者アドレスはそのアドレスに書き換えられます。 +もしそれがあり、複数のアドレスに展開される場合は、 +エンベロープの送信者アドレスは +.IR owner-name +に変更されます。 +.PP +エイリアス適用後、ローカルかつ有効な受信者で +``.forward'' +ファイルをホームディレクトリに持つ人のメッセージは、 +このファイルに定義された一連のユーザに転送されます。 +.PP +これは単なる生のデータファイルです; +実際のエイリアス情報は +newaliases(1) +プログラムを使用することにより、バイナリ形式でファイル +/etc/mail/aliases.db +に置かれます。aliases ファイルを更新したときには、その内容を反映させるために、 +newaliases +コマンドを実行する必要があります。 +.SH 関連項目 +newaliases(1), +dbm(3), +dbopen(3), +sendmail(8) +.PP +.I +SENDMAIL Installation and Operation Guide. +.PP +.I +SENDMAIL An Internetwork Mail Router +.SH バグ +sendmail +を NEWDB サポート付きではなく DBM サポート付きでコンパイルした時には、 +エイリアス 1 つがおよそ 1000 バイトまでの情報に限るという +dbm(3) +の制約が問題となるかもしれません。 +このような場合に長いエイリアスを使用するためには ``連鎖'' を使用します; +これは別名の最後の名前をダミーの名前にし、 +これを引続き別の別名として使用するというものです。 +.SH 歴史 +.B aliases +ファイルフォーマットは +4.0BSD +に登場しました。 diff --git a/documentation/manual-pages/ja/man5/amd.conf.5 b/documentation/manual-pages/ja/man5/amd.conf.5 new file mode 100644 index 0000000000..30ec08feff --- /dev/null +++ b/documentation/manual-pages/ja/man5/amd.conf.5 @@ -0,0 +1,872 @@ +.\" +.\" Copyright (c) 1997-2004 Erez Zadok +.\" Copyright (c) 1990 Jan-Simon Pendry +.\" Copyright (c) 1990 Imperial College of Science, Technology & Medicine +.\" Copyright (c) 1990 The Regents of the University of California. +.\" All rights reserved. +.\" +.\" This code is derived from software contributed to Berkeley by +.\" Jan-Simon Pendry at Imperial College, London. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. All advertising materials mentioning features or use of this software +.\" must display the following acknowledgment: +.\" This product includes software developed by the University of +.\" California, Berkeley and its contributors. +.\" 4. Neither the name of the University nor the names of its contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" %W% (Berkeley) %G% +.\" +.\" $Id: amd.conf.5,v 1.22 2004-09-24 13:28:55 metal Exp $ +.\" %FreeBSD: src/contrib/amd/scripts/amd.conf.5,v 1.16 2004/07/06 13:16:49 mbr Exp % +.\" +.\" $FreeBSD$ +.\" +.Dd April 7, 1997 +.Dt AMD.CONF 5 +.Os +.Sh 名称 +.Nm amd.conf +.Nd amd コンフィギュレーションファイル +.Sh 書式 +.Nm +.Sh 解説 +.Nm +ファイルは amd のコンフィギュレーションファイルであり、 +am-utils 一式に含まれます。 +.Pp +.Nm +は、自動マウントプログラム +.Xr amd 8 +用の実行時コンフィギュレーション情報を含んでいます。 +.Sh ファイルフォーマット +このファイルはセクションとパラメータから成ります。 +セクションは角括弧で囲んだセクション名で始まり、 +次のセクションが開始するかファイルの終りに達するまで続きます。 +セクションには +.Sq name = value +という形式のパラメータが含まれます。 +.Pp +このファイルは行指向です。すなわち、改行までの各行は、 +1 つのコメント、セクション名あるいはパラメータを表します。 +継続行を記述する方法はありません。 +.Pp +セクション名、パラメータ名及びその値は、大文字小文字を区別します。 +.Pp +パラメータ中の最初の等号のみ重要な意味を持ちます。 +最初の等号の前後にある空白は取り除かれます。 +セクション及びパラメータ名の中の先頭、末尾あるいは途中にある空白は +意味を持ちません。 +パラメータ値の先頭や末尾にある空白は取り除かれます。 +パラメータ値内部に空白を置くことはできません。 +ただし、 +.Sq name = Qq some\ value +のように、パラメータ値全体を二重引用符でくくった場合を除きます。 +.Pp +井桁記号 (#) で始まる行は無視されます。 +空白文字のみ含む行も同じく無視されます。 +.Pp +パラメータ記述において等号に続く値は文字列ないしブール値です。 +文字列の場合、空白を含まなければ引用符は不要です。 +ブール値の場合は yes あるいは no と記述します。 +すべての値において大文字小文字が区別されます。 +キャッシュタイムアウトのような一部の項目は数値をとります。 +.Sh セクション +.Ss "[global] セクション" +このセクションのパラメータは、 +.Nm amd +全体に適用されるか、または、これに続くすべての通常マップに適用されます。 +1 つのコンフィギュレーションファイルにはグローバルセクションをただ 1 つだけ +定義すべきです。 +.Pp +このセクションはコンフィギュレーションファイル中の最初に記述しておくことを +強く推奨します。 +もしそうしなければ、グローバルセクションより先に記述された +通常マップセクションでは、後に定義されるグローバルな値を利用できません。 +.Ss "通常 [/map] セクション" +通常の (グローバルでない) セクションのパラメータは、単一のマップエントリに +適用されます。例えば、マップセクション +.Bq Pa /homes +が定義されていると、それに続くすべてのパラメータは、 +amd が管理しているマウントポイント +.Pa /homes +に適用されます。 +.Sh パラメータ +.Ss "すべてのセクションに共通のパラメータ" +以下のパラメータは、グローバルセクションとマップ用セクションの +いずれにおいても指定できます。 +マップ用セクションで指定されたエントリは、 +デフォルト値あるいはグローバルセクションで定義された値を上書きします。 +そのような共通のパラメータがグローバルセクション中でのみ指定されている場合は、 +それに続くすべての通常マップセクションにその指定が適用されます。 +.Bl -tag -width 4n +.It Ic browsable_dirs Xo +(文字列、デフォルト = no) +.Xc +.Qq yes +にすると、amd のトップレベルのマウントポイントが +.Xr readdir 3 +呼び出しでブラウズ可能になります。 +つまり、例えば +.Xr ls 1 +を実行することでそのディレクトリでどんなキーがマウント可能か +知ることができるようになります。 +必ずしもすべてのエントリが +.Xr readdir 3 +に対して見えるようになるわけではありません。 +.Qq Pa /default +エントリやワイルドカードエントリ、さらに +.Qq Pa / +を含むエントリは見えるようになりません。 +もしこのオプションに対して +.Qq full +を指定すれば、 +.Qq Pa /default +以外はすべて見えるようになります。 +注意: +もし +.Qq ls -l +や +.Qq ls -F +のような +.Xr stat 2 +を行おうとするコマンドを走らせると、 +.Nm amd +はそのマップ中の +.Em すべての +エントリをマウントしようとします。 +これはよく +.Em mount storm +と呼ばれます。 +.It Ic map_options Xo +(文字列、デフォルト = オプションなし) +.Xc +このオプションは、例えば +.Ql cache\&:\&=all +のように、 +.Nm amd +のコマンドラインでマップオプションを指定するのと同じ働きをします。 +.It Nm map_type Xo +(文字列、デフォルト = 全マップタイプを検索) +.Xc +このオプションが指定されると、amd は指定されたタイプに対するマップのみ +初期化します。 +.Nm amd +のデフォルトのマップ検索は時間がかかるうえ、 +使っていなくても +.Tn NIS +を初期化してしまうといった +望まない副作用を持つことがありますが、 +そのような事態を避けるのにこのオプションが有効です。 +指定可能な値は以下のものです。 +.Pp +.Bl -tag -width "nisplus" -compact +.It Ic file +通常ファイル +.It Ic hesiod +MIT の hesiod ネームサービス +.It Ic ldap +軽量ディレクトリアクセスプロトコル +.It Ic ndbm +(新しい) dbm 形式のハッシュファイル +.It Ic nis +ネットワークインフォメーションサービス (バージョン 2) +.It Ic nisplus +ネットワークインフォメーションサービス プラス (バージョン 3) +.It Ic passwd +ローカルのパスワードファイル +.It Ic union +ユニオンマップ +.El +.It Ic mount_type Xo +(文字列、デフォルト = nfs) +.Xc +amd のすべてのマウントタイプで、 +.Tn NFS +が必須です。 +つまり、実行しているローカルホストに対して、 +.Nm amd +はマップのマウントポイントにおける +.Tn NFS +サーバとなります。 +もし +.Qq autofs +を指定すると、amd はエラーを記録し、 +.Tn NFS +に変換します。 +.It Ic search_path Xo +(文字列、デフォルト = サーチパスなし) +.Xc +ファイルマップに対するサーチパスを +(コロンで区切った形式で) +指定します。 +サーチパスを用いることで、 +各サイトはローカルなマップのカスタマイズや上書きが可能になり、 +必要に応じていくつかの場所にマップを分散配置させることができます。 +.El +.Ss "グローバルセクションにのみ適用されるパラメータ" +.Bl -tag -width 4n +.It Ic arch Xo +(文字列、デフォルト = コンパイル時の値) +.Xc +.Nm amd +の変数 +.Va arch +の値を上書きできます。 +.It Ic auto_dir Xo (文字列、デフォルト = Pa /a ) +.Xc +.Nm amd +の +.Fl a +オプションと同じです。 +実際のマウントポイント用に amd がサブディレクトリを作成する +プライベートディレクトリを設定します。 +.It Ic cache_duration Xo +(数値、デフォルト = 300) +.Xc +.Nm amd +の +.Fl c +オプションと同じです。 +検索されたマップエントリがキャッシュ中に残る秒数を設定します。 +.It Ic cluster Xo +(文字列、デフォルト = クラスタなし) +.Xc +.Nm amd +の +.Fl C +オプションと同じです。使用する、別の +.Tn HP-UX +クラスタを指定します。 +.It Ic debug_options Xo +(文字列、デフォルト = デバッグオプションなし) +.Xc +.Nm amd +の +.Fl D +オプションと同じです。 +.Nm amd +のデバッグオプションを指定します。 +am-utils が +.Fl -enable-debug +を用いてデバッグ機能付きで構築されている場合のみ有効です。 +.Qq mem +オプションを含めすべてのオプションが、 +.Fl -enable-debug Ns = Ns Ic mem +のようにしてオンにできます。 +これら以外の場合、デバッグオプションは無視されます。 +オプションはコンマで区切ります。 +先頭に文字列 +.Qq no +を付けることでその意味を反転できます。 +サポートされているデバッグオプション一覧を得るには +.Nm amd Fl v +を実行して下さい。 +取りうる値は以下の通りです。 +.Pp +.Bl -tag -width "daemon" -compact +.It Ic all +全オプション +.It Ic amq +.Xr amq 8 +に登録する +.It Ic daemon +デーモンモードに移行する +.It Ic fork +サーバを fork する +.It Ic full +プログラムトレース +.It Ic info +info サービスに固有のデバッグ情報 +(hesiod, nis など) +.It Ic mem +メモリアロケーションをトレースする +.It Ic mtab +ローカルの +.Pa ./mtab +ファイルを用いる +.It Ic str +文字列操作のデバッグ +.It Ic test +完全なデバッグモードだがデーモンにしない +.It Ic trace +プロトコルのトレース +.El +.It Ic dismount_interval Xo +(数値、デフォルト = 120) +.Xc +.Nm amd +の +.Fl w +オプションと同じです。 +キャッシュ期間を超えたファイルシステムのマウントを外そうとするまでの時間を +秒単位で指定します。 +.It Ic fully_qualified_hosts Xo +(文字列、デフォルト = no) +.Xc +.Qq yes +に設定すると、 +.Nm amd +は完全なホスト名 (fully-qualified host name) を用いて RPC 認証を行います。 +システムによってはこの仕組みが必要です。 +特にドメインにまたがるマウントを行う場合に必要となります。 +この機能を有効にするため、 +.Nm amd +の変数 +.Va ${hostd} +が用いられます。 +.Va ${domain} +は空であってはいけません。 +.It Ic hesiod_base Xo +(文字列、デフォルト = automount) +.Xc +hesiod マップのためのベース名を指定します。 +.It Ic karch Xo +(文字列、デフォルト = システムのカーネルアーキテクチャ) +.Xc +.Nm amd +の +.Fl k +オプションと同じです。 +システムのカーネルアーキテクチャを上書き指定できます。 +例えば Sun +(Sparc) +マシンに便利です。 +この場合、一つの +.Nm amd +バイナリを作成し、それを複数のマシンで走らせますが、それぞれに +正しい +.Va karch +変数 +(例えば sun4c, sun4m, sun4u など) +を設定したいと思うでしょう。 +注意: もしこのオプションを指定しなければ、 +.Nm amd +は +.Xr uname 3 +を用いてそのマシンのカーネルアーキテクチャを判別します。 +.It Ic ldap_base Xo +(文字列、デフォルト = 未設定) +.Xc +LDAP のためのベース名を指定します。 +.It Ic ldap_cache_maxmem Xo +(数値、デフォルト = 131072) +.Xc +LDAP エントリをキャッシュするために amd が使用する最大メモリ量を指定します。 +.It Ic ldap_cache_seconds Xo +(数値、デフォルト = 0) +.Xc +エントリをキャッシュに保持する秒数を指定します。 +.It Ic ldap_hostports Xo +(文字列、デフォルト = 未設定) +.Xc +LDAP のホストおよびポート値を指定します。 +.It Ic local_domain Xo +(文字列、デフォルト = サブドメインなし) +.Xc +.Nm amd +の +.Fl d +オプションと同じです。 +ローカルのドメイン名を指定します。 +このオプションが与えられない場合、 +完全なホスト名から最初の要素を取り除くことでドメイン名を決定します。 +.It Ic log_file Xo (文字列、デフォルト = Ns Pa /dev/stderr ) +.Xc +.Nm amd +の +.Fl l +オプションと同じです。 +.Nm amd +のイベントログを記録するファイル名を指定します。 +文字列 +.Pa /dev/stderr +を指定すると、 +.Nm amd +はイベントを標準エラー出力ファイル記述子に送ります。 +もし文字列 +.Pa syslog +を指定すると、 +.Nm amd +はシステムログ記録機構 +.Xr syslogd 8 +を用いてイベントを記録します。 +デフォルトで用いられる syslog ファシリティは +.Ev LOG_DAEMON +です。 +これを変更するには、ログファイル名に続いて、単一のコロンで区切って +ファシリティ名を記述します。例えば +.Pa logfile +として文字列 +.Qq syslog:local7 +を指定すると、 +.Nm amd +は +.Ev LOG_LOCAL7 +ファシリティを用いて +.Xr syslog 3 +経由でメッセージを記録します +(そのファシリティが当該システムに存在する場合)。 +.It Ic log_options Xo +(文字列、デフォルト = ロギングオプションなし) +.Xc +.Nm amd +の +.Fl x +オプションと同じです。 +.Nm amd +のロギングオプションを指定します。 +複数のオプションはコンマで区切ります。 +先頭に +.Dq no +をつけることで、その意味を反転させることができます。 +ロギングオプション +.Dq debug +は、 +am-utils +が +.Fl -enable-debug +付きで構築された場合のみ利用可能です。 +.Nm amd Fl H +を実行するとサポートされているデバッグオプションとロギングオプションの +一覧が得られます。 +指定可能な値は以下の通りです。 +.Pp +.Bl -tag -width "warning" -compact +.It Ic all +すべてのメッセージ +.It Ic debug +デバッグメッセージ +.It Ic error +重大ではないシステムエラー +.It Ic fatal +重大なエラー +.It Ic info +参考情報 +.It Ic map +マップエラー +.It Ic stats +より詳細な統計情報 +.It Ic user +重大ではないユーザエラー +.It Ic warn +警告 +.It Ic warning +警告 +.El +.It Ic nfs_proto Xo +(文字列、デフォルト = まず tcp、次に udp) +.Xc +デフォルトでは、 +amd +は TCP を試行し、その次に UDP を試行します。 +このオプションを使用すると、 +すべての +.Tn NFS +プロトコルに TCP または UDP を強制します。 +これは amd maps 中の設定に優先します。 +amd +が NFSv3 サポート付きでコンパイルされているが不安定な場合に有用でしょう。 +このオプションを使用することで、 +NFSv3 サポートが再度必要となるような時まで、 +動的に +(amd +を再コンパイルすることなく) NFSv3 の使用を完全に止められます。 +.It Ic nfs_retransmit_counter Xo +(数値、デフォルト = 110) +.Xc +.Nm amd +の +.Fl t Ar interval.counter +オプションの +.Ic counter +部と同じです。 +再送カウンタの値を 1/10 秒単位で指定します。 +.It Ic nfs_retry_interval Xo +(数値、デフォルト = 8) +.Xc +.Nm amd +の +.Fl t Ar interval.counter +オプションの +.Ic interval +部と同じです。 +NFS/RPC の再試行 (UDP のみ) の間の +.Tn NFS +タイムアウトインターバルを +1/10 +秒単位で指定します。 +この値は、カーネルが +amd +との通信に使用します。 +.Pp +.Nm amd +は、カーネルの RPC 再送信機構がマウントの再試行を引き起こすことに +依存しています。 +.Ic nfs_retransmit_counter +および +.Ic nfs_retry_interval +の値は、システム全体の再試行インターバルを変更します。 +インターバルが長過ぎると、対話的な応答性が落ちます。 +インターバルが短か過ぎると、リトライ回数が多くなり過ぎます。 +.It Ic nfs_allow_insecure_port Xo +(文字列、デフォルト = no) +.Xc +通常 amd は、非特権ポート +(Unix システムでは 1024 以上のポート) +からの要求を拒否し、特権を持つユーザとカーネルのみが +NFS 要求を送出できるようにします。 +しかし、いくつかのカーネル (あるバージョンの Darwin, MacOS X, Linux) には、 +ある特定の状況において非特権ポートを使用するバグがあり、 +これによって amd は直ちに停止してしまいます。 +このパラメータによって、多少セキュリティを犠牲にすることで、 +そのようなシステム上でも amd を正常に動作させることができます。 +amd のログに "ignoring request from foo:1234, port not reserved" のような +メッセージがあった場合、このパラメータを有効にして、 +もう一度試してみてください。 +.It Ic nfs_vers Xo +(数値、デフォルト = まずバージョン 3、次に 2) +.Xc +デフォルトでは、 +amd +はバージョン 3 を試行し、それからバージョン 2 を試行します。 +このオプションを使用すると、 +すべての +.Tn NFS +プロトコルに 3 または 2 を強制します。 +これは amd maps 中の設定に優先します。 +.Nm amd +が NFSv3 サポート付きでコンパイルされているが不安定な場合に有用でしょう。 +このオプションを使用することで、 +NFSv3 サポートが再度必要となるような時まで、 +動的に +(amd +を再コンパイルすることなく) NFSv3 の使用を完全に止められます。 +.It Ic nis_domain Xo +(文字列、デフォルト = ローカル +.Tn NIS +ドメイン名) +.Xc +.Nm amd +の +.Fl y +オプションと同じです。 +.Tn NIS +マップを取得するために、別の +.Tn NIS +ドメインを指定します。 +デフォルトはシステムのドメイン名です。 +.Tn NIS +サポートが利用可能でない場合、このオプションは無視されます。 +.It Ic normalize_hostnames Xo +(ブール値、デフォルト = no) +.Xc +.Nm amd +の +.Fl n +オプションと同じです。 +.Dq yes +を指定すると、 +.Va ${rhost} +の参照先の名前は、前もってホストデータベースからの相対値に正規化されます。 +別名 (エイリアス) を +.Qq 公式な +名前に変換する効果があります。 +.It Ic os Xo +(文字列、デフォルト = コンパイル時の値) +.Xc +.Nm amd +の +.Fl O +オプションと同じです。 +コンパイル時に決まったオペレーティングシステム名を上書きできます。 +以前との互換性を保つためには組み込み済みの名前はふさわしくない、 +という場合に便利です。 +例えば、もし組み込まれた名前が +.Dq sunos5 +の場合、これを上書きして +.Dq sos5 +とすることで、後者の OS 名を前提に書かれた以前のマップを利用できます。 +.It Ic osver Xo +(文字列、デフォルト = コンパイル時の値) +.Xc +.Nm amd +の +.Fl o +オプションと同じです。 +コンパイル時に決まったオペレーティングシステムのバージョン番号を +上書きします。 +以前との互換性を保つためには組み込み済みのバージョンはふさわしくない、 +という場合に便利です。 +例えば、もし組み込まれたバージョン番号が +.Dq 2.5.1 +の場合、これを上書きして +.Dq 5.5.1 +とすることで、後者のバージョンを前提に書かれた以前のマップを利用できます。 +.It Ic pid_file Xo (文字列、デフォルト = Ns Pa /dev/stdout ) +.Xc +実行しているデーモンのプロセス ID を格納するファイルを指定します。 +これを指定しない場合、 +.Nm amd +は自分のプロセス ID を標準出力にのみ書き出します。 +実行後に +.Nm amd +を kill する際に便利です。 +注意: 実行中の +.Nm amd +のプロセス ID は +.Nm amq Fl p +によっても得られます。 +このファイルは +.Ar print_pid +オプションがオンの場合のみ使用されます。 +.It Ic plock Xo +(ブール値、デフォルト = yes) +.Xc +.Nm amd +の +.Fl S +オプションと同じです。 +.Dq yes +を指定すると、実行中の +.Nm amd +の実行可能ページをメモリ上にロックします。 +.Xr plock 3 +をサポートしているシステムでは、 +.Nm amd +プロセスをメモリ上にロックできます。 +このようにして、オペレーティングシステムが必要に応じて +.Nm amd +プロセスをスケジュールしたり、ページアウトさせたり、スワップさせたりする +可能性を減らします。 +これにより +.Nm amd +の性能は向上しますが、その反面、 +.Nm amd +プロセスが使用しているメモリが予約される +(他のプロセスがそのメモリを使えなくなる) +という代償もあります。 +.It Ic portmap_program Xo +(数値、デフォルト = 300019) +.Xc +公式の番号とは別の、ポートマップ RPC プログラム番号を指定します。 +これは複数の +.Nm amd +プロセスを実行させる場合に便利です。 +例えば、メインの +.Nm amd +プロセスに全く影響を与えることなく、別の +.Nm amd +を +.Dq test +モードで実行できます。 +安全のため、指定する別のプログラム番号は 300019 から 300029 まで +の範囲になければなりません。 +.Nm amq +は、接続するための別のプログラム番号を指定するのに用いる +.Fl P +オプションを持っています。 +このように、 +.Nm amq +は同じホスト上で実行されている複数の +.Nm amd +プロセスを完全に制御することが可能です。 +.It Ic print_pid Xo +(ブール値、デフォルト = no) +.Xc +.Nm amd +の +.Fl p +オプションと同じです。 +.Dq yes +を指定すると、 +.Nm amd +は起動時にそのプロセス ID を表示します。 +.It Ic print_version Xo +(ブール値、デフォルト = no) +.Xc +.Nm amd +の +.Fl v +オプションと同じですが、バージョンを表示しても +.Nm amd +は実行を続けます。 +.Dq yes +の場合、 +.Nm amd +は、コンフィギュレーション設定やコンパイル時の値を含む +バージョン情報文字列を表示します。 +.It Ic restart_mounts Xo +(ブール値、デフォルト = no) +.Xc +.Nm amd +の +.Fl r +オプションと同じです。 +.Dq yes +とすると、 +.Nm amd +はマウントテーブルを走査して、現在どのファイルシステムがマウントされて +いるのか判断します。その中に自動マウントすべきファイルシステムがあれば、 +.Nm amd +はそれを継承します。 +.It Ic selectors_on_default Xo +(ブール値、デフォルト = no) +.Xc +.Dq yes +とすると、マップの +.Pa /default +エントリが検索され、そのマップ中の他のすべてのキーのデフォルト値を +設定する前に、すべてのセレクタを処理します。 +あるパラメータに基づき、ある完全なマップに対して異なるオプションを +設定したい場合に有用です。 +例えば、slip ベースの低速ネットワーク越しの +.Tn NFS +性能を改善するためには、次のようにします。 +.Pp +.Bd -literal +/defaults \\ + wire==slip-net;opts:=intr,rsize=1024,wsize=1024 \\ + wire!=slip-net;opts:=intr,rsize=8192,wsize=8192 +.Ed +.It Ic show_statfs_entries Xo +(ブール値、デフォルト = no) +.Xc +.Dq yes +とすると、ブラウズ可能なすべてのマップは、 +.Qq df +実行時にエントリ数 +(key 数) +をあわせて表示します +.Po この機能は、 +.Xr statfs 2 +呼び出しに対して非 0 値を返すことで実現されています +.Pc +。 +.It Ic unmount_on_exit Xo +(ブール値、デフォルト = no) +.Xc +.Dq yes +とすると、 +.Nm amd +は関知しているすべてのファイルシステムをアンマウントしようとします。 +通常、 +.Nm amd +はすべての +(特に) +.Tn NFS +マウントされたファイルシステムをそのまま残します。 +注意: +.Ar restart_mounts +オプションまたは +.Fl r +フラグが指定されていない限り、 +.Nm amd +は起動時以前にマウントされていたファイルシステムのことを関知しません。 +.El +.Ss "通常のマップセクションに適用されるパラメータ" +.Bl -tag -width 4n +.It Ic map_name Xo +(文字列、必須) +.Xc +キーが配置されるマップの名前です。 +.It Ic tag Xo +(文字列、デフォルト = タグなし) +.Xc +コンフィギュレーションファイルの各マップエントリにはタグをつけることが +できます。タグが指定されない場合、そのマップセクションは常に +.Nm amd +で処理されます。 +タグが指定されている場合、 +.Nm amd +に +.Fl T +オプションが指定され、そのコマンドラインオプションの値が +マップセクションのタグ名と一致する場合のみ、 +.Nm amd +はそのマップを処理します。 +.El +.Sh 使用例 +以下に示すものは、私がいつも使っている実際の +.Nm amd +コンフィギュレーションです。 +.Bd -literal +# グローバルオプションセクション +[ global ] +normalize_hostnames = no +print_pid = no +restart_mounts = yes +auto_dir = /n +log_file = /var/log/amd +log_options = all +#debug_options = all +plock = no +selectors_on_default = yes +# config.guess は "sunos5" を選びました。 +# 今のところこれを変えようとは思いません。 +os = sos5 +# "os" を設定後 print_version を有効にすると、設定後のものが表示されます。 +print_version = no +map_type = file +search_path = /etc/amdmaps:/usr/lib/amd:/usr/local/AMD/lib +browsable_dirs = yes + +# マウントポイントの定義 +[ /u ] +map_name = amd.u + +[ /proj ] +map_name = amd.proj + +[ /src ] +map_name = amd.src + +[ /misc ] +map_name = amd.misc + +[ /import ] +map_name = amd.import + +[ /tftpboot/.amd ] +tag = tftpboot +map_name = amd.tftpboot +.Ed +.Sh 関連項目 +.Xr amd 8 , +.Xr amq 8 +.Sh 作者 +.An Erez Zadok Aq ezk@cs.columbia.edu , +Department of Computer Science, Columbia University, New York, USA. +.Pp +.An Jan-Simon Pendry Aq jsp@doc.ic.ac.uk , +Department of Computing, Imperial College, London, UK. +.Pp +am-utils の他の作者並びに貢献者のリストが、am-utils と共に配布されている +.Pa AUTHORS +ファイルにあります。 +.Sh 歴史 +.Nm amd +ユーティリティは +.Bx 4.4 +で初めて登場しました。 diff --git a/documentation/manual-pages/ja/man5/bootparams.5 b/documentation/manual-pages/ja/man5/bootparams.5 new file mode 100644 index 0000000000..7d4c044ad5 --- /dev/null +++ b/documentation/manual-pages/ja/man5/bootparams.5 @@ -0,0 +1,87 @@ +.\" +.\" Copyright (c) 1994 Gordon W. Ross +.\" All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. The name of the author may not be used to endorse or promote products +.\" derived from this software without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +.\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +.\" +.\" from: Id: bootparams.5,v 1.2 1994/10/03 19:26:13 gwr Exp +.\" %FreeBSD: src/usr.sbin/bootparamd/bootparamd/bootparams.5,v 1.11 2001/01/24 12:22:39 ru Exp % +.\" $FreeBSD$ +.\" +.Dd October 2, 1994 +.Dt BOOTPARAMS 5 +.Os +.Sh 名称 +.Nm bootparams +.Nd ブートパラメータデータベース +.Sh 書式 +.Nm /etc/bootparams +.Sh 解説 +.Nm +ファイルは、 +.Xr diskless 8 +クライアントがネットワーク越しにブートする時に要求する、 +ブートパラメータを指定します。 +このサーバがサポートする各クライアントは、 +.Nm +ファイル中に、 +.Dq root +のパス名と (オプションで) +.Dq swap +領域のパス名を含むエントリを持つ必要があります。 +.Pp +ファイル中の各行 ( +.Ql # +から始まるコメント行以外) は、 +クライアント名、 +それに続いてクライアントの論理名にて要求するパス名から成ります。 +行内部の要素は空白もしくはタブで区切られ、 +バックスラッシュを使用すれば複数行を続けて使用することができます。 +.Pp +例を以下に示します: +.Bd -literal -offset indent +dummy root=host:/export/dummy/root \\ + swap=host:/export/dummy/swap \\ + dump=host:/export/dummy/swap +.Ed +.Pp +名前が +.Dq dummy +のクライアントが、自らの論理 +.Dq root +のパス名を要求した時、 +この +.Tn RPC +リクエストに対してパス名 +.Dq Pa host:/export/dummy/root +が返答として与えられます。 +.Dq host: +部分は必ず指定する必要があります。 +.Sh 関連ファイル +.Bl -tag -width /etc/bootparams -compact +.It Pa /etc/bootparams +デフォルトの設定ファイル +.El +.Sh 関連項目 +.Xr bootparamd 8 , +.Xr diskless 8 diff --git a/documentation/manual-pages/ja/man5/bootptab.5 b/documentation/manual-pages/ja/man5/bootptab.5 new file mode 100644 index 0000000000..cb9e3b7595 --- /dev/null +++ b/documentation/manual-pages/ja/man5/bootptab.5 @@ -0,0 +1,412 @@ +.\" Copyright (c) 1988, 1989, 1991 Carnegie Mellon University +.\" +.\" %FreeBSD: src/libexec/bootpd/bootptab.5,v 1.10 2004/07/03 00:06:28 ru Exp % +.\" +.\" $FreeBSD$ +.Dd October 31, 1991 +.Dt BOOTPTAB 5 +.Os +.Sh 名称 +.Nm bootptab +.Nd インターネットブートストラッププロトコルサーバのデータベース +.Sh 解説 +.Nm +ファイルは、 +.Xr bootpd 8 +すなわちインターネットブートストラッププロトコルサーバの +設定データベースファイルです。 +このフォーマットは +.Xr termcap 5 +のものに似ており、2 文字の大文字小文字を区別するタグシンボルが +ホストパラメータを表現します。 +これらのパラメータ宣言はコロン (:) によって分けられ、次のような形式になります。 +.Pp +.Dl "hostname:tg=value. . . :tg=value. . . :tg=value. . . ." +.Pp +ここで +.Em hostname +は実際の bootp クライアントの名前 (もしくは「ダミーエントリ」) であり、 +.Em tg +は 2 文字のタグシンボルです。 +ダミーエントリは不正なホスト名 ("." を最初の文字とする名前) を持ち、 +.Em tc=.dummy-entry +機構を介して他のエントリにデフォルト値を提供します。 +ほとんどのタグの後には、上記のように等号と値を続ける必要があります。 +value (i.e.\& +.Em :tg: +の形式です)。 +現在、認識されるタグを示します: +.Pp +.Bl -tag -width xxx -compact +.It bf +ブートファイル +.It bs +512 オクテットブロックでのブートファイルの大きさ +.It cs +クッキーサーバのアドレスリスト +.It df +メリットダンプファイル +.It dn +ドメイン名 +.It ds +ドメインネームサーバのアドレスリスト +.It ef +拡張ファイル +.It gw +ゲートウェイのアドレスリスト +.It ha +ホストのハードウェアアドレス +.It hd +ブートファイルのホームディレクトリ +.It hn +クライアントのホスト名をクライアントに送る +.It ht +ホストのハードウェアタイプ (Assigned Numbers RFC を参照) +.It im +インプレスサーバのアドレスリスト +.It ip +ホストの IP アドレス +.It lg +ログサーバのアドレスリスト +.It lp +LPR サーバのアドレスリスト +.It ns +IEN-116 ネームサーバのアドレスリスト +.It nt +NTP (時刻) サーバ (RFC 1129) +.It ra +返答アドレスの上書き +.It rl +リソースロケーションプロトコルサーバのアドレスリスト +.It rp +ルートとしてマウントするルートパス +.It sa +クライアントが使用すべき TFTP サーバのアドレス +.It sm +ホストのサブネットマスク +.It sw +スワップサーバのアドレス +.It tc +テーブル継続 (同様の「テンプレート」ホストエントリを指します) +.It td +「安全な」 TFTP サーバが使用するルートディレクトリ +.It to +秒で表現した UTC からのオフセット +.It ts +タイムサーバのアドレスリスト +.It vm +ベンダマジッククッキーセレクタ +.It yd +YP (NIS) のドメイン名 +.It ys +YP (NIS) のサーバアドレス +.El +.Pp +包括的な +.Pf T Em n +タグもあります。ここで +.Em n +は RFC1084 のベンダフィールドタグ番号です。 +これにより、まず +.Nm bootpd +を変更しなくとも、 +RFC1084 に対する将来の拡張の利点をすぐに利用することができます。 +包括的なデータは、 +16 進数のストリームもしくはクォートされた +.Tn ASCII +文字列として表現されます。 +包括的なデータの長さは自動的に判定され、 +RFC1084 スタイルのブートストラップリプライの適切なフィールドに挿入されます。 +.Pp +以下のタグは空白で区切られた IP アドレスのリストを取ります: +.Em cs , +.Em ds , +.Em gw , +.Em im , +.Em lg , +.Em lp , +.Em ns , +.Em nt , +.Em ra , +.Em rl , +.Em ts +。また +.Em ip , +.Em sa , +.Em sw , +.Em sm , +.Em ys +タグはそれぞれ単一の IP アドレスを取ります。 +IP アドレスは全て標準のインターネット「ドット」表記で指定されます。 +10 進数、8 進数、16 進数のいずれも使用可能です +(8 進数は 0 から始まり、16 進数は '0x' または '0X' から始まります)。 +IP アドレスは代りにホスト名で指定可能です。 +この場合、 +.Nm bootpd +はそのホスト名の IP アドレスを得るために +.Xr gethostbyname 3 +を使用します。 +もし +.Em ip +タグが指定されなかった場合、 +.Nm bootpd +はエントリ名をホスト名とすることにより IP アドレスを判定します。 +(ダミーエントリは不正なホスト名とすることにより、 +自動的な IP 検索を避けます) +.Pp +.Em ht +タグは、10 進数・8 進数・16 進数の符号無し整数、 +もしくは以下のいずれかのシンボル名をもって、 +ハードウェアタイプコードを指定します。 +.Em ethernet , +.Em ether +は 10Mb イーサネットを、 +.Em ethernet3 , +.Em ether3 +は 3Mb の実験的イーサネットを、 +.Em ieee802 , +.Em tr , +.Em token-ring +は IEEE 802 ネットワークを、 +.Em pronet +は Proteon ProNET Token Ring を、 +.Em chaos , +.Em arcnet , +.Em ax.25 +は Chaos, ARCNET, AX.25 Amateur Radio networks を、それぞれ表現します。 +.Em ha +タグは、ホスト名もしくは数値形式で、ハードウェアアドレスを指定します。 +数値形式は 16 進数で指定する +.Em 必要があります +。可読性のためにピリオドを付けたり、前に '0x' を付けても良いです。 +.Em ha +タグの前に +.Em ht +タグがある必要があります (明示的でも暗黙的でもかまいません。後述の +.Em tc +参照)。ハードウェアアドレスが指定されない場合、指定されたタイプが +\&"ethernet" もしくは +\&"ieee802" の場合、 +.Nm bootpd +は +.Xr ether_hostton 3 +を使用してハードウェアアドレスを決定しようとします。 +.Pp +ホスト名・ホームディレクトリ・ブートファイルは +.Tn ASCII +文字列であり、 +ダブルクォート (") で括ることもできます。 +クライアントのリクエストおよび +.Em hd +シンボルと +.Em bf +シンボルの値は、bootp リプライパケットのブートファイルフィールドを +サーバがどのように埋めるかを決定します。 +.Pp +クライアントがファイル名を指定した場合、それはそのまま残されます。 +そうでない場合は、 +.Em bf +オプションが指定されていれば、その値がリプライパケットにコピーされます。 +もし +.Em hd +オプションも指定されている場合には、 +その値がリプライパケットにコピーされるブートファイルの前に付きます。 +ブートファイルの存在確認は +.Em bs Ns =auto +オプションが使用されているときのみ行われます +(ブートファイルサイズ確認のためです)。 +ブートファイルが存在しようとしまいと、リプライは送られます。 +.Pp +新しいバージョンの +.Xr tftpd 8 +では、 +.Xr chroot 2 +システムコールを使用してルートディレクトリを変更するという +セキュリティ機能を提供します。 +.Em td +タグは、 +.Nm tftpd +が使用するこの特殊ルートディレクトリを +.Nm bootpd +に通知するために使用します。 +(代りに +.Nm bootpd +.Fl c Ar chdir +オプションを使用したいかもしれません。) +実際、 +.Em hd +タグは +.Em td +タグにより指定されるルートディレクトリからの相対指定です。 +例えば、BOOTP クライアントブートファイルの現実の絶対パスが +.Pa /tftpboot/bootfiles/bootimage +であり、 +.Nm tftpd +が +.Pa +/tftpboot +を「安全な」ディレクトリとする場合、 +.Pa bootptab +では次のように指定します。 +.Pp +.Fl :td=/tftpboot:hd=/bootfiles:bf=bootimage: +.Pp +ブートファイルを直接 +.Pa /tftpboot +に置く場合には次のようにします。 +.Pp +.Dl :td=/tftpboot:hd=/:bf=bootimage: +.Pp +.Em sa +タグは、あなたがクライアントに使用させたい特定の TFTP サーバの IP アドレスを +指定するために使用します。 +このタグを指定しないと、 +.Nm bootpd +が実行されているのと同じマシンに対して TFTP を行うように、 +.Nm bootpd +はクライアントに指示します。 +.Pp +時刻オフセット +.Em to +は、クライアントの UTC からのタイムゾーンオフセットを秒で表現した +符号付き 10 進数、 +またはサーバのタイムゾーンオフセットを使用することを意味するキーワード +.Em auto +です。 +.Em to +シンボルをブール値として指定することは、 +.Em auto +を値として指定するのと同じ効果があります。 +.Pp +ブートファイルサイズ +.Em bs +は、10 進数・8 進数・16 進数の整数で +ブートファイルのサイズを 512 オクテットブロックで表現したもの、 +またはサーバが各リクエストに際して +ブートファイルサイズを自動的に計算することを示すキーワード +.Em auto +です。 +時刻オフセットと同じく、 +.Em bs +シンボルをブール値として指定することは、 +.Em auto +を値として指定するのと同じ効果があります。 +.Pp +ベンダマジッククッキーセレクタ ( +.Em vm +タグ) は以下のキーワードのいずれかを取ります。 +.Em auto +(ベンダ情報をクライアントリクエストから判別)、 +.Em rfc1048 +または +.Em rfc1084 +(常に RFC1084 スタイルのリプライを強制)、または +.Em cmu +(常に CMU スタイルのリプライを強制) です。 +.Pp +.Em hn +タグは厳密にブール値のタグです。通常の等号および値を取りません。 +このタグが存在すると、ホスト名を RFC1084 クライアントに送ることを意味します。 +.Nm bootpd +は、設定ファイルで指定されるホスト名全体を送ろうとします。 +リプライパケットに収まらない場合、 +名前は (存在するならば最初のピリオドまでの) ホストフィールドのみに縮められ、 +再度試されます。 +任意の長さに縮められたホスト名が送られてしまうということはありません +(収まるものがない場合には、なにも送られません)。 +.Pp +しばしば、多くのホストエントリが特定のタグの共通の値を共有します +(ネームサーバなど)。 +これらのタグを何度も書くのではなく、 +全体仕様を 1 つのホストエントリに記述してこれを +.Em tc +(テーブル継続) 機構を介して共有することができます。 +多くの場合、このテンプレートエントリは実際には存在しないダミーホストであり、 +bootp リクエストを送ることはありません。 +この機能は、 +.Xr termcap 5 +で似た端末を記述するための +.Em tc +機能に似ています。 +.Pa termcap +では最後のタグでなければなりませんが、 +.Nm bootpd +では +.Em tc +タグシンボルがホストエントリ中のどこにあらわれても良いことに注意してください。 +ホストに対して明示的に指定した情報は、エントリ中の +.Em tc +タグシンボルの位置にかかわらず、これにより暗黙に指定される情報を上書きします。 +.Em tc +タグの値はホスト名もしくは設定ファイルで前に記述されている IP アドレスです。 +.Pp +.Em tc +タグで暗示された特定のタグの削除が必要になることがあります。 +これは +.Em tag Ns @ +構造を使用することにより、 +.Xr termcap 5 +の場合と同様に +.Em tag +の効果を削除することにより実現できます。 +例えば、IEN-116 ネームサーバ仕様を完全に無効にしたい場合には、 +設定ファイルのエントリの適切な位置に +.Em :ns@: +を置きます。 +.Em @ +を使用して削除を行った後には、 +.Em tc +機構を使用してそのタグを再度設定することができます。 +.Pp +設定ファイル中の、空行および "#" で始まる行は無視されます。 +ホストエントリは改行で分けられます。 +単一のホストエントリは、 +行がバックスラッシュ (\\) で終る場合に複数行にまたがることができます。 +行が 80 文字を越えることも許されます。 +タグは任意の順序で現われてかまいませんが、次のような例外があります。 +ホスト名はエントリの最初のフィールドである必要があり、 +ハードウェアタイプはハードウェアアドレスの前に指定する必要があります。 +.Pp +.Pa /etc/bootptab +ファイルの例を示します: +.Pp +.Bd -literal -offset indent +# Sample bootptab file (domain=andrew.cmu.edu) + +\&.default:\\ + :hd=/usr/boot:bf=null:\\ + :ds=netserver, lancaster:\\ + :ns=pcs2, pcs1:\\ + :ts=pcs2, pcs1:\\ + :sm=255.255.255.0:\\ + :gw=gw.cs.cmu.edu:\\ + :hn:to=-18000: + +carnegie:ht=6:ha=7FF8100000AF:tc=.default: +baldwin:ht=1:ha=0800200159C3:tc=.default: +wylie:ht=1:ha=00DD00CADF00:tc=.default: +arnold:ht=1:ha=0800200102AD:tc=.default: +bairdford:ht=1:ha=08002B02A2F9:tc=.default: +bakerstown:ht=1:ha=08002B0287C8:tc=.default: + +# Special domain name server and option tags for next host +butlerjct:ha=08002001560D:ds=128.2.13.42:\\ + :T37=0x12345927AD3BCF:\\ + :T99="Special ASCII string":\\ + :tc=.default: + +gastonville:ht=6:ha=7FFF81000A47:tc=.default: +hahntown:ht=6:ha=7FFF81000434:tc=.default: +hickman:ht=6:ha=7FFF810001BA:tc=.default: +lowber:ht=1:ha=00DD00CAF000:tc=.default: +mtoliver:ht=1:ha=00DD00FE1600:tc=.default: +.Ed +.Sh 関連ファイル +.Bl -tag -width /etc/bootptab -compact +.It /etc/bootptab +.El +.Sh "関連項目" +.Xr bootpd 8 , +.Xr tftpd 8 +.br +DARPA Internet Request For Comments RFC951, RFC1048, RFC1084, Assigned Numbers diff --git a/documentation/manual-pages/ja/man5/config.5 b/documentation/manual-pages/ja/man5/config.5 new file mode 100644 index 0000000000..c736bf91cf --- /dev/null +++ b/documentation/manual-pages/ja/man5/config.5 @@ -0,0 +1,345 @@ +.\" Copyright (c) 2003 Joseph Koshy +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" %FreeBSD: src/share/man/man5/config.5,v 1.5 2004/06/16 08:33:55 ru Exp % +.\" $FreeBSD$ +.\" +.Dd May 13, 2004 +.Dt CONFIG 5 +.Os +.Sh 名称 +.Nm config +.Nd カーネル設定ファイルの形式 +.Sh 解説 +カーネル設定ファイルには、 +.Fx +カーネルの設定を指定します。 +これは +.Xr make 1 +を使ってビルドする、カーネルのビルド環境を生成するために、 +.Xr config 8 +によって処理されます。 +.Ss 構文構造 +カーネル設定ファイルは、一連の指示ディレクティブからなります。 +.Pp +指示ディレクティブは、行頭のキーワードで始まり、付加的な引数がそれに続きます。 +.Pp +指示ディレクティブは、セミコロン +.Ql \&; +か改行で終了できます。 +長い入力行は、空白で始まる行を続けることで、短い行に分割することができます。 +.Pp +大文字/小文字には意味があり、 +.Dq Li machine +と +.Dq Li MACHINE +は異なるトークンです。 +.Pp +ダブルクォート文字の +.Ql \[dq] +は、クォート文字列の始まりです。 +次のクォート文字までの全ての文字は、クォート文字列としての値を持ちます。 +.Ql \[dq] +文字は +.Ql \e\[dq] +シーケンスを用いることで、クォート文字列の中に入れることが出来ます。 +.Pp +数値は +.Tn C 風 +の文法で記されます。 +.Pp +.Ql # +文字はコメントの始まりです。 +.Ql # +文字の後ろから、その行末までの全ての文字は無視されます。 +.Pp +クォート文字列の中を除き、トークンの間の空白は無視されます。 +コメント行に続く空白は無視されます。 +.Ss 設定ディレクティブ +カーネル設定ディレクティブは、カーネル設定ファイル中において任意の順番で +現れることが出来ます。 +ディレクティブは現れる順番に、後のディレクティブ行で +それ以前のディレクティブの効果を上書きするようにして処理されます。 +.Pp +キーワードとその意味のリストは、以下のようなものです。 +.Bl -tag -width indent +.\" -------- CPU -------- +.It Ic cpu Ar cputype +このカーネルを動かすであろう CPU を指定します。 +ひとつ以上の +.Ic cpu +ディレクティブを設定ファイル中に書くことが出来ます。 +CPU 名として指定可能なリストはアーキテクチャ固有であり、ファイル +.Pa sys/conf/options. Ns Aq Ar arch +で定義されています。 +.\" -------- DEVICE -------- +.It Ic device Ar name Op Ar count +デバイス +.Ar name +をカーネルイメージに含めるように設定します。 +もし +.Ar count +を指定した場合、そのデバイスは +.Ar count +個のインスタンスとして設定されます。 +全てのアーキテクチャで共通のデバイスは、ファイル +.Pa sys/conf/files +で定義されています。 +アーキテクチャ固有のデバイスは、ファイル +.Pa sys/conf/files. Ns Aq Ar arch +で定義されています。 +.\" -------- ENV -------- +.It Ic env Ar filename +カーネルの環境定義を含んだファイルの名前を指定します。 +カーネルは通常、起動時に +.Xr loader 8 +によって用意された環境を用います。 +このディレクティブは、この起動環境を無視し、代わりにコンパイル時に +組み込まれた環境をカーネルが使うようにします。 +.Pp +このディレクティブは、 +.Xr loader 8 +から起動しないような組み込み環境向けにカーネルをチューニングする時に +有用です。 +.\" -------- FILES -------- +.It Ic files Ar filename +そのカーネル設定ファイルに固有のファイルのリストを含むファイルを +指定します ( +.Pa files. Ns Aq Ar arch +という風に )。 +.\" -------- HINTS -------- +.It Ic hints Ar filename +静的なデバイス設定指示のために読み込むファイルを指定します。 +.Fx 5.0 +以降、カーネルは起動時に、システムのデバイス設定を読み込みます +( +.Xr device.hints 5 +を参照)。 +このディレクティブはカーネルに、 +.Ar filename +中に列挙した静的なデバイス設定を使うように設定します。 +ファイル +.Ar filename +は、 +.Xr device.hints 5 +に規定された文法に従っている必要があります。 +.\" -------- IDENT -------- +.It Ic ident Ar name +カーネルの名前を +.Ar name +にします。 +少なくともひとつの +.Ic ident +ディレクティブが必要です。 +.\" -------- INCLUDE -------- +.It Ic include Ar filename +続くテキストをファイル +.Ar filename +から読み込み、 +.Ar filename +がきちんと処理できたら、現在のファイルに戻ります。 +.\" -------- MACHINE -------- +.It Ic machine Ar arch +カーネルがコンパイルされる、マシンのアーキテクチャを指定します。 +.Ar arch +として正しい値は、以下のものを含みます。 +.Pp +.Bl -tag -width ".Cm powerpc" -compact +.It Cm alpha +DEC Alpha アーキテクチャ。 +.It Cm amd64 +AMD x86-64 アーキテクチャ。 +.It Cm i386 +Intel x86 ベースの PC アーキテクチャ。 +.It Cm ia64 +Intel IA64 アーキテクチャ。 +.It Cm pc98 +PC98 アーキテクチャ。 +.It Cm powerpc +IBM PowerPC アーキテクチャ。 +.It Cm sparc64 +Sun Sparc64 アーキテクチャ。 +.El +.Pp +カーネル設定ファイルは +.Ic machine +ディレクティブをひとつだけ持つことができます。 +.\" -------- MAKEOPTION -------- +.It Ic makeoptions Ar options +生成される makefile に対して、 +.Ar options +を追加します。 +.Pp +.Ar options +引数はコンマで区切られた、ひとつ以上のオプション指示のリストです。 +各オプション指示は次の形式を持ちます。 +.Pp +.D1 Ar MakeVariableName Ns Op = Ns Ar Value +.Pp +これにより、適切な +.Xr make 1 +変数定義が、生成される makefile に挿入されます。 +もし名前だけの +.Xr make 1 +変数を指定した場合、 +.Ar value +は空の文字列とみなします。 +.Pp +使用例: +.Bd -literal -offset indent -compact +makeoptions MYMAKEOPTION="foobar" +makeoptions MYNULLMAKEOPTION +.Ed +.\" -------- MAXUSERS -------- +.It Ic maxusers Ar number +このオプションディレクティブは、いくつかのカーネルデータ構造体の大きさを +設定するのに使われます。 +引数 +.Ar number +は、0 (デフォルト) または 2 以上の整数値です。 +値 0 は、利用可能な物理メモリの大きさに従って、カーネルが自身のデータ構造体を +設定することを表します。 +もし自動設定が要求されれば、カーネルはこの値を 32 から 384 の間で +調節するでしょう。 +.Pp +.Xr tuning 7 +で説明しているように、この値は起動時に +.Xr loader 8 +を使って設定することも出来ます。 +.\" -------- NOMAKEOPTION -------- +.It Ic nomakeoption Ar name +カーネルをビルドする際に、以前に定義された +.Xr make 1 +オプションの +.Ar name +を削除します。 +このディレクティブは、 +.Ic include +を使って取り込んだファイル中の +.Ic makeoption +ディレクティブの効果を取り消す為に使うことが出来ます。 +.\" -------- NOOPTION -------- +.It Ic nooption Ar kerneloptionname +カーネルオプションの +.Ar kerneloptionname +を、これ以前に定義されたオプションのリストから削除します。 +このディレクティブは、 +.Ic include +を使って取り込んだファイル中の +.Ic option +ディレクティブの効果を取り消す為に使うことが出来ます。 +.\" -------- OPTIONS -------- +.It Ic options Ar optionspecs +カーネルをビルドする際に、コンパイル時のカーネルオプションを追加します。 +引数 +.Ar optionspecs +はコンマで区切られた、オプション指示のリストです。 +各オプション指示は、次の形式を持ちます。 +.Pp +.D1 Ar KernelOptionName Ns Op = Ns Ar OptionValue +.Pp +もし +.Ar OptionValue +が指定されない場合は、 +.Dv NULL +であるとみなします。 +全てのアーキテクチャで共通のオプションは、ファイル +.Pa sys/conf/options +で規定されています。 +アーキテクチャ固有のオプションは、ファイル +.Pa sys/conf/options. Ns Aq Ar arch +で規定されています。 +.\" -------- PROFILE -------- +.It Ic profile Ar number +.Ar number +が非 0 の場合、カーネルプロファイリングが有効になります。 +.Ar number +が 2 以上の場合、カーネルは高精度プロファイリングに設定されます。 +カーネルはまた、 +.Fl p +オプションを +.Xr config 8 +で使うことでも、プロファイリング用にビルドできます。 +.El +.Ss 廃止されたディレクティブ +以下のカーネル設定ディレクティブは廃止されました。 +.Bl -tag -width indent +.\" -------- CONFIG -------- +.It Ic config +このディレクティブは、ルートファイルシステムとして使われるデバイスを指定するのに +使われていました。 +.Fx 4.0 +以降、この情報はカーネルを起動する際に +.Xr loader 8 +から渡されます。 +.El +.Sh 関連ファイル +.Bl -tag -width ".Pa sys/conf/Makefile. Ns Ar arch" -compact +.It Pa sys/compile/ Ns Ar NAME +カーネル設定で作成されたコンパイルディレクトリ。 +.It Pa sys/conf/Makefile. Ns Ar arch +アーキテクチャ +.Ar arch +の為の +.Pa Makefile +の一部。 +.It Pa sys/conf/files +全てのアーキテクチャに共通のデバイス。 +.It Pa sys/conf/files. Ns Ar arch +アーキテクチャ +.Ar arch +の為のデバイス。 +.It Pa sys/conf/options +全てのアーキテクチャに共通のオプション。 +.It Pa sys/conf/options. Ns Ar arch +アーキテクチャ +.Ar arch +の為のオプション。 +.El +.Sh 関連項目 +.Xr kenv 1 , +.Xr make 1 , +.Xr device.hints 5 , +.Xr loader.conf 5 , +.Xr config 8 , +.Xr kldload 8 , +.Xr loader 8 +.Rs +.%T "Building 4.4BSD Kernels with Config" +.%A "Samuel J. Leffler" +.%A "Michael J. Karels" +.Re +.Sh 歴史 +.Xr config 8 +ユーティリティが最初に登場したのは +.Bx 4.1 +であり、後に +.Bx 4.4 +において修正されました。 +.Pp +カーネル設定機構はさらに、 +.Fx 4.0 +と +.Fx 5.0 +において、動的カーネル設定をサポートするアーキテクチャへと +変更されました。 diff --git a/documentation/manual-pages/ja/man5/core.5 b/documentation/manual-pages/ja/man5/core.5 new file mode 100644 index 0000000000..83f15b72c7 --- /dev/null +++ b/documentation/manual-pages/ja/man5/core.5 @@ -0,0 +1,116 @@ +.\" Copyright (c) 1980, 1991, 1993 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. All advertising materials mentioning features or use of this software +.\" must display the following acknowledgement: +.\" This product includes software developed by the University of +.\" California, Berkeley and its contributors. +.\" 4. Neither the name of the University nor the names of its contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" @(#)core.5 8.3 (Berkeley) 12/11/93 +.\" %FreeBSD: src/share/man/man5/core.5,v 1.17.4.1 2005/02/05 01:02:37 das Exp % +.\" +.\" $FreeBSD$ +.\" +.Dd January 9, 2002 +.Dt CORE 5 +.Os +.Sh 名称 +.Nm core +.Nd メモリイメージのファイルフォーマット +.Sh 書式 +.In sys/param.h +.Sh 解説 +プロセスを異常終了させるシグナルのうちのいくつかは、 +プロセスのメモリ内状態の記録をディスクに書き出させる効果もあります。 +これにより、利用可能なデバッガのどれかを使用して後で検査を行うことが +可能です +.Pf ( Xr sigaction 2 +を参照してください)。 +このメモリイメージは、デフォルトでは作業ディレクトリの +.Nm プログラム名.core +という名前のファイルに書かれます。 +ただし、終了したプロセスがそのディレクトリに書きこみ権限を持ち、 +発生した異常がシステムを破壊しないことが前提です。 +(システムが破壊された場合には、 +コアファイルを保存するかどうかの決定は不定です。 +.Xr savecore 8 +を参照してください。) +.Pp +コアファイルの最大サイズは +.Xr setrlimit 2 +により制限されます。 +制限よりもサイズの大きなファイルは生成されません。 +.Pp +コアファイル名は +.Xr sysctl 8 +変数 +.Va kern.corefile +にて制御されます。 +この変数の内容がコアイメージを格納するファイルの名前を示します。 +このファイル名は絶対パスでも相対パスでもかまいません +(後者の場合、コアイメージを生成するプログラムの現在のディレクトリ +から解決されます)。 +このファイル名テンプレート中にあるシーケンス +.Em \&%N +はいずれもプロセス名で置き換えられ、 +.Em \&%P +はプロセスの PID で置き換えられ、 +.Em \&%U +は UID で置き換えられます。 +デフォルトの名前は +.Em \&%N.core +であり、伝統的な +.Fx +の振舞いとなります。 +.Pp +デフォルトでは、実ユーザまたは実効ユーザ、あるいは実グループ +または実効グループが変更されているプロセスはコアファイルを +生成しません。 +この動作は +.Xr sysctl 8 +で +.Va kern.sugid_coredump +を 1 にすることによりコアダンプを生成するように変更できます。 +.Sh 使用例 +全コアイメージを、 +.Pa /var/coredumps +以下のユーザごとのプライベート領域に格納するためには、 +次のように +.Xr sysctl 8 +コマンドを使用します: +.Pp +.Dl sysctl kern.corefile="/var/coredumps/\&%U/\&%N.core" +.Sh 関連項目 +.Xr gdb 1 , +.Xr kgdb 1 , +.Xr setrlimit 2 , +.Xr sigaction 2 , +.Xr sysctl 8 +.Sh 歴史 +.Nm +ファイルのフォーマットは +.At v6 +に登場しました。 diff --git a/documentation/manual-pages/ja/man5/crontab.5 b/documentation/manual-pages/ja/man5/crontab.5 new file mode 100644 index 0000000000..ba7dae9221 --- /dev/null +++ b/documentation/manual-pages/ja/man5/crontab.5 @@ -0,0 +1,273 @@ +.\"/* Copyright 1988,1990,1993,1994 by Paul Vixie +.\" * All rights reserved +.\" * +.\" * Distribute freely, except: don't remove my name from the source or +.\" * documentation (don't take credit for my work), mark your changes (don't +.\" * get me blamed for your possible bugs), don't alter or remove this +.\" * notice. May be sold if buildable source is provided to buyer. No +.\" * warrantee of any kind, express or implied, is included with this +.\" * software; use at your own risk, responsibility for damages (if any) to +.\" * anyone resulting from the use of this software rests entirely with the +.\" * user. +.\" * +.\" * Send bug reports, bug fixes, enhancements, requests, flames, etc., and +.\" * I'll try to keep a version up to date. I can be reached as follows: +.\" * Paul Vixie <paul@vix.com> uunet!decwrl!vixie!paul +.\" */ +.\" +.\" %FreeBSD: src/usr.sbin/cron/crontab/crontab.5,v 1.25 2004/07/02 23:12:40 ru Exp % +.\" +.\" $FreeBSD$ +.\" +.\" WORD: day of the week 曜日 +.Dd January 24, 1994 +.Dt CRONTAB 5 +.Os +.Sh 名称 +.Nm crontab +.Nd cron を駆動するための一覧表 +.Sh 解説 +1 つの +.Nm +ファイルには ``この日のこの時間にこのコマンドを実行せよ'' +という一般的な形式の +.Xr cron 8 +デーモンへの複数の指示が含まれています。 +各々ユーザは各自所有の crontab を持ち、crontab に書かれたコマンドはその +crontab を所有するユーザとして実行されることになります。UUCP と News は +通常それ自身所有の crontab を持ち、cron コマンドの一部として +.Xr su 1 +を実際に実行させる必要のないようにしています。 +.Pp +空行と、先頭の空白およびタブは無視されます。 +最初の非空白文字がポンド記号 (#) である行は注釈行であり、無視されます。 +注釈は cron コマンドと同じ行にあってはいけません。 +なぜなら、注釈自身がコマンドの一部とみなされるからです。 +同様に、注釈は環境変数を設定する行と同じ行にあって +はいけません。 +.Pp +crontab の中で有効なのは環境変数の設定かまたは cron コマンドのどちらかです。 +環境変数の設定は次のような形で行います。 +.Bd -literal + name = value +.Ed +.Pp +ここで等号 (=) の周囲の空白は有っても良いですが、 +.Em value +の中で = に引き続くスペースでない部分だけが +.Em name +に割当てられる値となります。 +.Em value +文字列はクォート +(シングルクォートまたはダブルクォートですがどちらかに統一します) +で囲うこともでき、そのときには = に続くブランクや末尾のブランク +を含むことができます。 +.Em name +文字列もクォート +(シングルクォートまたはダブルクォートですがどちらかに統一します) +で囲うこともでき、前置、後置および内部の空白を保ちます。 +.Pp +いくつかの環境変数は自動的に +.Xr cron 8 +デーモンによって設定されます。 +.Ev SHELL +は +.Pa /bin/sh +に設定され、 +.Ev LOGNAME +と +.Ev HOME +はその crontab の所有者の +.Pa /etc/passwd +行を元に設定されます。 +.Ev HOME +と +.Ev SHELL +は、crontab ファイル中で設定することで上書きできますが、 +.Ev LOGNAME +はできません。 +.Pp +(別注: +.Ev LOGNAME +変数は +.Bx +システム上では +.Ev USER +と呼ばれることがあります。このようなシステム上では +.Ev USER +も設定されます。) +.Pp +.Ev LOGNAME , +.Ev HOME , +.Ev SHELL +に加え、 +``この'' crontab で実行したコマンドの実行結果をメールで送る理由がある場合、 +.Xr cron 8 +は +.Ev MAILTO +を見ます。 +.Ev MAILTO +が定義されていて (かつ空でない) とき、そこで指定された名前のユーザへメール +が送られます。 +なお +.Ev MAILTO +に複数の受信者をコンマで区切って指定すると、複数の受信者へメールを送れます。 +.Ev MAILTO +が定義されているが空のとき (MAILTO="")、メールは送られません。 +その他の場合にはメールは crontab の所有者に送られます。 +cron インストール時に、メーラとして +.Pa /usr/lib/sendmail +ではなく +.Pa /bin/mail +を使う場合、このオプションは有用です +-- +.Pa /bin/mail +はエイリアスを行いませんし、UUCP は通常自分宛のメールを読みません。 +.Pp +cron コマンドのフォーマットはほとんど V7 標準であり、多くの上位互換拡張を +持っています。各行は 5 つの時間と日付の欄、システム crontab +ファイルの場合は続いてユーザ名 +(``:<グループ>'' および ``/<ログインクラス>'' の添字が付くこともあります)、 +その後にコマンドが続きます。分、時間、月の欄と現在の時刻が一致し、 +.Em かつ +2 つの日付欄 (月における日または曜日) のうちの少なくとも 1 つと +現在の時刻が一致したとき (下記の ``注'' 参照) に、コマンドは +.Xr cron 8 +により実行されます。 +.Xr cron 8 +は 1 分ごとに cron エントリを調べます。時間と日付の欄は次のとおりです。 +.Bd -literal -offset indent + 欄 許される値 +------------ ------------------------------------------------ + 分 0-59 + 時間 0-23 +月における日 1-31 + 月 1-12 (または名前、下記参照) + 曜日 0-7 (0 および 7 は日曜のこと。名前を用いてもよい) +.Ed +.Pp +欄はアスタリスク (*) でも良いですが、このときには常に "最初-最後" を表すこ +とになります。 +.Pp +数値領域を指定できます。領域指定は、2 つの数をハイフンでつなげたものです。 +指定された領域は、両端を含みます。 +たとえば ``時間'' エントリの 8-11 は、 +8, 9, 10, 11 時の実行を指定することになります。 +.Pp +リスト指定もできます。リスト指定はコンマによって数 (または領域指定) をつな +げた 1 組のことです。例: ``1,2,5,9'', ``0-4,8-12''。 +.Pp +間隔値は領域指定と共に用いることができます。領域指定に続けて +``/<数>'' を指定すると、その領域を通じてその数の値だけ飛ばす値になります。 +たとえば ``0-23/2'' は時間の欄で用いられると、2 時間おきにコマンドを実行 +することになります (別の方法で V7 標準で表せば +``0,2,4,6,8,10,12,14,16,18,20,22'' となります)。間隔指定はアスタリスクの +後で付けても構いません。たとえば ``2 時間おきに全て'' ということをしたい +なら ``*/2'' とするだけです。 +.Pp +``月'' および ``曜日'' の指定には、名前を使用することができます。 +曜日と月の指定には、最初の 3 文字を使ってください (この場合、 +大文字・小文字の区別はありません)。名前による領域指定やリスト指定はでき +ません。 +.Pp +``6 番目'' の欄 (行の残りの部分) には実行したいコマンドを指定します。行の +中のコマンド部全体、これは改行または % 文字までですが、は +.Pa /bin/sh +かまたはその cron ファイルの +.Ev SHELL +変数で指定されたシェルによって実行されます。コマンド内のパーセント記号 +(%) はバックスラッシュ (\\) でエスケープされない限り改行文字に変換され、そ +の最初の % 以降の全てのデータはそのコマンドの標準入力となります。 +.Pp +注: コマンド実行の日付は 2 つの欄 \(em 1 ヶ月中の日 および曜日 +\(em で指定できます。両方の欄が領域限定されている (すなわち * でない +) 場合、コマンドは +.Em どちらかの +欄が現在の時刻と一致するときに実行されます。たとえば +``30 4 1,15 * 5'' +は各月の 1 日および 15 日に加えて全ての金曜日において、 +午前 4:30 にコマンドを実行させます。 +.Pp +最初の 5 個の欄の代りに、 +8 種類の特殊文字列のうちのいずれかが登場しても良いです: +.Bd -literal -offset indent +文字列 意味 +------ ------- +@reboot 起動時に 1 回実行。 +@yearly 年に 1 回実行、すなわち "0 0 1 1 *"。 +@annually (@yearly と同じ) +@monthly 月に 1 回実行、すなわち "0 0 1 * *"。 +@weekly 週に 1 回実行、すなわち "0 0 * * 0"。 +@daily 日に 1 回実行、すなわち "0 0 * * *"。 +@midnight (@daily と同じ) +@hourly 時間に 1 回実行、すなわち "0 * * * *"。 +.Ed +.Sh cron ファイルの例 +.Bd -literal + +# 既定設定を cron でオーバライドし、コマンドの実行に /bin/sh を使用 +SHELL=/bin/sh +# これが誰の crontab であっても、全ての出力は `paul' にメールする +MAILTO=paul +# +# 毎日 深夜 0 時 5 分 に実行する +5 0 * * * $HOME/bin/daily.job >> $HOME/tmp/out 2>&1 +# 毎月の最初の日の PM 2:15 に実行する -- 出力結果は paul にメールされる +15 14 1 * * $HOME/bin/monthly +# ウィークディの PM 10 時に実行して Joe をうるさがらせる +0 22 * * 1-5 mail -s "It's 10pm" joe%Joe,%%Where are your kids?% +23 0-23/2 * * * echo "run 23 minutes after midn, 2am, 4am ..., everyday" +5 4 * * sun echo "run at 5 after 4 every sunday" +.Ed +.Sh 関連項目 +.Xr crontab 1 , +.Xr cron 8 +.Sh 機能拡張項目 +曜日を指定するとき、日 0 と日 7 は日曜日とみなされます。 +.Bx +および +.Tn ATT +はこの件については一致していないようです。 +.Pp +リスト指定および領域指定は同じ欄内で指定できます。"1-3,7-9" は +.Tn ATT +や +.Bx +cron では受け付けません -- "1-3" や "7,8,9" だけが許されます。 +.Pp +領域指定は ``間隔指定'' を含むことができますので "1-9/2" は "1,3,5,7,9" と +同じことになります。 +.Pp +月の名前や曜日の名前は、名前で指定できます。 +.Pp +環境変数は crontab の中で指定できます。 +.Bx +や +.Tn ATT +では 子プロセスに渡された環境変数は基本的に +.Pa /etc/rc +から渡された環境変数です。 +.Pp +crontab 所有者へメールされる ( +.Bx +はできません) コマンド出力結果は、 +crontab 所有者以外の人へメールしたり (SysV はできません)、 +この機能を停止して誰にもメールを送らなくできます +(SysV はこれもできません)。 +.Pp +最初の 5 個の欄の場所に記述可能な +.Sq @ +コマンドすべては、拡張です。 +.Sh 作者 +.An Paul Vixie Aq paul@vix.com +.Sh バグ +夏時間というものがある奇妙な 70 の国々のいずれかにいる場合、 +巻き戻しまたは早回しの期間へスケジュールされたジョブが影響を受けます。 +一般的には、この期間へジョブをスケジュールすることは良いことではありません。 +.Pp +US タイムゾーンでは (IN, AZ, HI を除き)、時刻シフトは午前 2 時に起ります。 +他の国では、 +.Xr zdump 8 +プログラムの冗長 +.Fl ( v ) +オプションを使用して、時刻シフトがいつ起るのかを判定してください。 diff --git a/documentation/manual-pages/ja/man5/ctm.5 b/documentation/manual-pages/ja/man5/ctm.5 new file mode 100644 index 0000000000..ccbbca3ef5 --- /dev/null +++ b/documentation/manual-pages/ja/man5/ctm.5 @@ -0,0 +1,190 @@ +.\"---------------------------------------------------------------------------- +.\""THE BEER-WARE LICENSE" (Revision 42): +.\"<joerg@FreeBSD.org> wrote this file. As long as you retain this notice you +.\"can do whatever you want with this stuff. If we meet some day, and you think +.\"this stuff is worth it, you can buy me a beer in return. Joerg Wunsch +.\"---------------------------------------------------------------------------- +.\" +.\" This manual page is partially obtained from Poul-Hennings CTM README +.\" file. +.\" +.\" CTM and ctm(1) by <phk@FreeBSD.org> +.\" +.\" %FreeBSD: src/usr.sbin/ctm/ctm/ctm.5,v 1.16 2004/07/02 23:12:40 ru Exp % +.\" +.\" $FreeBSD$ +.\" +.Dd March 25, 1995 +.Os +.Dt CTM 5 +.Sh 名称 +.Nm ctm +.Nd source code mirror system +.Sh 解説 +.Nm +は CTM デルタと呼ばれる特別のファイルフォーマットでデータを送ります。 +.Pp +CTM デルタは制御行とデータ塊を含みます。 +各制御行は +.Dq CTM +という文字で始まり、CTM 文と制御データが続いて、文字 '\en' +で終ります。 +.Pp +データ塊は常に先行する制御行に属して、その制御行の +最後のフィールドにはデータ塊のバイト数が入っています。 +後に続く改行文字 '\en' が各データ塊に続き、この +改行は塊には含まれずバイト数にも数えられません。 +.Pp +CTM 文は以下の形式をとります。 +.Bl -tag -width indent +.It _BEGIN Ar version name number timestamp prefix +これが CTM デルタファイル全体の始まりです。 +.Ar version +フィールドはプログラムのバージョンと一致しなければなりません +(現在は 2.0)。 +.Ar name +は名前で +.Ar number +は CTM サービスの通し番号です。通し番号はファイル +.Pa .ctm_status +と照合され、そのデルタがすでに適用されていないかの確認に使われます。 +.Ar timestamp +はデルタ生成日時の年、月、日、時、分、秒を参考のために含みます +(文字 +.Sq Z +が続いて UTC のタイムスタンプであることを示します)。 +.Ar prefix +フィールドは現在実装されていません。 +.It _END Ar md5 +この文で CTM デルタは終了します。 +.Ar md5 +は全体のチェックサムで +デルタ全体の MD5 チェックサムと照合されます。 +デルタ全体とは ``_END'' に続く空白 (0x20) 文字までのことです。 +.It \&FM Ar name uid gid mode md5 count +ファイル +.Ar name +を作成します。元のファイルは uid として +.Ar uid +(数値、10進) +を、 +gid として +.Ar gid +.Pq 数値、10進 +を、モードとして +.Ar mode +(数値、8進) +を、そして MD5 チェックサムとして +.Ar md5 +を持ちます。 +.Pp +続く +.Ar count +バイトのデータが新しいファイルの内容です。 +.It \&FS Ar name uid gid mode md5before md5after count +ファイル +.Ar name +の内容を置き換えます。 +元のファイルは新しい uid として +.Ar uid +(数値、10進) +を、新しい gid として +.Ar gid +(数値、10進) +を、新しいモードとして +.Ar mode +(数値、8進) +を、古い MD5 チェックサムとして +.Ar md5before +を、そして新しい MD5 チェックサムとして +.Ar md5after +を持ちます。 +.Pp +続く +.Ar count +バイトのデータが新しいファイルの内容です。 +.Pp +ファイルを編集するためのコマンドがファイルサイズを超えてしまい +置き換えの方が効率的な場合に、ファイルの置き換えが使われます。 +.It \&FN Ar name uid gid mode md5before md5after count +ファイル +.Ar name +を編集します。引数は上にある通りですが、データ部分には +.Xr diff 1 +の -n スクリプトを含み該当ファイルに適用されます。 +.It \&FR Ar name md5 +ファイル +.Ar name +を削除します。 +対象ファイルの MD5 チェックサムが +.Ar md5 +と一致しなければなりません。 +.It \&AS Ar name uid gid mode +元のファイル +.Ar name +の所有者を +.Ar uid +に、グループを +.Ar gid +に、そして/またはモードを +.Ar mode +に変更します。 +.It \&DM Ar name uid gid mode +ディレクトリ +.Ar name +が作成されます。元々、ディレクトリの所有者は +.Ar uid +、グループは +.Ar gid +、そしてモードは +.Ar mode +でした。 +.It \&DR Ar name +ディレクトリ +.Ar name +を削除します。 +.Pp +.El +.Sh 使用例 +以下の使用例では、長い行は表示できるように改行してあります +(バックスラッシュを付けてあります)。 +.Bd -literal +CTM_BEGIN 2.0 cvs-cur 485 19950324214652Z . +CTMFR src/sys/gnu/i386/isa/scd.c,v 5225f13aa3c7e458f9dd0d4bb637b18d +CTMFR src/sys/gnu/i386/isa/scdreg.h,v e5af42b8a06f2c8030b93a7d71afb223 +CTMDM src/sys/gnu/i386/isa/Attic 0 552 775 +CTMFS .ctm_status 545 552 664 d9ccd2a84a9dbb8db56ba85663adebf0 \\ +e2a10c6f66428981782a0a18a789ee2e 12 +cvs-cur 485 +.Pp +CTMFN CVSROOT/commitlogs/gnu 545 552 664 \\ +5d7bc3549140d860bd9641b5782c002d 7fb04ed84b48160c9b8eea84b4c0b6e3 394 +a6936 21 +ache 95/03/24 09:59:50 +.Pp + Modified: gnu/lib/libdialog kernel.c prgbox.c + Log: +[...] +CTM_END 74ddd298d76215ae45a077a4b6a74e9c +.Ed +.Sh 関連項目 +.Xr ctm 1 , +.Xr ctm_rmail 1 , +.Xr ed 1 +.Sh 歴史 +最初の試用は +.Fx 1.1.5 +で行われて、多くのバグと手法が出されました。 +CTM システムは +.Fx 2.1 +で公開されました。 +.Sh 作者 +CTM システムは +.An Poul-Henning Kamp +.Aq phk@FreeBSD.org +によって設計、実装が行われました。 +.Pp +このマニュアルページは +.An Joerg Wunsch +.Aq joerg@FreeBSD.org +が書きました。 diff --git a/documentation/manual-pages/ja/man5/devd.conf.5 b/documentation/manual-pages/ja/man5/devd.conf.5 new file mode 100644 index 0000000000..56e8df16cd --- /dev/null +++ b/documentation/manual-pages/ja/man5/devd.conf.5 @@ -0,0 +1,136 @@ +.\" +.\" Copyright (c) 2002 M. Warner Losh +.\" All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. The name of the author may not be used to endorse or promote products +.\" derived from this software without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" %FreeBSD: src/sbin/devd/devd.conf.5,v 1.8 2003/03/03 11:51:30 ru Exp % +.\" +.\" The section on comments was taken from named.conf.5, which has the +.\" following copyright: +.\" Copyright (c) 1999-2000 by Internet Software Consortium +.\" +.\" Permission to use, copy, modify, and distribute this software for any +.\" purpose with or without fee is hereby granted, provided that the above +.\" copyright notice and this permission notice appear in all copies. +.\" +.\" THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM DISCLAIMS +.\" ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES +.\" OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL INTERNET SOFTWARE +.\" CONSORTIUM BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL +.\" DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR +.\" PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS +.\" ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS +.\" SOFTWARE. +.\" +.\" $FreeBSD$ +.\" +.\" WORDS +.\" statement ステートメント +.\" general syntax 一般的な文法 +.\" appeal to 〜にとって便利な(文脈で流しました) +.\" C-style C 形式(の) +.\" C++-style C++ 形式(の) +.\" nest ネスト(する) +.\" +.Dd October 17, 2002 +.Dt DEVD.CONF 5 +.Os +.Sh 名称 +.Nm devd.conf +.Nd +.Xr devd 8 +用の設定ファイル +.Sh 解説 +.Ss 一般的な文法 +.Xr devd 8 +設定ファイルの内容には、ステートメントとコメントの大きく 2 種類があります。 +ステートメントの終りは全てセミコロンです。 +ステートメントの多くはサブステートメントを持つことが出来ますが、 +サブステートメントの終りもセミコロンです。 +.Pp +次のステートメントがサポートされています: +.Bl -tag -width ".Ic options" +.It Ic options +.Xr devd 8 +の処理で適用されるさまざまなオプションやパラメータを指定します。 +.It Ic attach +各種デバイスの照合基準とその基準に適合したデバイスを新規にアタッチするときに +実行するアクションを指定します。 +.It Ic detach +各種デバイスの照合基準とその基準に適合したデバイスを新規にデタッチするときに +実行するアクションを指定します。 +.It Ic nomatch +適合するデバイスドライバが現状カーネルにロードされていない (新しい) +デバイスについて、 +各種の照合基準と適合したデバイスに対して実行するアクションを指定します。 +.El +.Pp +ステートメントは設定ファイル中にどの順番でも、また必要な数だけ +何度でも、書くことが出来ます。 +文法及びそれぞれのステートメントやそのサブステートメントの意味について、 +以下に詳しく説明します。 +.Pp +コメントは設定ファイル中で空白を入れられる場所にならば、どこにでも +入れることが出来ます。 +全てのプログラマにとって便利なように、コメントは C、C++、shell/Perl のどの +形式でも書くことが出来るようになっています。 +.Pp +C 形式のコメントは +.Ql /* +(slash, star) の 2 文字で始まり +.Ql */ +(star, slash) で終ります。 +この形式のコメントはこれらの文字で完全に区切ることが出来るので、 +行の一部や複数行にまたがるコメントに使用することが出来ます。 +.Pp +C 形式のコメントは、ネストすることが出来ません。 +例えば、次の例は最初の +.Ql */ +でコメントが完全に終了するので無効です: +.Bd -literal -offset indent +/* ここからコメントが始まります。 + ここはまだ、コメントの内部です。 +/* ここでコメントをネストしようとしていますが、これは間違いです。*/ + ここは、もうコメントの内部ではありません。*/ +.Ed +.Pp +C++ 形式のコメントは +.Ql // +(slash, slash) の 2 文字で始まり、物理行の終りまでになります。 +この形式のコメントは物理行をまたぐことが出来ません。つまり、 +論理的に 1 つのコメントでも複数行にまたがる場合には、それぞれの行に +.Ql // +を入れなくてはなりません。 +例えば: +.Bd -literal -offset indent +// ここからコメントが始まります。次の行は +// 新しいコメントです。たとえ、論理的に +// 前のコメントの一部であったとしても、です。 +.Ed +.Sh 関連ファイル +.Bl -tag -width ".Pa /etc/devd.conf" -compact +.It Pa /etc/devd.conf +.Xr devd 8 +設定ファイル +.El +.Sh 関連項目 +.Xr devd 8 diff --git a/documentation/manual-pages/ja/man5/devfs.5 b/documentation/manual-pages/ja/man5/devfs.5 new file mode 100644 index 0000000000..c7fb5942c4 --- /dev/null +++ b/documentation/manual-pages/ja/man5/devfs.5 @@ -0,0 +1,101 @@ +.\" Copyright (c) 1996 +.\" Mike Pritchard <mpp@FreeBSD.org>. All rights reserved. +.\" +.\" Copyright (c) 1992, 1993, 1994 +.\" The Regents of the University of California. All rights reserved. +.\" All rights reserved. +.\" +.\" This code is derived from software donated to Berkeley by +.\" Jan-Simon Pendry. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. All advertising materials mentioning features or use of this software +.\" must display the following acknowledgement: +.\" This product includes software developed by the University of +.\" California, Berkeley and its contributors. +.\" 4. Neither the name of the University nor the names of its contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" %FreeBSD: src/share/man/man5/devfs.5,v 1.17 2004/07/03 18:29:22 ru Exp % +.\" +.\" $FreeBSD$ +.\" +.\" WORD: provides access to 〜にアクセスするために用意されている +.\" +.Dd December 14, 1996 +.Dt DEVFS 5 +.Os +.Sh 名称 +.Nm devfs +.Nd デバイスファイルシステム +.Sh 書式 +.Bd -literal +devfs /dev devfs rw 0 0 +.Ed +.Sh 解説 +デバイスファイルシステム +.Nm +は、 +グローバルファイルシステムの名前空間の中から +カーネルデバイスの名前空間にアクセスするために用意されています。 +慣習的なマウントポイントは +.Pa /dev +です。 +.Pp +このファイルシステムには、ディレクトリ、リンク、シンボリックリンク、 +デバイスが含まれており、書き込み可能なものもあります。 +chroot された環境では、 +.Nm +を使用して、新しく +.Pa /dev +マウントポイントを作成することが出来ます。 +.Pp +.Xr mknod 8 +ツールで +.Nm +下で削除されたデバイスエントリを復旧出来ます。 +.Sh 関連ファイル +.Bl -tag -width /dev/XXXX -compact +.It Pa /dev +通常の +.Nm +のマウントポイント +.El +.Sh 関連項目 +.Xr mount_devfs 8 +.Sh 歴史 +.Nm +ファイルシステムは +.Fx 2.0 +に初めて登場しました。 +.Nm +のマニュアルは +.Fx 2.2 +に初めて登場しました。 +.Sh 作者 +.Nm +のマニュアルは、 +.An Mike Pritchard Aq mpp@FreeBSD.org +によって、 +.Xr mount_devfs 8 +のマニュアルを基に書かれました。 diff --git a/documentation/manual-pages/ja/man5/device.hints.5 b/documentation/manual-pages/ja/man5/device.hints.5 new file mode 100644 index 0000000000..cf7ba6e397 --- /dev/null +++ b/documentation/manual-pages/ja/man5/device.hints.5 @@ -0,0 +1,170 @@ +.\" Copyright (c) 2001 +.\" Kazutaka YOKOTA <yokota@zodiac.mech.utsunomiya-u.ac.jp> +.\" All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer as +.\" the first lines of this file unmodified. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +.\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +.\" +.\" %FreeBSD: src/share/man/man5/device.hints.5,v 1.10 2003/09/19 22:27:54 jb Exp % +.\" $FreeBSD$ +.\" +.\" WORDS +.\" hints,hint ヒント +.\" boot loader boot loader +.\" start address スタートアドレス +.\" most often よく +.\" +.Dd October 7, 2001 +.Dt DEVICE.HINTS 5 +.Os +.Sh 名称 +.Nm device.hints +.Nd デバイスリソースヒント +.Sh 解説 +.Nm +ファイルは、システムの起動時に boot +.Xr loader 8 +によって読み込まれ、その内容がカーネルに渡されます。 +その内容には、カーネルの起動動作を制御するいろいろな変数が含まれます。 +それらの変数は、主に +.Dq デバイスヒント +です。 +.\" .Dq device hints , +.\" and other control variables. +.Pp +ファイルの一行で一つの変数を定義します。 +.Ql # +の文字で始まる行はコメントで、boot loader には無視されます。 +.Pp +boot loader がファイルを読み込んでからは、 +.Ic show +コマンドでその値を確認することが出来ます。 +また、boot loader の +.Ic set +や +.Ic unset +コマンドを用いて、新しい変数を追加したり既存の変数を変更・削除したり +することが出来ます。 +.Xr ( loader 8 +参照) +.Pp +システムが起動してからは +.Xr kenv 1 +コマンドで、これらの変数を表示させることが出来ます。 +.Sh デバイスヒント +デバイスヒント変数は、デバイスドライバがデバイスをセットアップするのに +使用されます。 +これらは ISA デバイスドライバがよく利用していて、 +ドライバが適切なデバイスをプローブするのにどこを見るかや、 +どのリソースを使うのかを指定するのに使われています。 +.Pp +デバイスヒント行は、次のようになっています: +.Pp +.Sm off +.D1 Li hint. Ar driver Li . Ar unit Li . Ar keyword Li = Qq Ar value +.Sm on +.Pp +ここで +.Ar driver +はデバイスドライバの名称、 +.Ar unit +はユニット番号、 +.Ar keyword +はその行のヒントのキーワードです。 +キーワードには次のものがあります: +.Pp +.Bl -tag -width ".Li disabled" -compact -offset indent +.It Li at +デバイスがアタッチされるバスを指定します。 +.It Li port +デバイスが使用する I/O ポートのスタートアドレスを指定します。 +.It Li portsize +デバイスが使用するポート数です。 +.It Li irq +使用する割り込みライン番号です。 +.It Li drq +DMA チャネル番号です。 +.It Li maddr +デバイスが使用する物理メモリアドレスを指定します。 +.It Li msize +デバイスが使用する物理メモリサイズを指定します。 +.It Li flags +デバイスのいろいろなフラグビットを設定します。 +.It Li disabled +.Qq 1 +に設定するとデバイスを使用不可にすることが出来ます。 +.El +.Pp +デバイスドライバによっては、これらのキーワードの一つもしくは +それ以上のヒント行が必須になることもあるかもしれませんし、 +ここのリストにないキーワードが使えるかもしれません。 +使用可能なキーワードや設定可能な値については個々のデバイスドライバの +マニュアルページを参照してください。 +.\" .Sh CONTROL VARIABLES +.\" Lines not starting with +.\" .Dq hint. +.\" specify other control variables for the kernel. +.\" They look: +.\" .Pp +.\" .Dl <name>="<value>" +.\" XXX +.\" WE SHOULD LIST AVAILABLE VARIABLE NAMES AND THEIR POSSIBLE VALUES HERE! +.\" .Pp +.Sh 関連ファイル +.Bl -tag -width ".Pa /sys/ Ns Ar ARCH Ns Pa /conf/GENERIC.hints" -compact +.It Pa /boot/device.hints +デバイスリソースヒントファイル +.It Pa /sys/ Ns Ar ARCH Ns Pa /conf/GENERIC.hints +.Pa GENERIC +カーネル用のサンプルリソースヒントファイル +.It Pa /sys/ Ns Ar ARCH Ns Pa /conf/NOTES +カーネル設定ファイルやデバイスリソースヒントに関する注 +.El +.Sh 使用例 +次の例は、ISA バス上の +.Xr sio 4 +ドライバのリソースを設定するものです: +.Bd -literal -offset indent +hint.sio.0.at="isa" +hint.sio.0.port="0x3F8" +hint.sio.0.flags="0x10" +hint.sio.0.irq="4" +.Ed +.Pp +次の例は、ACPI ドライバを使用不可にするものです: +.Bd -literal -offset indent +hint.acpi.0.disabled="1" +.Ed +.\" .Pp +.\" A control variable may look like: +.\" .Pp +.\" .Bd -literal -offset indent +.\" debug.acpi.layer="ACPI_RESOURCES" +.\" .Ed +.Sh 関連項目 +.Xr kenv 1 , +.Xr loader.conf 5 , +.Xr loader 8 +.Sh 歴史 +.Nm +ファイルは +.Fx 5.0 +に初めて登場しました。 diff --git a/documentation/manual-pages/ja/man5/dhclient.conf.5 b/documentation/manual-pages/ja/man5/dhclient.conf.5 new file mode 100644 index 0000000000..cc2275644c --- /dev/null +++ b/documentation/manual-pages/ja/man5/dhclient.conf.5 @@ -0,0 +1,626 @@ +.\" $Id: dhclient.conf.5,v 1.12 2004-09-21 20:40:05 metal Exp $ +.\" +.\" Copyright (c) 2004 by Internet Systems Consortium, Inc. ("ISC") +.\" Copyright (c) 1996-2003 by Internet Software Consortium +.\" +.\" Permission to use, copy, modify, and distribute this software for any +.\" purpose with or without fee is hereby granted, provided that the above +.\" copyright notice and this permission notice appear in all copies. +.\" +.\" THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES +.\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +.\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR +.\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +.\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +.\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT +.\" OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. +.\" +.\" Internet Systems Consortium, Inc. +.\" 950 Charter Street +.\" Redwood City, CA 94063 +.\" <info@isc.org> +.\" http://www.isc.org/ +.\" +.\" This software has been written for Internet Software Consortium +.\" by Ted Lemon in cooperation with Vixie Enterprises and Nominum, Inc. +.\" To learn more about Internet Software Consortium, see +.\" ``http://www.isc.org/''. To learn more about Vixie Enterprises, +.\" see ``http://www.vix.com''. To learn more about Nominum, Inc., see +.\" ``http://www.nominum.com''. +.\" +.\" $Id: dhclient.conf.5,v 1.12 2004-09-21 20:40:05 metal Exp $ +.\" %FreeBSD: src/contrib/isc-dhcp/client/dhclient.conf.5,v 1.14 2004/06/26 10:37:41 mbr Exp % +.\" $FreeBSD$ +.\" WORD: lease リース(アドレスの貸与)[dhclient.conf.5] +.\" WORD: lease discovery request リース発見要求[dhclient.conf.5] +.\" WORD: offer (リース提供の)申し出、提供申し出[dhclient.conf.5] +.TH dhclient.conf 5 +.SH 名称 +dhclient.conf - DHCP クライアント設定ファイル +.SH 解説 +dhclient.conf ファイルには +Internet Systems Consortium の DHCP クライアントである +.IR dhclient +の設定情報が含まれます。 +.PP +dhclient.conf は自由形式の ASCII テキストファイルです。 +このファイルは dhclient に組み込まれた再帰下降パーザに解析されます。 +ファイルには、整形の目的でタブや改行を余分に含めることもできます。 +ファイル中のキーワードでは大文字小文字を区別しません。 +(クォート内は除いて) ファイル中のどこでもコメントを置くことができます。 +コメントは文字 # で始まり、行末で終わります。 +.PP +dhclient.conf ファイルで、クライアントのさまざまな動作を設定できます。 +それらには、プロトコルのタイミング、サーバに対して要求する情報、 +サーバに対して必須とされる情報、 +サーバが情報を提供しなかった場合に用いるデフォルト、 +サーバから提供された情報を上書きする値、 +サーバから提供された情報に前置や後置する値などがあります。 +また、DHCP サーバを持たないネットワークで使うアドレスであっても、 +あらかじめ設定ファイルで初期化することもできます。 +.SH プロトコルのタイミング +クライアントのタイミング動作は、ユーザが設定する必要はありません。 +ユーザがタイミング設定を行わなければ、 +サーバに無秩序に負荷を与えたりせず適時更新を行うような、 +充分に適切なタイミング動作がデフォルトで用いられます。 +.PP +しかし、必要に応じて、 +次の文を指定して DHCP クライアントのタイミング動作を調節できます: +.PP +.B timeout +.I 文 +.PP +.B timeout +.I time +.B ; +.PP +.I timeout +文は、クライアントがアドレスを決める試みを開始してから、 +サーバにアクセスすることが +できないと判断するまでに経過すべき時間を決めます。 +デフォルトではこのタイムアウト値は 60 秒です。 +このタイムアウト値が過ぎた後は、 +もし静的なリースが設定ファイルに定義されているか、 +リースデータベースにまだ期限切れになっていないリースが残っていれば、 +クライアントはそれらのリースをひとつずつ検証してみて、 +いずれかが有効なようであればそのリースのアドレスを使います。 +もし静的なリースも、リースデータベース内の期限の切れていないリースで +有効なものも存在しなければ、 +クライアントは定義された retry 間隔の後でプロトコルを再開させます。 +.PP +.B retry +.I 文 +.PP + \fBretry \fItime\fR\fB;\fR +.PP +.I retry +文は、クライアントが DHCP サーバが存在しないと判断してから +再び DHCP サーバにアクセスを試みるまでの間に、経過するべき時間を決めます。 +デフォルトでは、これは 5 分です。 +.PP +.B select-timeout +.I 文 +.PP + \fBselect-timeout \fItime\fR\fB;\fR +.PP +あるネットワーク上で、複数の DHCP サーバがサービスを提供することもできます +(その方が望ましいという意見もあります)。 +その場合、最初のリース発見メッセージ (lease discovery message) +への応答として、 +クライアントが複数のリース提供の申し出を受けることもあり得ます。 +それらのうち、ある提供が他の提供よりも好ましいかもしれません +(例えば、クライアントが以前使用していたアドレスがある提供に含まれているが、 +他の提供には含まれないなど)。 +.PP +.I select-timeout +はクライアントが最初のリース発見要求 +を送信して、 +少なくとも 1 つの提供申し出を受けた場合、 +サーバからの提供申し出待ちをやめるまでの時間です。 +もし +.I select-timeout +が切れるまでにどこからも提供申し出を受け取れなければ、 +クライアントはそのあと最初に到着する提供申し出を受け入れます。 +.PP +デフォルトでは、select-timeout 値は 0 秒です。 +つまりクライアントは最初に受け取る提供申し出を受け入れます。 +.PP +.B reboot +.I 文 +.PP + \fBreboot \fItime\fR\fB;\fR +.PP +クライアントは、再起動すると、 +最後に保持していたアドレスをまず取得し直そうとします。 +これを INIT-REBOOT (初期リブート) 状態と呼びます。 +最後に動作していたときと同じネットワークに +クライアントがまだ接続していれば、これが最も素早い起動法となります。 +.I reboot +文は、クライアントが最初に古いアドレスの再取得を試みてから、 +あきらめて新しいアドレスを発見しようとするまでに、 +経過すべき時間を設定します。 +デフォルトでは、reboot タイムアウト値は 10 秒です。 +.PP +.B backoff-cutoff +.I 文 +.PP + \fBbackoff-cutoff \fItime\fR\fB;\fR +.PP +クライアントは、指数的な一時退避 (backoff) アルゴリズムを、ある程度の +乱数付きで使用します。これは、多くのクライアントが同時に自分を設定しよう +としたときでも、リクエストがロックしてしまうことがないようにするためです。 +.I backoff-cutoff +文は、一時退避に許された最大時間を決定します。デフォルト値は 2 分です。 +.PP +.B initial-interval +.I 文 +.PP + \fBinitial-interval \fItime\fR\fB;\fR +.PP +.I initial-interval +文は、サーバへの最初のアクセスの試みから次の試みまでの間の時間を +設定します。メッセージの間隔は、メッセージを 1 回送信するたびに、 +現在の間隔に 0 から 1 の間の乱数値を乗じたものの 2 倍を、現在の間隔に +加えたものになります。 +この値が backoff-cutoff 値より大きくなると、この時間が設定されます。 +デフォルト値は 10 秒です。 +.SH リース要求とリクエスト +DHCP プロトコルでは、クライアントからサーバに対し、特定の情報を送るよう +要求したり、受け入れ準備のできていない他の情報は送らないように要求したり +できます。 +また、サーバからの提供申し出にクライアントの必要とする情報が含まれない +場合や、提供された情報が充分でない場合、クライアントが提供申し出を +拒否することもできます。 +.PP +DHCP サーバが DHCP クライアントに送る提供申し出に含まれるデータには、 +さまざまなものがあります。 +特に要求できるデータは \fIDHCP オプション\fR と呼ばれるものです。 +DHCP オプションは + \fBdhcp-options(5)\fR +に定義されています。 +.PP +.B request +.I 文 +.PP + \fBrequest [ \fIoption\fR ] [\fB,\fI ... \fIoption\fR ]\fB;\fR +.PP +request 文を指定することで、クライアントは、サーバに対し、その +クライアントに応答するならば、指定したオプションの値を送るよう +要求するようになります。 +request 文にはオプション名だけを指定し、オプションパラメータは指定しません。 +デフォルトでは DHCP クライアントは +subnet-mask, broadcast-address, time-offset, routers, +domain-name, domain-name-servers, host-name +オプションを要求します。 +.PP +場合によっては要求リストを全く送らないことが望ましいこともあります。 +そうするためには、単純にパラメータを指定しない request 文を書いて下さい: +.PP +.nf + request; +.fi +.PP +.B require +.I 文 +.PP + \fBrequire [ \fIoption\fR ] [\fB,\fI ... \fIoption ]\fB;\fR +.PP +require 文には、ある提供申し出をクライアントが受け入れるために +サーバが送るべきオプションを列挙します。 +列挙されたオプションすべてを含まない提供申し出は無視されます。 +.PP +.B send +.I 文 +.PP + \fBsend { [ \fIoption declaration\fR ] +[\fB,\fI ... \fIoption declaration\fR ]\fB}\fR +.PP +send 文を指定することで、クライアントは、 +指定したオプションを指定した値でサーバに送信するようになります。 +ここで指定できるオプションは、 +\fBdhcp-options(5)\fR で説明されているオプション宣言すべてです。 +DHCP プロトコルで常に送られるオプションは +ここに指定するべきではありません。但し、 +\fBrequested-lease-time\fR オプションをデフォルトのリース時間 (2 時間) +以外の値で指定することはできます。この文を使う他の場合として明らかな +ものは、自分と別の種類のクライアントとを区別できるような +情報を、サーバに対し送信する場合です。 +.SH 動的 DNS +現在、リースが獲得された際に DNS の更新を行うための、 +非常に限定的なサポートがクライアントにあります。 +これはプロトタイプ的なものであり、 +おそらくあなたが思っているようには動きません。 +もし、あなたが偶然にも自分のところの DNS サーバの管理者であるというなら、 +その場合に限っては動きます。とてもありそうにないことですが。 +.PP +これを動作させるためには、DHCP サーバの中で +鍵とゾーンを宣言する必要があります (詳細は \fBdhcpd.conf\fR(5) を参照)。 +また、次のようにクライアントで fqdn オプションを設定する必要があります: +.PP +.nf + send fqdn.fqdn "grosse.fugue.com."; + send fqdn.encoded on; + send fqdn.server-update off; +.fi +.PP +\fIfqdn.fqdn\fR オプションは \fB必ず\fR 完全なドメイン名でなければなりません。 +更新するゾーンに対するゾーン文を \fB必ず\fR 定義しなければなりません。 +\fIfqdn.encoded\fR オプションは、使用している DHCP サーバによっては、 +\fIon\fR か \fIoff\fR に設定する必要があるかもしれません。 +.PP +.B do-forward-updates +.I 文 +.PP + \fBdo-forward-updates [ \fIflag\fR ] \fB;\fR +.PP +DHCP クライアントが直接 DNS の更新を行うよりも、 +DHCP クライアントスクリプト (\fBdhclient-script(8)\fR 参照) の中で +DNS の更新を行いたい場合 +(例えば、DHCP クライアントが直接サポートしていない +SIG(0) 認証を使用したい場合) +には、\fBdo-forward-updates\fR 文を使って、更新を行うように +クライアントに教えることができます。 +DHCP クライアントが更新することを望む場合は \fIflag\fR を \fBtrue\fR にし、 +更新することを望まない場合は \fIflag\fR を \fBfalse\fR にすることになります。 +デフォルトでは DHCP クライアントは DNS の更新を行います。 +.PP +.SH オプション修飾子 +そのクライアントにとって実際には適切でない +オプションデータを受け取ったり、必要な情報を受け取らなかったり +する場合で、かつ、それらの情報に利用可能なデフォルトの値が +クライアント側に存在する場合があります。 +また、利用可能ではあるがローカルの情報で補う必要のある情報を +クライアントが受けとる場合もあります。 +こういう場合を扱うために、 +いくつかのオプション修飾子が利用できます。 +.PP +.B default +.I 文 +.PP + \fBdefault [ \fIoption declaration\fR ] \fB;\fR +.PP +あるオプションについて、 +サーバから提供される値をクライアントが使わなければならないが、 +もしサーバから値が提供されなければ +何らかのデフォルト値を使う必要がある場合、 +それらの値を +.B default +文で定義することができます。 +.PP +.B supersede +.I 文 +.PP + \fBsupersede [ \fIoption declaration\fR ] \fB;\fR +.PP +あるオプションについて、 +どのような値がサーバから提供されても、 +常にローカルで設定された値を使わなければならない場合、 +それらの値を +.B supersede +文で定義することができます。 +.PP +.B prepend +.I 文 +.PP + \fBprepend [ \fIoption declaration\fR ] \fB;\fR +.PP +あるオプションの集合について、まずユーザが提供する値を使い、 +その次にサーバから提供された値があればそれを使う場合、 +それらの値を +.B prepend +文で定義することができます。 +.B prepend +文は複数の値を取ることのできるオプションにのみ用いることができます。 +この制約は強制されるものではありませんが、 +これを無視した場合、どのような挙動になるかは予想できません。 +.PP +.B append +.I 文 +.PP + \fBappend [ \fIoption declaration\fR ] \fB;\fR +.PP +あるオプションの集合について、まずサーバから提供された値を使い、 +その次にユーザが提供する値があればそれも使う場合、 +それらの値を +.B append +文で定義することができます。 +.B append +文は複数の値を取ることのできるオプションにのみ用いることができます。 +この制約は強制されるものではありませんが、 +もし違反すると予期できない結果となります。 +.SH リース宣言 +.PP +.B lease +.I 宣言 +.PP + \fBlease {\fR \fIlease-declaration\fR [ ... \fIlease-declaration ] \fB}\fR +.PP +ある時間 (\fBプロトコルのタイミング\fR 参照) の後、DHCP クライアントは +サーバへのアクセスに成功しそうにないと判断する場合があります。 +その時点で、クライアントは自分が持っている、古いリースのデータベースを +見て、時間切れになっていないリースを順に調べ、そこに挙がっている +ルータに ping を行って、それが利用可能なリースかどうかを調べます。 +DHCP サービスや BOOTP サービスが存在しないネットワークのために、 +1 つ以上の \fI固定\fR リースをクライアント設定ファイルに定義しておいて、 +クライアントがアドレスを自動的に設定できるようにすることもできます。 +これは +.B lease +文で行います。 +.PP +注意: lease 文は、DHCP サーバから受け取ったリースを記録するために、 +dhclient.leases ファイルでも使われます。 +以下に説明するリース用のシンタックスには +dhclient.leases ファイルでのみ必要なものもあります。 +説明を完全なものにするため、そのようなシンタックスもここで記述します。 +.PP +lease 文は、リースキーワード、左中括弧、1 つ以上のリース宣言文、 +右中括弧が続いたもので構成されます。 +リース宣言として、次のものが可能です: +.PP + \fBbootp;\fR +.PP +.B bootp +文は、リースが DHCP プロトコルではなく、 +BOOTP プロトコルを用いて取得されたことを示します。 +この文をクライアント設定ファイルに指定する必要は全くありません。 +クライアントはこの構文をリースデータベースファイル内で使います。 +.PP + \fBinterface\fR \fB"\fR\fIstring\fR\fB";\fR +.PP +.B interface +リース文は、そのリースを有効とするインタフェースを示します。 +これが設定されている場合、このリースは、指定されたインタフェース +上でのみ使用されます。 +サーバからリースを受け取ったとき、 +クライアントは常にそのリースを受け取ったインタフェース番号を記録します。 +dhclient.conf ファイルで事前にリースを定義している場合、要求されてない +のですが、そのリースでインタフェースもあわせて指定しなければ +なりません。 +.PP + \fBfixed-address\fR \fIip-address\fR\fB;\fR +.PP +.B fixed-address +文は特定のリースの IP アドレスを指定する際に使います。 +これはすべての lease 文に必要です。 +IP アドレスは (12.34.56.78 のように) ドット付き 4 つ組形式で +指定しなければなりません。 +.PP + \fBfilename "\fR\fIstring\fR\fB";\fR +.PP +.B filename +文は使用するブートファイル名を指定します。 +これは標準的なクライアント設定スクリプトでは使われませんが、 +説明の完全を期すためにここに含めてあります。 +.PP + \fBserver-name "\fR\fIstring\fR\fB";\fR +.PP +.B server-name +文は使用するブートサーバ名を指定します。 +これも標準的なクライアント設定スクリプトでは使われません。 +.PP + \fBoption\fR \fIoption-declaration\fR\fB;\fR +.PP +.B option +文は、サーバから提供されるオプションの値を指定するのに使います。 +あるいは、dhclient.conf で事前定義リースが宣言されている場合には、 +その事前定義リースが使われる際にクライアント設定スクリプトで使用して +欲しい値を指定します。 +.PP + \fBscript "\fIscript-name\fB";\fR +.PP +.B script +文は dhcp クライアント設定スクリプトのパス名を指定するのに使います。 +このスクリプトは、アドレスを要求したり、以前に提供されたアドレスを +試したり、 +リースを取得してからインタフェースの最終設定を行ったりする前に、 +dhcp クライアントが各インタフェースの初期設定を行うのに使います。 +リースが取得できなかった場合には、 +事前定義リースが存在する場合、それらを試すためにこのスクリプトが使われます。 +また、有効なリースがひとつも得られなかった場合でも、このスクリプトは、 +1 回は呼び出されます。 +より詳しくは、 +.B dhclient-script(8) +を参照してください。 +.PP + \fBvendor option space "\fIname\fB";\fR +.PP +.B vendor option space +文は、vendor-encapsulate-options オプションを受信した場合、 +復号化にどのオプション空間を使用するべきかを指定するために使用されます。 +サーバからのベンダオプションの特定のクラスを要求するために、 +\fIdhcp-vendor-identifier\fR を使用することができます。 +詳細は +.B dhcp-options(5) +を参照してください。 +.PP + \fBmedium "\fImedia setup\fB";\fR +.PP +.B medium +文は、接続されているネットワークのタイプをネットワークインタフェースが +自動的に判断できないようなシステムで使うことができます。 +文字列 media setup はシステム依存のパラメータで、 +インタフェース初期化の際に dhcp クライアント設定スクリプトに渡されます。 +Unix および Unix 風のシステムでは、 +この引数はインタフェースを設定するときに ifconfig コマンドラインに +渡されます。 +.PP +リースを得るためにインタフェースを設定する +際に、dhcp クライアントがメディアタイプ ( +.B media +文を参照) を使用する場合、dhcp クライアントは、このパラメータを +自動的に宣言します。ネットワークインタフェースがメディアタイプの +設定を必要とする場合は (する場合に限り)、この文を事前定義リースで +使用しなければなりません。 +.PP + \fBrenew\fR \fIdate\fB;\fR +.PP + \fBrebind\fR \fIdate\fB;\fR +.PP + \fBexpire\fR \fIdate\fB;\fR +.PP +\fBrenew\fR 文は、現在使用中のリースを更新 (renew) するために、 +dhcp クライアントが使用中のリースを提供してくれたサーバへのアクセスの +試みを開始しなければならない日時を定義します。\fBrebind\fR 文は、 +リースを更新するために、dhcp クライアントが \fIいずれかの\fR dhcp +サーバへのアクセスの試みを開始しなければならない日時を定義します。 +\fBexpire\fR 文は、リースの更新のためにサーバにアクセスできなかった場合、 +dhcp クライアントがそのリースの使用を停止しなければならない日時を +定義します。 +.PP +これらの宣言は、DHCP クライアントが得たリース中では自動的に設定されます。 +事前定義リースのうち、DHCP クライアントに有効期限が過ぎたものを使用して +欲しくないものの中では、これらの宣言を設定しておく必要があります。 +.PP +date は以下のように指定します。 +.PP + \fI<weekday> <year>\fB/\fI<month>\fB/\fI<day> +<hour>\fB:\fI<minute>\fB:\fI<second>\fR +.PP +weekday は、人間が見てリース期限をわかりやすくするために存在します。 +これは、0 から 6 までの数字で指定します。0 は日曜日です。year は世紀 +込みで指定します。ですから、本当に長いリースを別にすると、必ず 4 桁に +なるはずです。month は 1 (1 月を表します) から始まる数字で指定します。 +day は同様に 1 から始まる (月における) 日として指定します。hour は、 +0 から 23 の間の数字です。minute と second はともに 0 から 59 の間の +数字を指定します。 +.SH エイリアス宣言 + \fBalias { \fI declarations ... \fB}\fR +.PP +DHCP クライアントが TCP/IP ローミング (roaming) プロトコルを実行して +いる場合、DHCP を用いて得られるリースだけでなく、事前に定義された +IP エイリアスも、自分が使用するインタフェースに設定する必要がある +場合があります。Internet Systems Consortium 版 DHCP クライアントは、 +固定アドレス直接指定のローミングをサポートしていませんが、その種の実験 +ができるように、この dhcp クライアントは、 +.B alias +宣言を使って IP エイリアスを設定する準備はできています。 +.PP +alias 宣言は lease 宣言に似ています。但し、標準の +クライアント設定スクリプトでは、subnet-mask オプション以外の +オプションと、各種有効期限 (expiry times) が無視される点が異なります。 +普通の alias 宣言では、 interface 宣言、IP エイリアスのための +固定アドレス宣言、subnet-mask オプションを含みます。alias 宣言には +medium 文は決して含まれてはなりません。 +.SH その他の宣言 + \fBreject \fIip-address\fB;\fR +.PP +.B reject +文により、DHCP クライアントは指定したアドレスをサーバ識別子として使用する +サーバからの提供申し出を拒否するようになります。標準に準拠しない dhcp +サーバや設定を間違えている dhcp サーバによってクライアントが設定されない +ようにするために、この文を使用することができます。しかしながら、これは +最後の武器とするべきです。これに先立ち、腐った DHCP サーバを追いかけて +それを直す方がよいです。 +.PP + \fBinterface "\fIname\fB" { \fIdeclarations ... \fB } +.PP +複数のネットワークインタフェースを持つクライアントの場合、DHCP で +設定されるインタフェースによって異なる動作をさせる必要がある場合が +あります。lease 宣言と alias 宣言を除くすべてのタイミングパラメータ +と宣言を、interface 宣言で囲むことができます。その場合、囲まれた +パラメータは指定した名前に合致するインタフェースにのみ適用されます。 +interface 宣言を持たないインタフェースは、すべての interface 宣言の +外側で宣言されたパラメータ、もしくはデフォルトの設定が適用されます。 +.PP + \fBpseudo "\fIname\fR" "\fIreal-name\fB" { \fIdeclarations ... \fB } +.PP +状況によっては仮想インタフェースを宣言し、 +DHCP クライアントがこのインタフェースのための設定を取得するようにすると +便利になり得ます。 +通常 DHCP クライアントがサポートしている各インタフェースは、 +そのリースを獲得し管理するために、 +DHCP クライアントの状態機械を実行しています。 +仮想インタフェースは、\fIreal-name\fR と名付けられたインタフェース上で +稼働している、まさしくもう一つの状態機械です。 +この機能を使用する場合、 +仮想インタフェースと実際のインタフェースの両方に対して +クライアント識別子を提供しなければなりません。 +また、使用したい IP アドレスに対する仮想インタフェース用に +分離されたクライアントスクリプトを提供しなければなりません。 +例えば次のようになります: +.PP +.nf + interface "ep0" { + send dhcp-client-identifier "my-client-ep0"; + } + pseudo "secondary" "ep0" { + send dhcp-client-identifier "my-client-ep0-secondary"; + script "/etc/dhclient-secondary"; + } +.fi +.PP +仮想インタフェースのためのクライアントスクリプトは +インタフェースを有効にしたり無効にしたりする設定をするべきではありません。 +特に、リースの獲得や更新の状態、そしてリースの期限切れの状態を +取り扱うためには、そのことが必要です。 +詳細は \fBdhclient-script(8)\fR を参照して下さい。 +.PP + \fBmedia "\fImedia setup\fB"\fI [ \fB, "\fImedia setup\fB", \fI... ]\fB;\fR +.PP +.B media +文は、IP アドレス取得中に使用が試みられる、メディア設定パラメータを 1 つ +以上定義します。dhcp クライアントは、リスト中の各 media setup 文字列を +順次使用し、あるインタフェースをそれで設定し、ブートを試みます。 +駄目ならば次の media setup 文字列を使用します。この文は、 +メディアタイプを検出する能力を持たないネットワークインタフェースに +対して利用できます。サーバへのリクエストができ応答が得られるもの +ならば、どのようなメディアタイプでもたぶん正当です (保証はしませんが)。 +.PP +media setup はアドレス取得の初期フェーズ (DHCPDISCOVER パケットと +DHCPOFFER パケット)でのみ使用されます。ひとたびアドレスが取得されると、 +dhcp クライアントはそのアドレスをリースデータベースに記録し、 +そのアドレスを得る際に用いたメディアタイプを記録します。クライアントが +リースを更新しようとする際には常に、それと同じメディアタイプを使用します。 +リースを期限切れにしてはじめて、クライアントはメディアタイプを順に試す +状態に戻ります。 +.\"X .SH SAMPLE ... man-jp 標準はなんだったっけ +.SH 使用例 +以下の設定ファイルは、NetBSD 1.3 を実行するあるラップトップマシンで +使用されているものです。このマシンは、IP エイリアスとして 192.5.5.213、 +インタフェース ep0 (3Com 3C589C) をひとつ持っています。このクライアント +は、DHCP 活動がほとんどないネットワークで時間の大部分を消費することが +わかっているので、ブート間隔はデフォルト値からいくぶん小さくして +あります。このマシンは複数ネットワーク間でローミング (移動) します。 + +.nf + +timeout 60; +retry 60; +reboot 10; +select-timeout 5; +initial-interval 2; +reject 192.33.137.209; + +interface "ep0" { + send host-name "andare.fugue.com"; + send dhcp-client-identifier 1:0:a0:24:ab:fb:9c; + send dhcp-lease-time 3600; + supersede domain-name "fugue.com rc.vix.com home.vix.com"; + prepend domain-name-servers 127.0.0.1; + request subnet-mask, broadcast-address, time-offset, routers, + domain-name, domain-name-servers, host-name; + require subnet-mask, domain-name-servers; + script "/sbin/dhclient-script"; + media "media 10baseT/UTP", "media 10base2/BNC"; +} + +alias { + interface "ep0"; + fixed-address 192.5.5.213; + option subnet-mask 255.255.255.255; +} +.fi +これは dhclient.conf ファイルとしては非常に複雑なものです。一般に、 +皆さんが使用するものははるかに簡単なはずです。多くの場合、dhclient.conf +ファイルとして空のファイルを生成するだけで十分なはずです。 +つまり、デフォルト値でよいのが普通です。 +.SH 関連項目 +dhcp-options(5), dhclient.leases(5), dhclient(8), RFC2132, +RFC2131 +.SH 作者 +.B dhclient(8) +は Vixie Labs との契約のもとで Ted Lemon が書きました。 +本プロジェクトの資金は Internet Systems Consortium が提供しました。 +Internet Systems Consortium に関する情報は、 +.B http://www.isc.org +にあります。 diff --git a/documentation/manual-pages/ja/man5/dhclient.leases.5 b/documentation/manual-pages/ja/man5/dhclient.leases.5 new file mode 100644 index 0000000000..adc0a66e1d --- /dev/null +++ b/documentation/manual-pages/ja/man5/dhclient.leases.5 @@ -0,0 +1,63 @@ +.\" $Id: dhclient.leases.5,v 1.10 2004-09-21 20:40:05 metal Exp $ +.\" +.\" Copyright (c) 2004 by Internet Systems Consortium, Inc. ("ISC") +.\" Copyright (c) 1997-2003 by Internet Software Consortium +.\" +.\" Permission to use, copy, modify, and distribute this software for any +.\" purpose with or without fee is hereby granted, provided that the above +.\" copyright notice and this permission notice appear in all copies. +.\" +.\" THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES +.\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +.\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR +.\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +.\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +.\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT +.\" OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. +.\" +.\" Internet Systems Consortium, Inc. +.\" 950 Charter Street +.\" Redwood City, CA 94063 +.\" <info@isc.org> +.\" http://www.isc.org/ +.\" +.\" This software has been written for Internet Systems Consortium +.\" by Ted Lemon in cooperation with Vixie +.\" Enterprises. To learn more about Internet Systems Consortium, +.\" see ``http://www.isc.org/isc''. To learn more about Vixie +.\" Enterprises, see ``http://www.vix.com''. +.\" +.\" +.\" $Id: dhclient.leases.5,v 1.10 2004-09-21 20:40:05 metal Exp $ +.\" %FreeBSD: src/contrib/isc-dhcp/client/dhclient.leases.5,v 1.6 2004/06/26 10:37:41 mbr Exp % +.\" +.\" $FreeBSD$ +.TH dhclient.leases 5 +.SH 名称 +dhclient.leases - DHCP クライアントのリースデータベース +.SH 解説 +Internet Systems Consortium の DHCP クライアントは、 +獲得したリースのうちまだ有効であるものを管理するための、 +永続的なデータベースを保持します。 +このデータベースは、自由形式の ASCII ファイルであり、 +リース 1 つにつき有効な宣言を 1 つ含みます。 +あるリースに対して複数の宣言が登場する場合、 +ファイル中の最後のものが使用されます。 +このファイルはログとして書き込まれますので、 +このような状態になることは異常ではありません。 +.PP +リース宣言の書式は、 +.B dhclient.conf(5) +に記述されています。 +.SH 関連ファイル +.B /var/db/dhclient.leases +.SH 関連項目 +dhclient(8), dhcp-options(5), dhclient.conf(5), +RFC2132, RFC2131 +.SH 作者 +.B dhclient(8) +は、Vixie Labs との契約のもとで、Ted Lemon が記述しました。 +本プロジェクトの資金は、Internet Systems Consortium が提供しました。 +Internet Systems Consortium に関する情報は、 +.B http://www.isc.org +にあります。 diff --git a/documentation/manual-pages/ja/man5/dhcp-options.5 b/documentation/manual-pages/ja/man5/dhcp-options.5 new file mode 100644 index 0000000000..becacc990a --- /dev/null +++ b/documentation/manual-pages/ja/man5/dhcp-options.5 @@ -0,0 +1,1612 @@ +.\" $Id: dhcp-options.5,v 1.18 2004-09-21 20:40:05 metal Exp $ +.\" +.\" Copyright (c) 2004 by Internet Systems Consortium, Inc. ("ISC") +.\" Copyright (c) 1996-2003 by Internet Software Consortium +.\" +.\" Permission to use, copy, modify, and distribute this software for any +.\" purpose with or without fee is hereby granted, provided that the above +.\" copyright notice and this permission notice appear in all copies. +.\" +.\" THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES +.\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +.\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR +.\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +.\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +.\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT +.\" OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. +.\" +.\" Internet Systems Consortium, Inc. +.\" 950 Charter Street +.\" Redwood City, CA 94063 +.\" <info@isc.org> +.\" http://www.isc.org/ +.\" +.\" This software has been written for Internet Systems Consortium +.\" by Ted Lemon in cooperation with Vixie Enterprises and Nominum, Inc. +.\" To learn more about Internet Systems Consortium, see +.\" ``http://www.isc.org/''. To learn more about Vixie Enterprises, +.\" see ``http://www.vix.com''. To learn more about Nominum, Inc., see +.\" ``http://www.nominum.com''. +.\" +.\" $Id: dhcp-options.5,v 1.18 2004-09-21 20:40:05 metal Exp $ +.\" %FreeBSD: src/contrib/isc-dhcp/common/dhcp-options.5,v 1.7 2004/06/26 10:37:41 mbr Exp % +.\" $FreeBSD$ +.\" WORD: Dynamic Host Configuration Protocol 動的ホスト構成プロトコル +.\" WORD: Path MTU Discovery パス MTU 探索 +.\" WORD: Router Discovery ルータ探索 +.\" WORD: Router Solicitation ルータ要請 +.\" WORD: Mask Discovery マスク探索 +.\" +.TH dhcpd-options 5 +.SH 名称 +dhcp-options - 動的ホスト構成プロトコルのオプション +.SH 解説 +動的ホスト構成プロトコル (DHCP: Dynamic Host Configuration Protocol) を +使用することにより、クライアントは DHCP サーバから、ネットワーク設定や +ネットワーク上で利用可能な様々なサービスについて記述している +.B オプション +を受け取ることができます。 +.B dhcpd(8) +や +.B dhclient(8) +を設定するときに、しばしばオプションを宣言する必要があるでしょう。 +ここでは、オプションを宣言する文法、 +そして宣言可能なオプションの名前と書式を文書化しています。 +.SH リファレンス: オプション文 +.PP +DHCP \fIoption\fR 文は、常にキーワード \fIoption\fR で開始し、 +単一のオプション名が続き、オプションデータが続きます。 +オプションの名前とデータの書式は後述します。 +すべての DHCP オプションを網羅的に指定する必要はなく、 +クライアントに必要なオプションのみを指定します。 +.PP +オプションデータには、次のように様々な書式があります: +.PP +.B ip-address +データタイプは、明示的な IP アドレス (例えば 239.254.197.10) または +ドメイン名 (例えば haagen.isc.org) のどちらでも指定可能です。 +ドメイン名で指定する場合、 +そのドメイン名を解決すると単一の IP アドレスになるようにしてください。 +.PP +.B int32 +データタイプは符号付き 32 ビット整数を指定します。 +.B uint32 +データタイプは符号無し 32 ビット整数を指定します。 +.B int16 +および +.B uint16 +のデータタイプは、符号付きおよび符号無しの 16 ビット整数を指定します。 +.B int8 +および +.B uint8 +のデータタイプは、符号付きおよび符号無しの 8 ビット整数を指定します。 +符号無し 8 ビット整数は、オクテットと呼ばれることもあります。 +.PP +.B text +データタイプは NVT ASCII 文字列を指定します。 +文字列はダブルクォートで括る必要があります。 +例えば root-path オプションを指定する文法は、次のようになります。 +.nf +.sp 1 +option root-path "10.0.1.4:/var/tmp/rootfs"; +.fi +.PP +.B domain-name +データタイプはドメイン名を指定します。 +文字列をダブルクォートで括っていけません。 +このデータタイプは、他の既存の DHCP オプションには使われません。 +ドメイン名は、text オプションであるかのように保持されます。 +.\" text データタイプであるかのように? +.\" metal +.PP +.B flag +データタイプはブール値を指定します。 +ブール値は true または false のいずれかです +(もしくは、on または off の方が分かりやすければ、こちらでもかまいません)。 +.PP +.B string +データタイプは、ダブルクォートで括られる NVT ASCII 文字列か、 +コロン区切りの 16 進数で指定されるオクテットの連続のいずれかを指定します。 +例えば次のようになります: +.nf +.sp 1 + option dhcp-client-identifier "CLIENT-FOO"; +もしくは + option dhcp-client-identifier 43:4c:49:45:54:2d:46:4f:4f; +.fi +.SH 式を用いたオプション値の設定 +.\" metal +クライアントが送出するいくつかの値を、DHCP オプションの値を設定するのに +使えると便利なことがあります。 +これをするには式の評価が利用できます。 +.B dhcp-eval(5) +マニュアルページに式の書き方が述べられています。 +評価の結果をオプションに代入するには、オプションを次のように定義します: +.nf +.sp 1 + \fBoption \fImy-option \fB= \fIexpression \fB;\fR +.fi +.PP +例えば次のようにします: +.nf +.sp 1 + option hostname = binary-to-ascii (16, 8, "-", + substring (hardware, 1, 6)); +.fi +.SH 標準 DHCP オプション +次に示す様々なオプションに関する記述は、 +DHCP オプションに関する最新の IETF ドラフト文書からのものです。 +名前が掲載されていないオプションは、まだ実装されていないかもしれませんが、 +設定ファイルに定義することで、そのようなオプションを使えるかもしれません。 +詳しくは、この先の「新規オプションの定義」から続く記述を参照してください。 +.PP +ここに記述されているオプションのうちのいくつかは、DHCP サーバもしくは +クライアントによって自動的に生成されるもので、ユーザには設定できません。 +そのようなオプションの値は、受信側の DHCP プロトコルエージェント +(サーバもしくはクライアント) の設定ファイル中の、例えば条件式などで +使われます。 +しかしこのオプションの値は、送信側のエージェントの設定ファイル中では +使われることはありません。 +というのも、その値は、設定ファイルが処理された後に決定されるからです。 +以降の記述において、そのようなオプションには +「ユーザが設定することはできません」と記されます。 +.PP +標準オプションを示します: +.PP +.B option \fBall-subnets-local\fR \fIflag\fR\fB;\fR +.RS 0.25i +.PP +本オプションは、クライアントが接続されている IP ネットワークの全サブネットが +使用する MTU が、クライアントが直接接続されているサブネットの MTU と +同じであると、クライアントが仮定してよいかを指定します。 +値 true は、全サブネットは同一の MTU であることを意味します。 +値 false は、直接接続されているネットワークのサブネットには、より小さな MTU を +持つものがあると、クライアントが仮定すべきであることを意味します。 +.RE +.PP +.B option \fBarp-cache-timeout\fR \fIuint32\fR\fB;\fR +.RS 0.25i +.PP +本オプションは、ARP キャッシュエントリのタイムアウトを秒数で指定します。 +.RE +.PP +.B option \fBbootfile-name\fR \fItext\fR\fB;\fR +.RS 0.25i +.PP +本オプションは、起動ファイルを指定するために使用します。 +クライアントによってサポートされている場合、 +これは \fBfilename\fR 宣言と同じ効果を持ちます。 +BOOTP クライアントで、このオプションをサポートしているものは少ないでしょう。 +DHCP クライアントによってはサポートするものがあり、 +実際必須としているものがあります。 +.RE +.PP +.B option \fBboot-size\fR \fIuint16\fR\fB;\fR +.RS 0.25i +.PP +本オプションは、クライアント用のデフォルトのブートイメージの長さを、 +512 オクテットブロック数で指定します。 +.RE +.PP +.B option \fBbroadcast-address\fR \fIip-address\fR\fB;\fR +.RS 0.25i +.PP +本オプションは、クライアントのサブネットで使用されている +ブロードキャストアドレスを指定します。 +正当なブロードキャストアドレスの値は、STD 3 (RFC1122) の 3.2.1.3 節に +規定されています。 +.RE +.PP +.B option \fBcookie-servers\fR \fIip-address\fR [\fB,\fR \fIip-address\fR... +]\fB;\fR +.RS 0.25i +.PP +クッキーサーバオプションは、クライアントが利用可能な +RFC 865 クッキーサーバのリストを指定します。 +サーバは、優先されるものから順にリストしてください。 +.RE +.PP +.B option \fBdefault-ip-ttl\fR \fIuint8;\fR +.RS 0.25i +.PP +本オプションは、クライアントがデータグラムを送出するときに使用すべき、 +デフォルトの生存時間 (TTL) を指定します。 +.RE +.PP +.B option \fBdefault-tcp-ttl\fR \fIuint8\fR\fB;\fR +.RS 0.25i +.PP +本オプションは、クライアントが TCP セグメントを送出するときに使用すべき、 +デフォルトの TTL を指定します。 +最小値は 1 です。 +.RE +.PP +.B option \fBdhcp-client-identifier\fR \fIstring\fR\fB;\fR +.RS 0.25i +.PP +本オプションを使って、ホスト宣言中で DHCP クライアント識別子を +指定することができます。 +このクライアント識別子で照合を行うことで、 +dhcpd はそのホストのレコードを発見することができます。 +.PP +.\" metal +DHCP クライアントの中には、ASCII テキストによってクライアント識別子が +設定された場合、その ASCII テキストの先頭に 0 をつけるものがあることに +注意してください。 +その場合、 +.nf + + option dhcp-client-identifier "foo"; + +ではなく、以下のように記述する必要があるでしょう。 + + option dhcp-client-identifier "\\0foo"; +.fi +.RE +.PP +.B option \fBdhcp-lease-time\fR \fIuint32\fR\fB;\fR +.RS 0.25i +.PP +.\" metal +本オプションは、クライアント要求 (DHCPDISCOVER または DHCPREQUEST) の中で、 +クライアントが IP アドレスのリース時間を要求するために使用されます。 +またサーバ応答 (DHCPOFFER) の中で、DHCP サーバが提示したいリース時間を +指定するのにも、このオプションは使われます。 +.PP +本オプションは、サーバではユーザが直接設定することはできません。 +.B dhcpd.conf(5) +の \fImax-lease-time\fR と \fIdefault-lease-time\fR サーバオプションを +参照してください。 +.RE +.PP +.B option \fBdhcp-max-message-size\fR \fIuint16\fR\fB;\fR +.RS 0.25i +.PP +.\" metal +本オプションは、クライアントから送出された場合、サーバがクライアントに +送出するすべての応答の最大サイズを指定します。 +サーバで設定された場合、クライアントが dhcp-max-message-size オプションを +送信してこなかった際に、このサーバで設定された値が使用されます。 +これは、BOOTP 応答でも DHCP 応答と同様に動作します。 +.RE +.PP +.B option \fBdhcp-message\fR \fItext\fR\fB;\fR +.RS 0.25i +.PP +.\" metal +本オプションは、障害が起きた時に、DHCP サーバが DHCPNAK メッセージ中で +DHCP クライアントへエラーメッセージを提供するのに使用します。 +またクライアントが、提示されたパラメータを拒否した理由を示すために、 +DHCPDECLINE メッセージ中で本オプションを使うこともあります。 +.PP +本オプションは、ユーザが設定することはできません。 +.RE +.PP +.B option \fBdhcp-message-type\fR \fIuint8\fR\fB;\fR +.RS 0.25i +.PP +.\" metal +本オプションは、クライアントとサーバの両者から送出され、 +DHCP パケットが含んでいる DHCP メッセージのタイプを指定します。 +本オプションが取り得る値は、以下のとおりです (RFC2132 よりそのまま抜粋)。 +.PP +.nf + 1 DHCPDISCOVER + 2 DHCPOFFER + 3 DHCPREQUEST + 4 DHCPDECLINE + 5 DHCPACK + 6 DHCPNAK + 7 DHCPRELEASE + 8 DHCPINFORM +.fi +.PP +本オプションは、ユーザが設定することはできません。 +.PP +.RE +.B option \fBdhcp-option-overload\fR \fIuint8\fR\fB;\fR +.RS 0.25i +.PP +.\" metal +本オプションは、DHCP 'sname' もしくは 'file' フィールドが、 +DHCP オプションを保持するために詰め込み過ぎになっていることを +示すのに使われます。 +DHCP サーバは、返却されたパラメータが、オプションに通常割り当てられた +空間を超過した場合、本オプションを挿入します。 +.PP +本オプションが存在した場合、クライアントは、標準のオプションフィールドの +解釈が終了した後、指定された付加フィールドの解釈を行います。 +.PP +本オプションの正当な値は、以下の通りです: +.PP +.nf + 1 'file' フィールドが、オプション保持に使用されてます + 2 'sname' フィールドが、オプション保持に使用されてます + 3 両方のフィールドが、オプション保持に使用されてます +.fi +.PP +本オプションは、ユーザが設定することはできません。 +.PP +.RE +.PP +.B option \fBdhcp-parameter-request-list\fR \fIuint16\fR\fB;\fR +.RS 0.25i +.PP +.\" metal +本オプションは、クライアントから送出された場合、 +サーバに返答を希望するオプションをクライアントが指定します。 +通常 ISC DHCP クライアントでは、\fIrequest\fR 文を用いて行われます。 +本オプションがクライアントから指定されなかった場合、通常 DHCP サーバは、 +スコープ内で有効かつ応答に収まるすべてのオプションを返します。 +本オプションがサーバ上で指定された場合、サーバはその指定されたオプションを +返します。 +これは、クライアントが要求しなかったオプションを、クライアントに +強制するのに使用されます。 +また、通常サーバが返すオプションのセットをさらに制限する必要のある +クライアントに対して、DHCP サーバの応答を調整するのにも使用されます。 +.RE +.PP +.B option \fBdhcp-rebinding-time\fR \fIuint32\fR\fB;\fR +.RS 0.25i +.PP +.\" metal +本オプションは、クライアントがアドレスを取得してから REBINDING 状態に +移行するまでの時間を秒数で指定します。 +.PP +本オプションは、ユーザが設定することはできません。 +.PP +.RE +.PP +.B option \fBdhcp-renewal-time\fR \fIuint32\fR\fB;\fR +.RS 0.25i +.PP +.\" metal +本オプションは、クライアントがアドレスを取得してから RENEWING 状態に +移行するまでの時間を秒数で指定します。 +.PP +本オプションは、ユーザが設定することはできません。 +.PP +.RE +.PP +.B option \fBdhcp-requested-address\fR \fIip-address\fR\fB;\fR +.RS 0.25i +.PP +.\" metal +本オプションは、クライアントが、DHCPDISCOVER 内で特定の IP アドレスが +割り当てられることを要求するのに使用されます。 +.PP +本オプションは、ユーザが設定することはできません。 +.PP +.RE +.PP +.B option \fBdhcp-server-identifier\fR \fIip-address\fR\fB;\fR +.RS 0.25i +.PP +.\" metal +本オプションは、DHCPOFFER と DHCPREQUEST メッセージ中で使用され、 +また DHCPACK と DHCPNAK メッセージ中にも含まれることがあります。 +DHCP サーバは、クライアントが (訳注: 複数サーバからの) リースの提示を +区別できるよう、DHCPOFFER に本オプションを含めます。 +DHCP クライアントは、DHCP サーバへユニキャストするすべての DHCP メッセージの +宛先アドレスとして 'server identifier' フィールドの内容を使用します。 +また DHCP クライアントは、DHCPREQUEST メッセージ中に本オプションを含め、 +複数のリースの提示のどれを受け入れたかを示します。 +.PP +本オプションの値は、サーバの IP アドレスです。 +.PP +本オプションは、ユーザが直接設定することはできません。 +.B \fIdhcpd.conf(5) +の \fIserver-identifier\fR サーバオプションを参照してください。 +.PP +.RE +.PP +.B option \fBdomain-name\fR \fItext\fR\fB;\fR +.RS 0.25i +.PP +本オプションは、ドメインネームシステムを使用してホスト名を解決するときに +クライアントが使用すべきドメイン名を指定します。 +.RE +.PP +.B option \fBdomain-name-servers\fR \fIip-address\fR [\fB,\fR \fIip-address\fR... +]\fB;\fR +.RS 0.25i +.PP +domain-name-servers オプションは、クライアントが利用可能な +ドメインネームシステム (STD 13, RFC 1035) のネームサーバのリストを指定します。 +サーバは、優先されるものから順にリストしてください。 +.RE +.PP +.B option \fBextensions-path\fR \fItext\fR\fB;\fR +.RS 0.25i +.PP +.\" metal +本オプションは、追加オプションを含むファイルのファイル名を指定します。 +この追加オプションは、RFC2132 で規定されている DHCP オプションの書式に沿って +解釈されます。 +.RE +.PP +.B option \fBfinger-server\fR \fIip-address\fR [\fB,\fR +\fIip-address\fR... ]\fB;\fR +.RS 0.25i +.PP +Finger サーバオプションは、クライアントが利用可能な +Finger サーバのリストを指定します。 +サーバは、優先されるものから順にリストしてください。 +.RE +.PP +.B option \fBfont-servers\fR \fIip-address\fR [\fB,\fR \fIip-address\fR... +]\fB;\fR +.RS 0.25i +.PP +本オプションは、クライアントが利用可能な X Window System フォントサーバを +指定します。 +サーバは、優先されるものから順にリストしてください。 +.RE +.PP +.B option \fBhost-name\fR \fIstring\fR\fB;\fR +.RS 0.25i +.PP +本オプションは、クライアントの名前を指定します。 +この名前は、ローカルドメイン名に修飾されていても、いなくてもかまいません +(ドメイン名を指定するには、domain-name オプションの使用をお勧めします)。 +文字集合の制約については RFC 1035 を参照してください。 +クライアントマシンのホスト名が設定されていない場合 (すなわち +.B rc.conf(5) +で空文字列に設定されている場合) のみ、 +.B dhclient-script(8) +が本オプションを尊重します。 +.RE +.PP +.B option \fBieee802-3-encapsulation\fR \fIflag\fR\fB;\fR +.RS 0.25i +.PP +本オプションは、インタフェースがイーサネットである場合に、 +クライアントがイーサネットバージョン 2 (RFC 894) と +IEEE 802.3 (RFC 1042) のどちらのカプセル化を使用すべきかを指定します。 +値 false は、クライアントが RFC 894 のカプセル化を使用すべきであることを +意味します。 +値 true は、クライアントが RFC 1042 のカプセル化を使用すべきであることを +意味します。 +.RE +.PP +.B option \fBien116-name-servers\fR \fIip-address\fR [\fB,\fR \fIip-address\fR... +]; +.RS 0.25i +.PP +ien116-name-servers オプションは、 +クライアントが利用可能な IEN 116 ネームサーバのリストを指定します。 +サーバは、優先されるものから順にリストしてください。 +.RE +.PP +.B option \fBimpress-servers\fR \fIip-address\fR [\fB,\fR \fIip-address\fR... +]\fB;\fR +.RS 0.25i +.PP +impress-server オプションは、 +クライアントが利用可能な Imagen Impress サーバのリストを指定します。 +サーバは、優先されるものから順にリストしてください。 +.RE +.PP +.B option \fBinterface-mtu\fR \fIuint16\fR\fB;\fR +.RS 0.25i +.PP +本オプションは、このインタフェースに対して使用する MTU を指定します。 +MTU に対する最小の正当値は 68 です。 +.RE +.PP +.B option \fBip-forwarding\fR \fIflag\fR\fB;\fR +.RS 0.25i +.PP +本オプションは、クライアントが、パケットを転送するように +自分の IP 層を設定すべきかを指定します。 +値 false は IP 転送を無効にすることを意味し、 +値 true は IP 転送を有効にすることを意味します。 +.RE +.PP +.B option \fBirc-server\fR \fIip-address\fR [\fB,\fR +\fIip-address\fR... ]\fB;\fR +.RS 0.25i +.PP +IRC サーバオプションは、クライアントが利用可能な +IRC サーバのリストを指定します。 +サーバは、優先されるものから順にリストしてください。 +.RE +.PP +.B option \fBlog-servers\fR \fIip-address\fR [\fB,\fR \fIip-address\fR... +]\fB;\fR +.RS 0.25i +.PP +log-server オプションは、クライアントが利用可能な MIT-LCS UDP ログサーバの +リストを指定します。 +サーバは、優先されるものから順にリストしてください。 +.RE +.PP +.B option \fBlpr-servers\fR \fIip-address \fR [\fB,\fR \fIip-address\fR... +]\fB;\fR +.RS 0.25i +.PP +LPR サーバオプションは、 +クライアントが利用可能な RFC 1179 ラインプリンタサーバのリストを指定します。 +サーバは、優先されるものから順にリストしてください。 +.RE +.PP +.B option \fBmask-supplier\fR \fIflag\fR\fB;\fR +.RS 0.25i +.PP +本オプションは、ICMP を使用したサブネットマスク要求に対して、 +クライアントが応答すべきかを指定します。 +値 false は、クライアントが応答すべきでないことを意味します。 +値 true は、クライアントが応答すべきであることを意味します。 +.RE +.PP +.B option \fBmax-dgram-reassembly\fR \fIuint16\fR\fB;\fR +.RS 0.25i +.PP +本オプションは、クライアントが再組み立ての準備をすべき +最大データグラムサイズを指定します。 +最小の正当値は 576 です。 +.\" The minimum value legal value is 576. +.\" The minimum legal value is 576. かな (horikawa@jp.freebsd.org 19990404) +.RE +.PP +.B option \fBmerit-dump\fR \fItext\fR\fB;\fR +.RS 0.25i +.PP +本オプションは、クライアントがクラッシュするときの +クライアントのコアイメージがダンプされるファイルのパス名を指定します。 +パスの書式は、NVT ASCII 文字集合の文字からなる文字列です。 +.RE +.PP +.B option \fBmobile-ip-home-agent\fR \fIip-address\fR [\fB,\fR \fIip-address\fR... ]\fB;\fR +.RS 0.25i +.PP +本オプションは、クライアントが利用可能なモバイル IP ホームエージェントの +IP アドレスのリストを指定します。 +エージェントは、優先されるものから順にリストしてください。 +ただし、通常エージェントは 1 つでしょう。 +.RE +.PP +.B option \fBnds-context\fR \fIstring\fR\fB;\fR +.RS 0.25i +.PP +.\" metal +nds-context オプションは、NDS クライアントのための最初の +NetWare ディレクトリサービスの名前を指定します。 +.RE +.PP +.B option \fBnds-servers\fR \fIip-address\fR [\fB,\fR \fIip-address\fR... ]\fB;\fR +.RS 0.25i +.PP +.\" metal +nds-servers オプションは、NDS サーバの IP アドレスのリストを指定します。 +.RE +.PP +.B option \fBnds-tree-name\fR \fIstring\fR\fB;\fR +.RS 0.25i +.PP +.\" metal +nds-tree-name オプションは、NDS クライアントが使用すべき NDS ツリーの +名前を指定します。 +.RE +.PP +.B option \fBnetbios-dd-server\fR \fIip-address\fR [\fB,\fR \fIip-address\fR... +]\fB;\fR +.RS 0.25i +.PP +NetBIOS データグラム配布サーバ (NBDD) オプションは、 +RFC 1001/1002 の NBDD サーバのリストを、優先されるものから順に指定します。 +.RE +.PP +.B option \fBnetbios-name-servers\fR \fIip-address\fR [\fB,\fR \fIip-address\fR...]\fB;\fR +.RS 0.25i +.PP +NetBIOS ネームサーバ (NBNS) オプションは、 RFC 1001/1002 の +NBNS ネームサーバのリストを、優先されるものから順に指定します。 +現在では、NetBIOS ネームサービスは WINS と呼ばれることの方が多いです。 +netbios-name-servers オプションを使用して、WINS サーバを指定可能です。 +.RE +.PP +.B option \fBnetbios-node-type\fR \fIuint8\fR\fB;\fR +.RS 0.25i +.PP +NetBIOS ノードタイプオプションは、 +設定可能な NetBIOS over TCP/IP クライアントを、 +RFC 1001/1002 に記述されているように設定します。 +値は単一のオクテットとして指定され、クライアントタイプを意味します。 +.PP +使用可能なノードタイプは次の通りです: +.PP +.TP 5 +.I 1 +B ノード: ブロードキャスト - WINS 無し +.TP +.I 2 +P ノード: ピア - WINS のみ +.TP +.I 4 +M ノード: ミックス - ブロードキャスト後に WINS +.TP +.I 8 +H ノード: ハイブリッド - WINS 後にブロードキャスト +.RE +.PP +.B option \fBnetbios-scope\fR \fIstring\fR\fB;\fR +.RS 0.25i +.PP +NetBIOS スコープオプションは、RFC 1001/1002 に規定されているように、 +クライアントの NetBIOS over TCP/IP スコープパラメータを指定します。 +文字集合の制約については RFC1001, RFC1002, RFC1035 を参照してください。 +.RE +.PP +.B option \fBnis-domain\fR \fItext\fR\fB;\fR +.RS 0.25i +.PP +本オプションは、クライアントの NIS (Sun Network Information Services) +ドメインを指定します。 +ドメインの書式は、NVT ASCII 文字集合の文字からなる文字列です。 +.RE +.PP +.B option \fBnis-servers\fR \fIip-address\fR [\fB,\fR \fIip-address\fR... +]\fB;\fR +.RS 0.25i +.PP +本オプションは、クライアントが利用可能な NIS サーバを示す IP アドレスの +リストを指定します。 +サーバは、優先されるものから順にリストしてください。 +.RE +.PP +.B option \fBnisplus-domain\fR \fItext\fR\fB;\fR +.RS 0.25i +.PP +本オプションは、クライアントの NIS+ ドメインの名前を指定します。 +ドメインの書式は、NVT ASCII 文字集合の文字からなる文字列です。 +.RE +.PP +.B option \fBnisplus-servers\fR \fIip-address\fR [\fB,\fR \fIip-address\fR... +]\fB;\fR +.RS 0.25i +.PP +本オプションは、クライアントが利用可能な NIS+ サーバを示す IP アドレスの +リストを指定します。 +サーバは、優先されるものから順にリストしてください。 +.RE +.PP +.B option \fBnntp-server\fR \fIip-address\fR [\fB,\fR +\fIip-address\fR... ]\fB;\fR +.RS 0.25i +.PP +NNTP サーバオプションは、クライアントが利用可能な +NNTP サーバのリストを指定します。 +サーバは、優先されるものから順にリストしてください。 +.RE +.PP +.B option \fBnon-local-source-routing\fR \fIflag\fR\fB;\fR +.RS 0.25i +.PP +本オプションは、非ローカルな指定経路 (non-local source route) を持つ +データグラムを転送するように、クライアントが自分の IP 層を設定すべきかを +指定します (本項目については [4] の 3.3.5 節を参照してください)。 +値 false はそのようなデータグラムの転送を許可しないことを意味し、 +値 true は転送許可を意味します。 +.RE +.PP +.B option \fBntp-servers\fR \fIip-address\fR [\fB,\fR \fIip-address\fR... +]\fB;\fR +.RS 0.25i +.PP +本オプションは、クライアントが利用可能な NTP (RFC 1035) サーバを示す +IP アドレスを指定します。 +サーバは、優先されるものから順にリストしてください。 +.RE +.PP +.B option \fBnwip-domain\fR \fIstring\fR\fB;\fR +.RS 0.25i +.PP +.\" metal +NetWare/IP クライアントが使用すべき NetWare/IP ドメインの名前です。 +.RE +.PP +.B option \fBnwip-suboptions\fR \fIstring\fR\fB;\fR +.RS 0.25i +.PP +.\" metal +NetWare/IP クライアント用のサブオプションのシーケンスです。 +詳しくは RFC2242 を参照してください。 +通常、本オプションは特定の NetWare/IP サブオプションを指定することで +設定されます。 +さらなる情報は「NetWare/IP サブオプション」の章を参照してください。 +.RE +.PP +.B option \fBpath-mtu-aging-timeout\fR \fIuint32\fR\fB;\fR +.RS 0.25i +.PP +本オプションは、RFC 1191 で定義される機構で発見されたパス MTU 値の +エージングに使用するタイムアウト (秒単位) を指定します。 +.RE +.PP +.B option \fBpath-mtu-plateau-table\fR \fIuint16\fR [\fB,\fR \fIuint16\fR... +]\fB;\fR +.RS 0.25i +.PP +本オプションは、RFC 1191 で定義されるパス MTU 探索 (Path MTU Discovery) +実施時に使用される MTU のサイズの表を指定します。 +表の書式は、最小から順に最大までの、16 ビット符号無し整数のリストです。 +最小 MTU は 68 より小さくてはなりません。 +.RE +.PP +.B option \fBperform-mask-discovery\fR \fIflag\fR\fB;\fR +.RS 0.25i +.PP +本オプションは、クライアントが ICMP を使用してサブネットマスク探索を +実施すべきかを指定します。 +値 false は、クライアントがマスク探索を実施すべきでないことを意味します。 +値 true は、クライアントがマスク探索を実施すべきであることを意味します。 +.RE +.PP +.nf +.B option \fBpolicy-filter\fR \fIip-address ip-address\fR + [\fB,\fR \fIip-address ip-address\fR...]\fB;\fR +.RE +.fi +.RS 0.25i +.PP +本オプションは、非ローカルな指定経路制御に対するポリシフィルタを指定します。 +フィルタは、IP アドレスとマスクの組のリストからなり、 +到着する指定経路制御されたデータグラム用のフィルタとなる +宛先/マスクの組を指定します。 +.PP +次ホップアドレスがフィルタのいずれにも適合しない指定経路制御された +データグラムは、クライアントが破棄すべきです。 +.PP +さらなる情報は STD 3 (RFC1122) を参照してください。 +.RE +.PP +.B option \fBpop-server\fR \fIip-address\fR [\fB,\fR \fIip-address\fR... ]\fB;\fR +.RS 0.25i +.PP +POP3 サーバオプションは、クライアントが利用可能な +POP3 サーバのリストを指定します。 +サーバは、優先されるものから順にリストしてください。 +.RE +.PP +.B option \fBresource-location-servers\fR \fIip-address\fR + [\fB, \fR\fIip-address\fR...]\fB;\fR +.fi +.RS 0.25i +.PP +本オプションは、クライアントが利用可能な +RFC 887 リソースロケーションサーバのリストを指定します。 +サーバは、優先されるものから順にリストしてください。 +.RE +.PP +.B option \fBroot-path\fR \fItext\fB;\fR\fR +.RS 0.25i +.PP +本オプションは、クライアントのルートディスクが含まれるパス名を指定します。 +パスの書式は、NVT ASCII 文字集合の文字からなる文字列です。 +.RE +.PP +.B option \fBrouter-discovery\fR \fIflag\fR\fB;\fR +.RS 0.25i +.PP +本オプションは、RFC 1256 で定義されるルータ探索 (Router Discovery) 機構を +使用して、ルータを要請すべきかを指定します。 +値 false は、クライアントがルータ探索を実施すべきでないことを意味します。 +値 true は、クライアントはルータ探索を実施すべきであることを意味します。 +.RE +.PP +.B option \fBrouter-solicitation-address\fR \fIip-address\fR\fB;\fR +.RS 0.25i +.PP +本オプションは、クライアントのルータ要請の送出先アドレスを指定します。 +.RE +.PP +.B option routers \fIip-address\fR [\fB,\fR \fIip-address\fR... +]\fB;\fR +.RS 0.25i +.PP +routers オプションは、クライアントのサブネット上にあるルータの +IP アドレスのリストを指定します。 +ルータは、優先されるものから順にリストしてください。 +.RE +.PP +.B option slp-directory-agent \fIboolean ip-address +[\fB,\fR \fIip-address\fR... ]\fB;\fR +.RS 0.25i +.PP +.\" metal +本オプションは、2 つの項目を指定します: +1 つ以上のサービスロケーションプロトコルディレクトリエージェント +(Service Location Protocol Directory Agent) の IP アドレスと、 +これらのアドレスの使用が強制的かどうかです。 +最初のブール値が true であれば、SLP エージェントは、ただ与えられた +IP アドレスのみを使用すべきです。 +値が false であれば、SLP エージェントは、SLP エージェントの +能動的もしくは受動的なマルチキャスト探索を追加で行っても構いません +(詳しくは RFC2165 を参照してください)。 +.PP +本オプションと slp-service-scope オプションにおいて、 +「SLP エージェント」とは、DHCP プロトコルを用いて設定されたマシン上で +動作しているサービスロケーションプロトコルエージェントを指していることに +注意してください。 +.PP +また、いくつかの企業は SLP を NDS と呼んでいることも気を付けてください。 +もし NDS ディレクトリエージェントがあり、そのアドレスを設定する必要が +ある場合は、 slp-directory-agent オプションが利用できるはずです。 +.RE +.PP +.B option slp-service-scope \fIboolean text\fR\fB;\fR +.RS 0.25i +.PP +.\" metal +サービスロケーションプロトコルのサービススコープオプションは、 +2 つの項目を指定します: +SLP 用のサービススコープのリストと、このリストの使用が強制的かどうかです。 +最初のブール値が true であれば、SLP エージェントは、本オプションにより +提供されるスコープのリストのみを使用すべきです。 +そうでなければ、このオプションで提供されるリストに優先して、 +それぞれの固有的の設定を使っても構いません。 +.PP +text 文字列は、SLP エージェントが使用すべきスコープの、コンマ区切りの +リストとしてください。 +これは省略可能で、その場合 SLP エージェントは、自分が知っている +すべてのディレクトリエージェントのスコープの一括リストを使います。 +.RE +.PP +.B option \fBsmtp-server\fR \fIip-address\fR [\fB,\fR +\fIip-address\fR... ]\fB;\fR +.RS 0.25i +.PP +SMTP サーバオプションは、クライアントが利用可能な SMTP サーバのリストを +指定します。 +サーバは、優先されるものから順にリストしてください。 +.RE +.PP +.nf +.B option \fBstatic-routes\fR \fIip-address ip-address\fR + [\fB,\fR \fIip-address ip-address\fR...]\fB;\fR +.fi +.RS 0.25i +.PP +本オプションは、クライアントが経路キャッシュに組み込むべき +静的経路のリストを指定します。 +同じ宛先に対して複数の経路が指定されている場合は、 +優先度が低くなる順序でリストされます。 +.PP +経路は IP アドレスの組のリストからなります。 +最初のアドレスは宛先アドレスであり、 +2 番目のアドレスはその宛先に対するルータのアドレスです。 +.PP +デフォルト経路 (0.0.0.0) は、静的経路に対しては不正な宛先です。 +デフォルト経路を指定するには、 +.B routers +オプションを使用してください。 +また、本オプションは、クラスレスな IP 経路制御を意図したものでは +ないことに注意して下さい。 +これはサブネットマスクを含んでいません。 +現在、クラスレスな IP 経路制御は、もっとも広く展開されている +経路制御標準なので、本オプションは実質的に無意味です。 +そして、マイクロソフト DHCP クライアントをはじめとするよく知られた +DHCP クライアントには実装されていません。 +.RE +.PP +.nf +.B option \fBstreettalk-directory-assistance-server\fR \fIip-address\fR + [\fB,\fR \fIip-address\fR...]\fB;\fR +.fi +.RS 0.25i +.PP +StreetTalk Directory Assistance (STDA) サーバオプションは、 +クライアントが利用可能な STDA のリストを指定します。 +サーバは、優先されるものから順にリストしてください。 +.RE +.PP +.B option \fBstreettalk-server\fR \fIip-address\fR [\fB,\fR \fIip-address\fR... ]\fB;\fR +.RS 0.25i +.PP +StreetTalk サーバオプションは、 +クライアントが利用可能な StreetTalk のリストを指定します。 +サーバは、優先されるものから順にリストしてください。 +.RE +.PP +.B option subnet-mask \fIip-address\fR\fB;\fR +.RS 0.25i +.PP +サブネットマスクオプションは、RFC 950 に従って、 +クライアントのサブネットマスクを指定します。 +スコープ中のどこにもサブネットマスクオプションが指定されていない場合、 +最終手段として、dhcpd は、アドレスを割り当てようとしている +ネットワークのサブネット宣言から、サブネットマスクを使用します。 +しかし、アドレスを割り当てようとしているネットワークのスコープ中の +.I どのような +サブネットマスクオプション宣言であっても、 +サブネット宣言で指定されたサブネットマスクに優先します。 +.RE +.PP +.B option \fBsubnet-selection\fR \fIstring\fR\fB;\fR +.RS 0.25i +.PP +.\" metal +(要求が出されたサブネットにつながれたリレーサーバのアドレスに基づいて) +通常選択されるであろうものではないサブネットのアドレスが必要な場合、 +クライアントが送出します。 +RFC3011 を参照してください。 +このサーバにおいて使われるオプションナンバは 118 です。 +このナンバは以前からずっと定義されていたナンバではなく、 +違う値を使用するクライアントも存在することに注意してください。 +このオプションの使用は少々実験的であると考えるべきでしょう! +.PP +本オプションは、サーバではユーザが設定することはできません。 +.PP +.RE +.PP +.B option \fBswap-server\fR \fIip-address\fR\fB;\fR +.RS 0.25i +.PP +本オプションは、クライアントのスワップサーバの IP アドレスを指定します。 +.RE +.PP +.B option \fBtcp-keepalive-garbage\fR \fIflag\fR\fB;\fR +.RS 0.25i +.PP +本オプションは、古い実装との互換性のために、ゴミのオクテットと一緒に、 +TCP キープアライブメッセージをクライアントが送るべきかを指定します。 +値 false は、ゴミのオクテットを送るべきでないことを意味します。 +値 true は、ゴミのオクテットを送るべきであることを意味します。 +.RE +.PP +.B option \fBtcp-keepalive-interval\fR \fIuint32\fR\fB;\fR +.RS 0.25i +.PP +本オプションは、クライアントの TCP がキープアライブ (keepalive) +メッセージを TCP 接続上に送信する前に待つべき間隔 (秒単位) を指定します。 +時間は 32 ビット符号無し整数で指定します。 +値 0 は、アプリケーションが明示的に要求しない限り、クライアントが +接続上にキープアライブメッセージを生成すべきでないことを意味します。 +.RE +.PP +.B option \fBtftp-server-name\fR \fItext\fR\fB;\fR +.RS 0.25i +.PP +本オプションは TFTP サーバを指定するのに使用され、クライアントが +サポートしている場合には \fBserver-name\fR 宣言と同じ効果を持ちます。 +BOOTP クライアントは、本オプションをサポートしないでしょう。 +DHCP クライアントによってはサポートしているものがあり、 +実際必須としているものがあります。 +.RE +.PP +.B option time-offset \fIint32\fR\fB;\fR +.RS 0.25i +.PP +time-offset オプションは、協定世界時 (UTC) を基点として、 +クライアントのサブネットのオフセットを秒で指定します。 +.RE +.PP +.B option time-servers \fIip-address\fR [, \fIip-address\fR... +]\fB;\fR +.RS 0.25i +.PP +time-server オプションは、クライアントが利用可能な RFC 868 時刻サーバの +リストを指定します。 +サーバは、優先されるものから順にリストしてください。 +.RE +.PP +.B option \fBtrailer-encapsulation\fR \fIflag\fR\fB;\fR +.RS 0.25i +.PP +本オプションは、ARP プロトコル使用時に、クライアントがトレイラ使用の +ネゴシエーション (RFC 893 [14]) をすべきかを指定します。 +値 false は、クライアントがトレイラ使用を試みるべきでないと意味します。 +値 true は、クライアントがトレイラ使用を試みるべきであると意味します。 +.RE +.PP +.B option \fBuap-servers\fR \fItext\fR\fB;\fR +.RS 0.25i +.PP +.\" metal +本オプションは、ユーザ認証プロトコル (UAP) に包まれた認証要求を +処理する能力のあるユーザ認証サービスをそれぞれ指している +URL のリストを指定します。 +UAP サーバは HTTP 1.1 接続も SSLv3 接続も受け取ることができます。 +リストに含まれた URL にポート部分が含まれてない場合は、 +通常のデフォルトポートが仮定されます +(つまり http には 80 番、https には 443 番)。 +リストに含まれた URL にパスの部分が含まれてない場合は、 +パスは /uap と仮定されます。 +2 つ以上の URL がこのリストに指定された場合、URL は空白で区切られます。 +.RE +.PP +.B option \fBuser-class\fR \fIstring\fR\fB;\fR +.RS 0.25i +.PP +.\" metal +本オプションは、ユーザが識別情報をクライアントに指定する手段として、 +いくつかの DHCP クライアントで使われます。 +これは vendor-class-identifier オプションと同様に使われますが、 +その値は、ベンダではなく、ユーザによって指定されます。 +最近のほとんどの DHCP クライアントは、この識別子に値を指定するための +ユーザインタフェースを備えています。 +この識別子は、通常テキスト文字列です。 +.RE +.PP +.B option \fBvendor-class-identifier\fR \fIstring\fR\fB;\fR +.RS 0.25i +.PP +.\" metal +本オプションは、ベンダタイプや、可能であれば DHCP クライアントの設定を +識別するために、いくつかの DHCP クライアントで使われます。 +この情報の内容は、ベンダ固有のバイト文字列で、標準では規定されていません。 +クライアントが送出するベンダクラス識別子を確認するには、 +以下の設定を DHCP サーバ設定ファイルに加えてください: +.nf +.PP +set vendor-class option vendor-class-identifier; +.fi +.PP +この設定は、DHCP サーバのリースデータベースファイル中の、 +以下のような set 文を持つ vendor-class-identifier オプションを +送ってくるクライアントすべてのエントリに作用します。 +.nf +.PP +set vendor-class "SUNW.Ultra-5_10"; +.fi +.PP +vendor-class-identifier オプションは、通常 DHCP Server によって、 +.B vendor-encapsulated-options +オプション中で返されるオプションを決定するのに使われます。 +さらなる情報は、dhcpd.conf マニュアルページの VENDOR ENCAPSULATED OPTIONS の +章を参照してください。 +.RE +.PP +.B option \fBvendor-encapsulated-options\fR \fIstring\fR\fB;\fR +.RS 0.25i +.PP +.\" metal +\fBvendor-encapsulated-options\fR オプションは、1 つのベンダ固有値、 +もしくは 1 つまたはそれ以上のベンダ固有サブオプションを含みます。 +本オプションは、通常 DHCP サーバの設定ファイルで設定されるものでは +ありません。 +通常は、ベンダクラスがベンダ毎に定義され、 +ベンダクラスサブオプションが定義され、そのサブオプションの値が +定義され、DHCP サーバはそれらをもとに応答を組み上げます。 +.PP +よく知られた DHCP クライアントベンダ (今のところ Microsoft Windows +2000 DHCP クライアント) 向けのいくつかのデフォルトの動作では、 +このオプションは自動的に設定されますが、その他のものに関しては、 +手動で設定しなければなりません。 +詳細は \fIdhcpd.conf\fI の VENDOR ENCAPSULATED OPTIONS の章を +参照してください。 +.RE +.PP +.B option \fBwww-server\fR \fIip-address\fR [\fB,\fR +\fIip-address\fR... ]\fB;\fR +.RS 0.25i +.PP +WWW サーバオプションは、クライアントが利用可能な +WWW サーバのリストを指定します。 +サーバは、優先されるものから順にリストしてください。 +.RE +.PP +.B option \fBx-display-manager\fR \fIip-address\fR [\fB,\fR \fIip-address\fR... +]\fB;\fR +.RS 0.25i +.PP +本オプションは、クライアントが利用可能な X Window System +ディスプレイマネージャを実行しているシステムのリストを指定します。 +アドレスは、優先されるものから順にリストしてください。 +.RE +.SH リレーエージェント情報オプション +.\" metal +IETF ドラフト draft-ietf-dhc-agent-options-11.txt には、 +DHCP リレーエージェントが DHCP パケットを DHCP サーバに転送する際、 +DHCP パケットに付加することのできる一連のカプセル化されたオプションが +定義されています。 +サーバは、これらのオプションに基づき、アドレス割当の決定 +(や、その他の判断) を行うことができます。 +またサーバは、リレーエージェントを通して返されるどのパケットにも +これらのオプションを入れて返します。 +これによってリレーエージェントは、配送やアカウンティングなどを +行うために、これらのオプションに含まれる情報を利用できます。 +.PP +現在のドラフトには 2 つのオプションが定義されています。 +DHCP サーバでこれらのオプションを参照するには、オプション空間名 +"agent" のあとにピリオドをつけ、その後にオプション名を続けてください。 +サーバでこれらのオプションの値を定義することは、 +通常あまり有効ではありませんが、許容されています。 +これらのオプションは、クライアントではサポートされていません。 +.PP +.B option \fBagent.circuit-id\fR \fIstring\fR\fB;\fR +.RS 0.25i +.PP +circuit-id サブオプションは、クライアントからサーバへの DHCP パケットを +受け取ったサーキットを示す、エージェントローカルなサーキット識別子を +エンコードしています。 +これは、DHCP 応答を適切なサーキットへと送り返せるよう、 +エージェントによって使われることを意図しています。 +現在、このオプションの書式の定義はベンダ依存となっており、 +多分このまま残されるでしょう。 +しかし将来この書式が標準化される可能性も、現在のドラフトには残されています。 +.RE +.PP +.B option \fBagent.remote-id\fR \fIstring\fR\fB;\fR +.RS 0.25i +.PP +remote-id サブオプションは、サーキットの終端のリモートホストの +情報をエンコードしています。 +これに含まれるであろう情報は、次のようなものです。 +呼出元 ID 情報、ユーザ名情報、リモート ATM アドレス、ケーブルモデム ID、 +その他の同様な情報。 +原則的には、このオプションの意味はちゃんと定義されていません。 +しかし通常、サーキットの特定のリモートエンドに対して一意であるよう +管理上保証された、なんらかのオブジェクトと考えるべきものです。 +.RE +.SH クライアント FQDN サブオプション +.\" metal +現在、インターネットドラフト draft-ietf-dhc-fqdn-option-00.txt で +定義されているクライアント FQDN オプションは、まだ標準となってはいません。 +しかしすでに十分広く利用されており、我々もこれを実装しています。 +オプションの書式が複雑なため、ここでは、単独のオプションではなく、 +サブオプション空間に実装しています。 +一般的には、本オプションは、ユーザによって設定されるものではなく、 +自動 DNS 更新システムの一部として使われるべきものです。 +.PP +.B option fqdn.no-client-update \fIflag\fB; +.RS 0.25i +.PP +本オプションがクライアントから送出された場合、これが true であれば、 +クライアントは自分の A レコードを更新しないことを意味します。 +サーバからクライアントに送出された場合は、クライアントは +自分の A レコードを更新する \fIべきではない\fR ことを意味します。 +.RE +.PP +.B option fqdn.server-update \fIflag\fB; +.RS 0.25i +.PP +本オプションがクライアントからサーバに送出された場合、 +サーバにクライアントの A レコードの更新を要求しています。 +サーバから送出された場合、サーバがクライアントの A レコードを +更新した (もしくはもうすぐ更新するところ) であることを意味します。 +.RE +.PP +.B option fqdn.encoded \fIflag\fB; +.RS 0.25i +.PP +true であった時、オプションに含まれるドメイン名が、 +ただの ASCII テキストではなく、DNS ワイヤフォーマットで +エンコードされていることを示してます。 +クライアントは、自分が FQDN オプションの DNS ワイヤフォーマットを +サポートしてない場合、通常このサブオプションを false に設定します。 +サーバは常に、クライアントが設定したのと同じ値を設定して返すべきです。 +この値が設定ファイルに設定されていた時は、\fIfqdn.fqdn\fR サブオプションを +エンコードするフォーマットを制御します。 +.RE +.PP +.B option fqdn.rcode1 \fIflag\fB; +.PP +.B option fqdn.rcode2 \fIflag\fB; +.RS 0.25i +.PP +これらのオプションはそれぞれ、A レコードと PTR レコードの更新結果を示します。 +これらは、DHCP サーバから DHCP クライアントへのみ送られます。 +これらのフィールドの値は、DNS プロトコル規格により定義されています。 +.RE +.PP +.B option fqdn.fqdn \fItext\fB; +.RS 0.25i +.PP +クライアントが使用を望むドメイン名を指定します。 +これは完全修飾されたドメイン名でも、単一のラベルでも構いません。 +もし名前に '.' 文字が含まれなければ、その名前は完全修飾されておらず、 +サーバは通常、ローカルに定義されたドメイン中のその名前を更新します。 +.RE +.PP +.B option fqdn.hostname \fI--never set--\fB; +.RS 0.25i +.PP +このオプションは設定してはなりません。 +式中で \fBoption\fR および \fBconfig-option\fR のオペレータを使用することにより +読み取ることができます。 +この場合、\fBfqdn.fqdn\fR サブオプション中の最初のラベルを返します。 +例えば、\fBfqdn.fqdn\fR の値が "foo.example.com." の場合、 +\fBfqdn.hostname\fR は "foo" になります。 +.RE +.PP +.B option fqdn.domainname \fI--never set--\fB; +.RS 0.25i +.PP +このオプションは設定してはなりません。 +式中で \fBoption\fR および \fBconfig-option\fR のオペレータを使用することにより +読み取ることができます。 +この場合、\fBfqdn.fqdn\fR サブオプション中の +最初のラベルより後すべてを返します。 +例えば、\fBfqdn.fqdn\fR の値が "foo.example.com." の場合、 +\fBfqdn.hostname\fR は "example.com" になります。 +このサブオプション値が設定されていない場合、 +fqdn オプションで完全ではない名前が送られたか、 +fqdn オプションがまったく送られていないことを意味します。 +.RE +.PP +もしこれらのサブオプションを使用しようと思っているのであれば、 +クライアント FQDN オプションのドラフト (もしくは、標準になった時はその標準) +を参照することを強く推奨します。 +この文書は、そのドラフトに比べて大雑把で不完全であり、 +クライアント FQDN オプション規格をすでに理解している人に参照されることを +単に意図しているものです。 +.SH NetWare/IP サブオプション +.\" metal +RFC2242 は、Novell の NetWare/IP クライアント用のカプセル化された +オプションの組を定義しています。 +DHCP サーバにおいてこれらのオプションを使用するには、オプション空間名 +"nwip" の後にピリオドをつけ、その後にオプション名を続けてください。 +以下のオプションが指定できます: +.PP +.B option \fBnwip.nsq-broadcast\fR \fIflag\fR\fB;\fR +.RS 0.25i +.PP +true であった場合、クライアントは、NetWare/IP サーバの位置を +探すのに NetWare Nearest Server Query を使うべきです。 +本サブオプションが false であった場合、もしくは指定されなかった場合の +Novell クライアントの動作は規定されていません。 +.PP +.RE +.B option \fBnwip.preferred-dss\fR \fIip-address\fR [\fB,\fR \fIip-address\fR... ]\fR\fB;\fR +.RS 0.25i +.PP +本サブオプションには、5 つまでの IP アドレスのリストを指定します。 +それぞれのアドレスは、NetWare ドメイン SAP/RIP サーバ (DSS) の +IP アドレスです。 +.RE +.PP +.B option \fBnwip.nearest-nwip-server\fR \fI\fIip-address\fR + [\fB,\fR \fIip-address\fR...]\fR\fB;\fR +.RS 0.25i +.PP +本サブオプションには、5 つまでの IP アドレスのリストを指定します。 +それぞれのアドレスは、近接の NetWare IP サーバ +(Nearest NetWare IP Server) の IP アドレスです。 +.RE +.PP +.B option \fBnwip.autoretries\fR \fIuint8\fR\fB;\fR +.RS 0.25i +.PP +起動時に、NetWare/IP クライアントが、与えられた DSS サーバと +何回通信を試みるべきかを指定します。 +.RE +.PP +.B option \fBnwip.autoretry-secs\fR \fIuint8\fR\fB;\fR +.RS 0.25i +.PP +起動時に、NetWare/IP クライアントが、与えられた DSS サーバと +通信を確立する時に、リトライの間何秒待つべきかを指定します。 +.RE +.PP +.B option \fBnwip.nwip-1-1\fR \fIuint8\fR\fB;\fR +.RS 0.25i +.PP +true であった場合、NetWare/IP クライアントは NetWare/IP +バージョン 1.1 をサポートしているべきです。 +これは、クライアントが NetWare/IP バージョン 1.1 のサーバと +通信する時のみ必要です。 +.RE +.PP +.B option \fBnwip.primary-dss\fR \fIip-address\fR\fB;\fR +.RS 0.25i +.PP +NetWare/IP ドメインのプライマリドメイン SAP/RIP サービスサーバ +(DSS) の IP アドレスを指定します。 +セカンダリ DSS サーバの設定時に、NetWare/IP 管理ユーティリティは、 +この値をプライマリ DSS サーバとして使用します。 +.RE +.SH 新規オプションの定義 +.\" metal +Internet Systems Consortium DHCP クライアントとサーバは、 +新規オプションを定義する機構も提供しています。 +それぞれの DHCP オプションは、名前とコード、構造を持っています。 +名前は、使用者がオプションを参照するのに使用されます。 +コードは、DHCP サーバとクライアントがオプションを参照するのに +使用する番号です。 +構造は、オプションの内容がどのようなものかを記述しています。 +.PP +新規オプションを定義するには、他のオプションでは使われていない名前を +選ぶ必要があります。 +例えば、"host-name" と言う名前は使用できません。 +というのも、このマニュアルページに出てきたように、 +DHCP プロトコルが既に host-name オプションを定義しているからです。 +このマニュアルページに出てきていないオプション名ならば +使っても構いませんが、将来出てくるオプションと重ならないように、 +オプション名の最初に独自の文字列をつけることは、多分いい考えでしょう。 +例えば、公式の DHCP オプションには "local" で始まるものがないので、 +"local-host-name" と言う名前は、いくらか安心して定義できるでしょう。 +.PP +名前を選択したら、次はコードを選ばねばなりません。 +DHCP オプションの 128 から 256 までのコードは、 +サイトローカルオプション用として予約されているので、 +この中のコードならどれでも選ぶことができます。 +実際には、プロトコルを少々あいまいに解釈しているベンダがあり、 +128 より大きい値のオプションコードを使用しています。 +この問題を本当に回避する方法はありませんが、 +実際にはそう大きな問題を引き起こすものではないでしょう。 +.PP +オプションの構造とは、単にオプションのデータが表現されている形式です。 +現在 ISC DHCP サーバは、整数、ブール値、文字列そして IP アドレスといった、 +いくつかの単純なデータ型をサポートしており、 +また単一データ型の配列や固定順のデータ型列の配列を定義することもできます。 +.PP +新規オプションは、以下のように宣言されます: +.PP +.B option +.I new-name +.B code +.I new-code +.B = +.I definition +.B ; +.PP +.I new-name +と +.I new-code +の値は、新規オプション用にあなたが選んだものです。 +.I definition +は、オプションの構造の定義です。 +.PP +以下の単純なオプションの型定義がサポートされています: +.PP +.B ブール値 +.PP +.B option +.I new-name +.B code +.I new-code +.B = +.B boolean +.B ; +.PP +ブール型のオプションは、on または off (もしくは true か false) の値を +持つフラグです。 +ブール型の使用例は、以下のようになります: +.nf + +option use-zephyr code 180 = boolean; +option use-zephyr on; + +.fi +.B 整数 +.PP +.B option +.I new-name +.B code +.I new-code +.B = +.I sign +.B integer +.I width +.B ; +.PP +\fIsign\fR トークンは、空白、\fIunsigned\fR、\fIsigned\fR のいずれかです。 +width は 8, 16, 32 のいずれかで、整数の bit 数を示します。 +例えば、以下の 2 行は、sql-connection-max オプションの定義と +使用法を示します: +.nf + +option sql-connection-max code 192 = unsigned integer 16; +option sql-connection-max 1536; + +.fi +.B IP アドレス +.PP +.B option +.I new-name +.B code +.I new-code +.B = +.B ip-address +.B ; +.PP +IP アドレス型の構造を持つオプションは、ドメイン名もしくは +ドット区切りの 4 整数で表現されます。 +以下は、IP アドレス型の使用例です: +.nf + +option sql-server-address code 193 = ip-address; +option sql-server-address sql.example.com; + +.fi +.PP +.B テキスト +.PP +.B option +.I new-name +.B code +.I new-code +.B = +.B text +.B ; +.PP +テキスト型のオプションは、ASCII テキスト文字列をエンコードします。 +例えば: +.nf + +option sql-default-connection-name code 194 = text; +option sql-default-connection-name "PRODZA"; + +.fi +.PP +.B データ文字列 +.PP +.B option +.I new-name +.B code +.I new-code +.B = +.B string +.B ; +.PP +データ文字列型のオプションは、本質的には単なるバイトの集合体です。 +テキスト型のようにクォートされたテキストで指定されるか、 +もしくはコロン区切りの 16 進数のリストで指定されます。 +この時コロンで区切られた中身は、0 から FF の間の値でなければなりません。 +例えば: +.nf + +option sql-identification-token code 195 = string; +option sql-identification-token 17:23:19:a6:42:ea:99:7c:22; + +.fi +.PP +.B カプセル化 +.PP +.B option +.I new-name +.B code +.I new-code +.B = +.B encapsulate +.I identifier +.B ; +.PP +カプセル化型のオプションは、\fIidentifier\fR で指定された +オプション空間の中身をカプセル化します。 +現在 DHCP プロトコルに存在するカプセル化オプションの例は、 +vendor-encapsulated-options オプション、netware-suboptions オプション、 +relay-agent-information オプションなどです。 +.nf + +option space local; +option local.demo code 1 = text; +option local-encapsulation code 197 = encapsulate local; +option local.demo "demo"; + +.fi +.PP +.B 配列 +.PP +オプションは、テキスト型とデータ文字列型以外の上述のいかなるデータ型の +配列も含むことができます。 +テキスト型とデータ文字列型は、現在配列ではサポートされていません。 +配列定義の例は以下の通りです: +.nf + +option kerberos-servers code 200 = array of ip-address; +option kerberos-servers 10.20.10.1, 10.20.11.1; + +.fi +.B レコード +.PP +オプションは、データ型の列で構成されるデータ構造を含むこともできます。 +これはしばしばレコード型と呼ばれます。 +例えば: +.nf + +option contrived-001 code 201 = { boolean, integer 32, text }; +option contrived-001 on 1772 "contrivance"; + +.fi +またレコードの配列のオプションを持つこともできます。 +例えば: +.nf + +option new-static-routes code 201 = array of { + ip-address, ip-address, ip-address, integer 8 }; +option static-routes + 10.0.0.0 255.255.255.0 net-0-rtr.example.com 1, + 10.0.1.0 255.255.255.0 net-1-rtr.example.com 1, + 10.2.0.0 255.255.224.0 net-2-0-rtr.example.com 3; + +.fi +.SH ベンダカプセル化オプション +.\" metal +DHCP プロトコルには、\fB vendor-encapsulated-options\fR オプションが +定義されています。 +ベンダは、このオプションによって、ベンダ固有のオプションを +標準 DHCP オプションに含めて送出することができます。 +.B vendor-encapsulated-options +オプションの書式は、書式が規定されていない一連のバイト列、 +もしくは一連のオプション列です。 +オプション列中のそれぞれのオプションは、1 バイトのベンダ固有の +オプションコードの後に 1 バイトのデータ長、 +そしてそのデータ長で指定された大きさのデータが続いたもので構成されます +(データ長には、データ長自身やオプションコードは含まれません)。 +.PP +本オプションの値は、2 つの方法のいずれかで設定されます。 +1 番目の方法は、単にデータを直接指定するものです。 +データの指定には、テキスト文字列かコロンで区切られた 16 進数値を用います。 +例えば: +.PP +.nf +option vendor-encapsulated-options + 2:4:AC:11:41:1: + 3:12:73:75:6e:64:68:63:70:2d:73:65:72:76:65:72:31:37:2d:31: + 4:12:2f:65:78:70:6f:72:74:2f:72:6f:6f:74:2f:69:38:36:70:63; +.fi +.PP +本オプションを設定する 2 番目の方法は、DHCP サーバに +ベンダ固有オプションバッファを作成させるというものです。 +これをするには、以下の 4 つのことをする必要があります: +オプション空間を定義し、そのオプション空間内にオプションを定義し、 +それらへ値を割り振り、最後にそのオプション空間が +.B vendor-encapsulated-options +オプションの生成に使用されることを指定します。 +.PP +ベンダオプションが格納されるオプション空間を新規に定義するには、 +\fRoption space\fP 文を使用します: +.PP +.B option +.B space +.I name +.B ; +.PP +この文書にこれまで書かれているように、 +この name は、オプション定義で使用することができます。 +例えば: +.nf + +option space SUNW; +option SUNW.server-address code 2 = ip-address; +option SUNW.server-name code 3 = text; +option SUNW.root-path code 4 = text; + +.fi +一度、オプション空間とオプションの書式を定義したら、 +それらのオプションの値を定義するスコープを設定でき、 +それらのオプションをいつ使うかを指定することができます。 +例えば、2 つの異なるクラスのクライアントを扱いたいとしましょう。 +前述の例で示したオプション空間の定義を使って、以下のように、 +クライアントから送られてきた vendor-class-identifier オプションに基づいて、 +異なるオプションの値を異なるクライアントに送出することができます。 +.PP +.nf +class "vendor-classes" { + match option vendor-class-identifier; +} + +option SUNW.server-address 172.17.65.1; +option SUNW.server-name "sundhcp-server17-1"; + +subclass "vendor-classes" "SUNW.Ultra-5_10" { + vendor-option-space SUNW; + option SUNW.root-path "/export/root/sparc"; +} + +subclass "vendor-classes" "SUNW.i86pc" { + vendor-option-space SUNW; + option SUNW.root-path "/export/root/i86pc"; +} +.fi +.PP +先の例で見たように、通常のスコープルールを適用することで、 +グローバルな値をグローバルスコープ中に定義でき、 +特定のクラスに固有の値だけをローカルスコープに定義できます。 +\fBvendor-option-space\fR 宣言を使うことで、 +.B vendor-encapsulated-options +オプションを構成するのに、SUNW オプション空間内のオプションを使うよう +DHCP サーバに指示することができます。 +.SH 関連項目 +dhclient.conf(5), dhcp-eval(5), +dhclient(8), RFC2132, RFC2131 +.SH 作者 +Internet Systems Consortium DHCP Distribution +は、Vixie Labs との契約のもとで、Ted Lemon が記述しました。 +本プロジェクトの資金は、Internet Systems Consortium が提供しました。 +Internet Systems Consortium に関する情報は、 +.B http://www.isc.org +にあります。 diff --git a/documentation/manual-pages/ja/man5/dir.5 b/documentation/manual-pages/ja/man5/dir.5 new file mode 100644 index 0000000000..33ca668cea --- /dev/null +++ b/documentation/manual-pages/ja/man5/dir.5 @@ -0,0 +1,171 @@ +.\" Copyright (c) 1983, 1991, 1993 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. All advertising materials mentioning features or use of this software +.\" must display the following acknowledgement: +.\" This product includes software developed by the University of +.\" California, Berkeley and its contributors. +.\" 4. Neither the name of the University nor the names of its contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" @(#)dir.5 8.3 (Berkeley) 4/19/94 +.\" %FreeBSD: src/share/man/man5/dir.5,v 1.20 2003/09/10 19:24:35 ru Exp % +.\" +.\" $FreeBSD$ +.\" +.\" WORD: graft 接合 [mount.8] +.Dd April 19, 1994 +.Dt DIR 5 +.Os +.Sh 名称 +.Nm dir , +.Nm dirent +.Nd ディレクトリファイルフォーマット +.Sh 書式 +.In dirent.h +.Sh 解説 +ディレクトリは、土台となる記憶媒体の詳細を隠蔽し、 +ファイルをグループ分けする便利な階層手段を提供します。 +ディレクトリファイルは、その +.Xr inode 5 +エントリ中のフラグによって、通常ファイルと区別されます。 +ディレクトリファイルはレコード (ディレクトリエントリ) から構成され、 +各レコードはファイルに関する情報とそのファイル自身へのポインタを +含んでいます。 +ディレクトリエントリは、通常ファイルと同様に、 +他のディレクトリを含むこともあります。 +そのような入れ子になったディレクトリはサブディレクトリと呼ばれます。 +このようにしてディレクトリとファイルの階層構造が形成され、 +この構造はファイルシステムと呼ばれます (あるいはファイルシステムツリー +と呼ばれます)。 +.\" 以下の3行は英語版にコメントの形で含まれていたもの +.\" An entry in this tree, +.\" nested or not nested, +.\" is a pathname. +.Pp +各ディレクトリファイルには特別なディレクトリエントリが 2 つあります。 +1 つはそのディレクトリ自身へのポインタで、ドット +.Ql .\& +と呼ばれます。 +もう 1 つは自分の親ディレクトリへのポインタで、ドットドット +.Ql \&..\& +と呼ばれます。 +ドットとドットドットは有効なパス名ですが、 +システムのルートディレクトリ +.Ql / +には親ディレクトリがなく、ドットドットはドットと同じく自分自身を指します。 +.Pp +ファイルシステムノードは普通のディレクトリファイルであり、 +その上に物理ディスクやそのディスク中の分割された領域といった +ファイルシステムオブジェクトを接合します +( +.Xr mount 2 +および +.Xr mount 8 +参照)。 +.Pp +ディレクトリエントリの形式はファイル +.In sys/dirent.h +で定義されています +(これは直接アプリケーションからはインクルードされません): +.Bd -literal +#ifndef _SYS_DIRENT_H_ +#define _SYS_DIRENT_H_ + +#include <machine/ansi.h> + +/* + * dirent 構造体は、getdirentries(2) システムコールで返される + * ディレクトリエントリのフォーマットを定義します。 + * + * ディレクトリエントリはその先頭に dirent 構造体を持ちます。dirent + * 構造体は inode 番号、そのエントリの長さ、そのエントリに含まれる + * 名前の長さを保持します。その後に、ナルで 4 バイト境界までパディング + * した名前が続きます。名前は全てナルで終端していることが保証されます。 + * ディレクトリ中の名前の長さの最大値は MAXNAMLEN です。 + */ + +struct dirent { + __uint32_t d_fileno; /* エントリのファイル番号 */ + __uint16_t d_reclen; /* このレコードの長さ */ + __uint8_t d_type; /* ファイルタイプ、以下参照 */ + __uint8_t d_namlen; /* d_name の文字列長 */ +#ifdef _POSIX_SOURCE + char d_name[255 + 1]; /* 名前はこの長さを越えてはならない */ +#else +#define MAXNAMLEN 255 + char d_name[MAXNAMLEN + 1]; /* 名前はこの長さを越えてはならない */ +#endif + +}; + +/* + * ファイルタイプ + */ +#define DT_UNKNOWN 0 +#define DT_FIFO 1 +#define DT_CHR 2 +#define DT_DIR 4 +#define DT_BLK 6 +#define DT_REG 8 +#define DT_LNK 10 +#define DT_SOCK 12 +#define DT_WHT 14 + +/* + * stat 構造体型とディレクトリ型との変換 + */ +#define IFTODT(mode) (((mode) & 0170000) >> 12) +#define DTTOIF(dirtype) ((dirtype) << 12) + +/* + * _GENERIC_DIRSIZ マクロはディレクトリエントリを保持する最小レコード長を + * 与えます。これは d_name フィールド以外の dirent 構造体の空間に、ナル + * バイトで終端される名前のために十分な空間 (dp->d_namlen+1) を加えたもの + * を、4 バイト単位で繰り上げたものです。 + */ +#define _GENERIC_DIRSIZ(dp) \ + ((sizeof (struct dirent) - (MAXNAMLEN+1)) + (((dp)->d_namlen+1 + 3) &~ 3)) + +#ifdef _KERNEL +#define GENERIC_DIRSIZ(dp) _GENERIC_DIRSIZ(dp) +#endif + +#endif /* !_SYS_DIRENT_H_ */ +.Ed +.Sh 関連項目 +.Xr fs 5 , +.Xr inode 5 +.Sh バグ +struct dirent のメンバ d_type は +.Fx +固有であり、 +使用はポータブルではありません。 +また、特定のファイルシステム、例えば cd9660 ファイルシステムでは失敗します。 +.Sh 歴史 +ファイル形式 +.Nm +は +.At v7 +で登場しました。 diff --git a/documentation/manual-pages/ja/man5/disktab.5 b/documentation/manual-pages/ja/man5/disktab.5 new file mode 100644 index 0000000000..33320d39d0 --- /dev/null +++ b/documentation/manual-pages/ja/man5/disktab.5 @@ -0,0 +1,144 @@ +.\" Copyright (c) 1983, 1991, 1993 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. All advertising materials mentioning features or use of this software +.\" must display the following acknowledgement: +.\" This product includes software developed by the University of +.\" California, Berkeley and its contributors. +.\" 4. Neither the name of the University nor the names of its contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" @(#)disktab.5 8.1 (Berkeley) 6/5/93 +.\" %FreeBSD: src/share/man/man5/disktab.5,v 1.13.2.1 2004/11/09 18:05:28 yar Exp % +.\" $FreeBSD$ +.\" +.Dd June 5, 1993 +.Dt DISKTAB 5 +.Os +.Sh 名称 +.Nm disktab +.Nd ディスク記述ファイル +.Sh 書式 +.In disklabel.h +.Sh 解説 +.Nm +は、ディスクジオメトリとディスクパーティション特性を記述する +簡単なデータベースで、 +.\"by the formatter(\c +.\"IR.Xr format 8 ) +.\"to determine how to format the disk, and +ディスク上のディスクラベルを初期化する際に使われます。 +フォーマットは +.Xr termcap 5 +端末データベースと同様のパターンです。 +.Nm +内のエントリは、たくさんの `:' で区切られたフィールドからなります。 +各エントリの最初のフィールドは、そのディスクのエントリを選択するのに使う +名前になります。 +`|' 文字で区切って複数指定することができ、一番最後の名前はそのディスクを +完全に区別できるような長いものを使います。 +.Pp +各エントリの省略可能なフィールドは次の通りです。 +.Bl -column "indent" "boolx" +.It Sy "ID 型 解説" +.It "\&ty str ディスクの種類 (例えば removable, winchester)" +.It "\&dt str コントローラの種類 (例えば " +.Tn SMD , ESDI , +フロッピ) +.It "\&ns num トラックあたりのセクタ数" +.It "\&nt num シリンダあたりのトラック数" +.It "\&nc num ディスク上の総シリンダ数" +.It "\&sc num シリンダあたりのセクタ数、デフォルトは ns*nt" +.It "\&su num ユニットあたりのセクタ数、デフォルトは sc*nc" +.It "\&se num バイト単位のセクタサイズ" +デフォルトは +.Dv DEV_BSIZE +.It "\&sf bool コントローラが bad144 スタイルのバッドセクタフォワードをサポートする" +.It "\&rm num 回転スピード (rpm), デフォルトは 3600" +.It "\&sk num トラックあたりのセクタスキュー、デフォルトは 0" +.It "\&cs num シリンダあたりのセクタスキュー、デフォルトは 0" +.It "\&hs num ヘッドスイッチ時間 (usec), デフォルトは 0" +.It "\&ts num 1 シリンダシーク時間 (usec), デフォルト 0" +.It "\&il num セクタインタリーブ (n:1), デフォルトは 1" +.It "\&d[0-4] num ドライブタイプ依存パラメータ" +.It "\&bs num ブートブロックサイズ、デフォルト" +.Dv BBSIZE +.It "\&b[0-1] num ブートブロックファイル名。" +.Xr bsdlabel 8 +を参照 +.It "\&sb num スーパブロックサイズ、デフォルト" +.Dv SBSIZE +.It "\&ba num パーティション `a' のブロックサイズ (bytes)" +.It "\&bd num パーティション `d' のブロックサイズ (bytes)" +.It "\&be num パーティション `e' のブロックサイズ (bytes)" +.It "\&bf num パーティション `f' のブロックサイズ (bytes)" +.It "\&bg num パーティション `g' のブロックサイズ (bytes)" +.It "\&bh num パーティション `h' のブロックサイズ (bytes)" +.It "\&fa num パーティション `a' のフラグメントサイズ (bytes)" +.It "\&fd num パーティション `d' のフラグメントサイズ (bytes)" +.It "\&fe num パーティション `e' のフラグメントサイズ (bytes)" +.It "\&ff num パーティション `f' のフラグメントサイズ (bytes)" +.It "\&fg num パーティション `g' のフラグメントサイズ (bytes)" +.It "\&fh num パーティション `h' のフラグメントサイズ (bytes)" +.It "\&oa num パーティション `a' のセクタ内オフセット" +.It "\&ob num パーティション `b' のセクタ内オフセット" +.It "\&oc num パーティション `c' のセクタ内オフセット" +.It "\&od num パーティション `d' のセクタ内オフセット" +.It "\&oe num パーティション `e' のセクタ内オフセット" +.It "\&of num パーティション `f' のセクタ内オフセット" +.It "\&og num パーティション `g' のセクタ内オフセット" +.It "\&oh num パーティション `h' のセクタ内オフセット" +.It "\&pa num パーティション `a' セクタサイズ" +.It "\&pb num パーティション `b' セクタサイズ" +.It "\&pc num パーティション `c' セクタサイズ" +.It "\&pd num パーティション `d' セクタサイズ" +.It "\&pe num パーティション `e' セクタサイズ" +.It "\&pf num パーティション `f' セクタサイズ" +.It "\&pg num パーティション `g' セクタサイズ" +.It "\&ph num パーティション `h' セクタサイズ" +.It "\&ta str パーティション `a' のパーティションタイプ" +.Pf ( Bx 4.2 +ファイルシステム, スワップ他) +.It "\&tb str パーティション `b のパーティションタイプ" +.It "\&tc str パーティション `c のパーティションタイプ" +.It "\&td str パーティション `d のパーティションタイプ" +.It "\&te str パーティション `e のパーティションタイプ" +.It "\&tf str パーティション `f のパーティションタイプ" +.It "\&tg str パーティション `g のパーティションタイプ" +.It "\&th str パーティション `h のパーティションタイプ" +.El +.Sh 関連ファイル +.Bl -tag -width /etc/disktab -compact +.It Pa /etc/disktab +.El +.Sh 関連項目 +.Xr getdiskbyname 3 , +.Xr disklabel 5 , +.Xr disklabel 8 , +.Xr newfs 8 +.Sh 歴史 +.Nm +この記述ファイルは +.Bx 4.2 +で登場しました。 diff --git a/documentation/manual-pages/ja/man5/editrc.5 b/documentation/manual-pages/ja/man5/editrc.5 new file mode 100644 index 0000000000..3e70001aae --- /dev/null +++ b/documentation/manual-pages/ja/man5/editrc.5 @@ -0,0 +1,494 @@ +.\" $NetBSD: editrc.5,v 1.10 2000/11/08 00:09:38 lukem Exp $ +.\" +.\" Copyright (c) 1997-2000 The NetBSD Foundation, Inc. +.\" All rights reserved. +.\" +.\" This file was contributed to The NetBSD Foundation by Luke Mewburn. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. All advertising materials mentioning features or use of this software +.\" must display the following acknowledgement: +.\" This product includes software developed by the NetBSD +.\" Foundation, Inc. and its contributors. +.\" 4. Neither the name of The NetBSD Foundation nor the names of its +.\" contributors may be used to endorse or promote products derived +.\" from this software without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS +.\" ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +.\" TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +.\" PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS +.\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +.\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +.\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +.\" POSSIBILITY OF SUCH DAMAGE. +.\" +.\" %FreeBSD: src/lib/libedit/editrc.5,v 1.16 2002/12/27 12:15:30 schweikh Exp % +.\" +.\" $FreeBSD$ +.Dd November 8, 2000 +.Os +.Dt EDITRC 5 +.Sh 名称 +.Nm editrc +.Nd editline ライブラリの設定ファイル +.Sh 書式 +.Nm +.Sh 解説 +.Nm +は +.Xr editline 3 +ライブラリで使用されている様々な設定を定義します。 +.Pp +それぞれの行のフォーマットは以下となります: +.Dl [prog:]command [arg [...]] +.Pp +.Ar command +は +.Xr editline 3 +の組み込みコマンドのうちの 1 つです。 +より詳しい情報は +.Sx 組み込みコマンド +を参照してください。 +.Pp +.Ar prog +はプログラムが +.Xr editline 3 +をセットアップするために +.Xr el_init 3 +を呼び出す時に定義したプログラム名の文字列で、 +通常は +.Va argv[0] +です。 +.Ar command +は +.Ar prog +にマッチする全てのプログラムに対しても実行されます。 +.Pp +.Ar prog +は +.Xr regex 3 +形式の正規表現であってもよく、その場合 +.Ar command +はその正規表現にマッチする全てのプログラムに対して実行されます。 +.Pp +.Ar prog +が指定されてない場合、 +.Ar command +がすべてのプログラムに対して実行されます。 +.Sh 組み込みコマンド +.Nm editline +ライブラリにはいくつかの組み込みコマンドがあり、行編集とヒストリ機能操作の +方法に作用します。 +これらは +.Xr tcsh 1 +シェルに存在する似た名前の組み込みコマンドに基づいています。 +.Pp +以下の組み込みコマンドが利用可能です: +.Bl -tag -width 4n +.It Ic bind Xo +.Op Fl a +.Op Fl e +.Op Fl k +.Op Fl l +.Op Fl r +.Op Fl s +.Op Fl v +.Op Ar key Op Ar command +.Xc +オプション無しでは、全ての割り当てられたキーと、 +それぞれが割り当てられた編集コマンドを表示します。 +もし +.Ar key +が与えられたら、 +.Ar key +に対する割り当てを示します。 +もし +.Ar key command +が与えられたら、 +.Ar command +を +.Ar key +に割り当てます。 +含まれるオプションは以下です: +.Bl -tag -width 4n +.It Fl e +全てのキーを GNU Emacs の標準に似た割り当てに割り当てます。 +.It Fl v +全てのキーを +.Xr vi 1 +の標準に似た割り当てに割り当てます。 +.It Fl a +.Xr vi 1 +モードのもう 1 つ (コマンドモード) のキーマップにおける +キー割り当てを表示または変更します。 +.It Fl k +.Ar key +は矢印記号キー名、 +.Sq up , +.Sq down , +.Sq left +または +.Sq right +のうちの 1 つ、として解釈されます。 +.It Fl l +全ての編集コマンドとそれぞれの短い説明を表示します。 +.It Fl r +キーの割り当てを削除します。 +.It Fl s +.Ar command +は文字列リテラルとして扱われ、 +.Ar key +がタイプされた時に端末入力として扱われます。 +.Ar command +中の割り当てられたキーは、それ自身が再解釈され、 +これは 10 レベルの解釈まで継続されます。 +.El +.Pp +.Ar command +は、後述の +.Sx "エディタコマンド" +に記されたコマンドか、もしくは別のキーでも構いません。 +.Pp +.Ar key +と +.Ar command +は +.Sm off +.Sq No ^ Ar character +.Sm on +(例えば +.Sq ^A ) +形式のコントロール文字と、 +以下のバックスラッシュ付きのエスケープシーケンスを含むことができます: +.Pp +.Bl -tag -compact -offset indent -width 4n +.It Ic \ea +ベル +.It Ic \eb +バックスペース +.It Ic \ee +エスケープ +.It Ic \ef +フォームフィード +.It Ic \en +改行 +.It Ic \er +キャリッジリターン +.It Ic \et +(水平) タブ +.It Ic \ev +垂直タブ +.Sm off +.It Sy \e Ar nnn +.Sm on +8 進数 +.Ar nnn +で表される ASCII 文字 +.El +.Pp +.Sq \e +は、次の文字に特別な意味があるならば、それを無効化します。 +特に、 +.Sq \e +と +.Sq ^ +の特別な意味を無効化します。 +.It Ic echotc Xo +.Op Fl sv +.Ar arg +.Ar ... +.Xc +.Ar arg Ar ... +で与えられた端末のケーパビリティを実行します。 +もし +.Ar arg +が +.Sq baud , +.Sq cols , +.Sq lines , +.Sq rows , +.Sq meta , +.Sq tabs +であればそのケーパビリティの値が表示されます。 +.Dq yes +または +.Dq no +は、端末がそのケーパビリティを持つのか持たないのかを表します。 +.Pp +.Fl s +を指定すると存在しないケーパビリティに対してエラーを起こすのではなく、 +空の文字列を返します。 +.Fl v +を指定するとメッセージを冗長に表示します。 +.It Ic edit Op Cm on | off +プログラム中で +.Nm editline +の機能を有効または無効にします。 +.It Ic history +ヒストリを表示します。 +.It Ic telltc +全ての端末のケーパビリティの値を表示します +.Pf ( Xr termcap 5 +参照)。 +.It Ic settc Ar cap Ar val +.Xr termcap 5 で定義された端末のケーパビリティ +.Ar cap +を +.Ar val +に設定します。 +正しさのチェックは行われません。 +.It Ic setty Xo +.Op Fl a +.Op Fl d +.Op Fl q +.Op Fl x +.Op Ar +mode +.Op Ar -mode +.Op Ar mode +.Xc +.Nm +がどの tty モードの変更をユーザに許可しないかを制御します。 +.Fl d , +.Fl q , +.Fl x +は +.Ic setty +に対してそれぞれ +.Sq edit , +.Sq quote , +.Sq execute +tty モードセットにおいて働くことを示します。 +デフォルトでは +.Fl x +です。 +.Pp +他の引数がなければ、 +.Ic setty +は選択されたセットにおいて何が on +.Pq Sq +mode +または off +.Pq Sq -mode +に固定されているかを表示します。 +.Fl a +は設定に関わらず選択されたセットにおける全ての tty モードを表示します。 +.Ar +mode , +.Ar -mode , +.Ar mode , +は選択されたセットにおいて +.Ar mode +を on または off に固定すること、あるいは +.Ar mode +の制御を行わないことを指定します。 +.El +.Sh エディタコマンド +以下のエディタコマンドが、キーの割り当てに使用できます: +.\" Section automatically generated with makelist +.Bl -tag -width 4n +.It Ic vi-paste-next +vi 風に、直前に行った削除をカーソルの右側に張り付けます。 +.It Ic vi-paste-prev +vi 風に、直前に行った削除をカーソルの左側に張り付けます。 +.It Ic vi-prev-space-word +vi 風に、空白で区切られた直前の単語へ移動します。 +.It Ic vi-prev-word +vi 風に、直前の単語へ移動します。 +.It Ic vi-next-space-word +vi 風に、空白で区切られた次の単語へ移動します。 +.It Ic vi-next-word +vi 風に、次の単語へ移動します。 +.It Ic vi-change-case +vi 風に、カーソルの下の文字の大文字小文字を変更し、1 文字進めます。 +.It Ic vi-change-meta +vi 風に、プレフィックスコマンドを変更します。 +.It Ic vi-insert-at-bol +vi 風に、行頭で入力モードに入ります。 +.It Ic vi-replace-char +vi 風に、カーソルの下の文字を、次に入力する文字に置き換えます。 +.It Ic vi-replace-mode +vi 風に、置き換えモードに入ります。 +.It Ic vi-substitute-char +vi 風に、カーソルの下の文字を入力する文字に置き換え、入力モードに入ります。 +.It Ic vi-substitute-line +vi 風に、行全体を置き換えます。 +.It Ic vi-change-to-eol +vi 風に、行末まで変更します。 +.It Ic vi-insert +vi 風に、入力モードに入ります。 +.It Ic vi-add +vi 風に、カーソルの後ろで入力モードに入ります。 +.It Ic vi-add-at-eol +vi 風に、行末で入力モードに入ります。 +.It Ic vi-delete-meta +vi 風に、プレフィックスコマンドを削除します。 +.It Ic vi-end-word +vi 風に、現在いる空白で区切られた単語の最後へ移動します。 +.It Ic vi-to-end-word +vi 風に、現在いる単語の最後に移動します。 +.It Ic vi-undo +vi 風に、最後に行った変更を取り消します。 +.It Ic vi-command-mode +vi 風に、コマンドモードに入ります (別のキー割り当てを使用します)。 +.It Ic vi-zero +vi 風に、行の先頭に移動します。 +.It Ic vi-delete-prev-char +vi 風に、1 文字前に移動します (バックスペース)。 +.It Ic vi-list-or-eof +vi 風に、補完の選択肢をリストするか、空行の場合は EOF を表します。 +.It Ic vi-kill-line-prev +vi 風に、行頭からカーソルまでを削除します。 +.It Ic vi-search-prev +vi 風に、ヒストリを後方検索します。 +.It Ic vi-search-next +vi 風に、ヒストリを前方検索します。 +.It Ic vi-repeat-search-next +vi 風に、現在の検索を同じ方向へ繰り返します。 +.It Ic vi-repeat-search-prev +vi 風に、現在の検索を逆方向へ繰り返します。 +.It Ic vi-next-char +vi 風に、前方の指定された文字に移動します。 +.It Ic vi-prev-char +vi 風に、後方の指定された文字に移動します。 +.It Ic vi-to-next-char +vi 風に、前方の指定された文字の手前に移動します。 +.It Ic vi-to-prev-char +vi 風に、後方の指定された文字の手前に移動します。 +.It Ic vi-repeat-next-char +vi 風に、現在の文字検索を同じ方向に繰り返します。 +.It Ic vi-repeat-prev-char +vi 風に、現在の文字検索を逆方向に繰り返します。 +.It Ic em-delete-or-list +カーソルの下の文字を削除するか、行末の場合は補完の選択肢をリストします。 +.It Ic em-delete-next-word +カーソルから現在の単語の終わりまで削除します。 +.It Ic em-yank +カーソル位置に削除バッファを張り付けます。 +.It Ic em-kill-line +行全体を削除し、削除バッファに保存します。 +.It Ic em-kill-region +マークとカーソルとの間の領域を削除し、削除バッファに保存します。 +.It Ic em-copy-region +マークとカーソルとの間の領域を削除バッファにコピーします。 +.It Ic em-gosmacs-transpose +カーソルの前の 2 文字を入れ換えます。 +.It Ic em-next-word +現在の単語の終わりに移動します。 +.It Ic em-upper-case +カーソルから現在の単語の終わりまでを大文字にします。 +.It Ic em-capitol-case +カーソルから現在の単語の終わりまでの部分の先頭を大文字にします。 +.It Ic em-lower-case +カーソルから現在の単語の終わりまでを小文字にします。 +.It Ic em-set-mark +カーソル位置にマークを設定します。 +.It Ic em-exchange-mark +カーソルとマークを入れ換えます。 +.It Ic em-universal-argument +ユニバーサル引数 (引数を 4 倍にします)。 +.It Ic em-meta-next +次に入力する文字に 8 番目のビットを付加します。 +.It Ic em-toggle-overwrite +挿入モードと上書きモードを相互に切り替えます。 +.It Ic em-copy-prev-word +現在の単語をカーソル位置にコピーします。 +.It Ic em-inc-search-next +Emacs のインクリメンタル検索を行います。 +.It Ic em-inc-search-prev +Emacs のインクリメンタル検索を逆方向に行います。 +.It Ic ed-end-of-file +EOF を指示します。 +.It Ic ed-insert +行に文字を追加します。 +.It Ic ed-delete-prev-word +現在の単語の最初からカーソルまでを削除します。 +.It Ic ed-delete-next-char +カーソルの下の文字を削除します。 +.It Ic ed-kill-line +行末まで削除します。 +.It Ic ed-move-to-end +行末までカーソルを移動します。 +.It Ic ed-move-to-beg +行頭までカーソルを移動します。 +.It Ic ed-transpose-chars +カーソルの左側の文字とカーソルの下の文字とを入れ換えます。 +.It Ic ed-next-char +右に 1 文字移動します。 +.It Ic ed-prev-word +現在の単語の先頭に移動します。 +.It Ic ed-prev-char +左に 1 文字移動します。 +.It Ic ed-quoted-insert +次に入力される文字をそのまま追加します。 +.It Ic ed-digit +引数に追加するか、もしくは数字を入力します。 +.It Ic ed-argument-digit +引数を開始する数字。 +.It Ic ed-unassigned +未割り当ての文字を表示します。 +.It Ic ed-tty-sigint +tty の割り込み文字。 +.It Ic ed-tty-dsusp +tty の停止遅延文字。 +.It Ic ed-tty-flush-output +tty の出力フラッシュ文字。 +.It Ic ed-tty-sigquit +tty の中止文字。 +.It Ic ed-tty-sigtstp +tty の停止文字。 +.It Ic ed-tty-stop-output +tty の出力の禁止文字。 +.It Ic ed-tty-start-output +tty の出力の許可文字。 +.It Ic ed-newline +コマンドを実行します。 +.It Ic ed-delete-prev-char +カーソルの左側の文字を削除します。 +.It Ic ed-clear-screen +現在の行は画面の一番上に残し、画面を消去します。 +.It Ic ed-redisplay +すべてを再表示します。 +.It Ic ed-start-over +現在行を消去し、最初から始めます。 +.It Ic ed-sequence-lead-in +複数文字コマンドの最初の文字。 +.It Ic ed-prev-history +ヒストリの 1 行前に移動します。 +.It Ic ed-next-history +ヒストリの 1 行後に移動します。 +.It Ic ed-search-prev-history +ヒストリ中から、現在行にマッチする行を後方検索します。 +.It Ic ed-search-next-history +ヒストリ中から、現在行にマッチする行を前方検索します。 +.It Ic ed-prev-line +1 行上に移動します。 +.It Ic ed-next-line +1 行下に移動します。 +.It Ic ed-command +editline の拡張コマンド。 +.El +.\" End of section automatically generated with makelist +.Sh 関連項目 +.Xr editline 3 , +.Xr regex 3 , +.Xr termcap 5 +.Sh 作者 +.An -nosplit +.Nm editline +ライブラリは +.An Christos Zoulas +によって書かれ、このマニュアルは +いくつかの節は +.Xr tcsh 1 +に影響されて、 +.An Luke Mewburn +によって書かれました。 diff --git a/documentation/manual-pages/ja/man5/elf.5 b/documentation/manual-pages/ja/man5/elf.5 new file mode 100644 index 0000000000..f4bc9e8168 --- /dev/null +++ b/documentation/manual-pages/ja/man5/elf.5 @@ -0,0 +1,1323 @@ +.\"Copyright (c) 1999 Jeroen Ruigrok van der Werven +.\"All rights reserved. +.\" +.\"Redistribution and use in source and binary forms, with or without +.\"modification, are permitted provided that the following conditions +.\"are met: +.\"1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\"2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" +.\"THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +.\"ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\"IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\"ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +.\"FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\"DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\"OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\"HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\"LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\"OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\"SUCH DAMAGE. +.\" +.\" %FreeBSD: src/share/man/man5/elf.5,v 1.28 2004/07/03 18:29:22 ru Exp % +.\" +.\" $FreeBSD$ +.Dd July 31, 1999 +.Dt ELF 5 +.Os FreeBSD +.Sh 名称 +.Nm elf +.Nd ELF 実行形式バイナリファイルのフォーマット +.Sh 書式 +.In elf.h +.Sh 解説 +ヘッダファイル +.In elf.h +は、ELF 実行形式バイナリファイルのフォーマットを定義しています。 +ELF には普通の実行可能ファイル、再配置可能なオブジェクトファイル、 +コアファイル、共有ライブラリがあります。 +.Pp +ELF ファイルフォーマットを使っている +実行可能ファイルは ELF ヘッダを持ちます。 +そして、プログラムヘッダテーブルか、 +セクションヘッダテーブル、あるいはその両方が続きます。 +ELF ヘッダは、常にファイルのオフセット 0 にあります。 +プログラムヘッダテーブルと +セクションヘッダテーブルのファイル中のオフセットは、 +ELF ヘッダで定義されています。 +2 つのテーブルは、ファイルの特徴の残りの部分を記述します。 +.Pp +ネイティブアーキテクチャの ELF バイナリファイルを処理するアプリケーションは、 +そのソースコードに +.In elf.h +をインクルードするだけですみます。 +これらのアプリケーションは、総称名 +.Dq Elf_xxx +による全タイプと構造体への参照を含む必要があり、 +.Dq ELF_xxx +によるマクロへの参照を含む必要があるでしょう。 +このようにして記述されたアプリケーションは、 +どのようなアーキテクチャであっても、 +ホストが 32 ビットなのか、あるいは 64 ビットなのか +ということを気にしないで、コンパイル可能です。 +.Pp +未知のアーキテクチャの ELF ファイルを処理する必要があるアプリケーションは、 +.In elf.h +ではなく、 +.In sys/elf32.h +と +.In sys/elf64.h +の両方をインクルードする必要があります。 +さらに、全てのタイプと構造体は、 +.Dq Elf32_xxx +か +.Dq Elf64_xxx +によって区別する必要があります。 +マクロは、 +.Dq ELF32_xxx +または +.Dq ELF64_xxx +によって区別する必要があります。 +.Pp +システムのアーキテクチャがたとえ何であっても、常に +.In sys/elf_generic.h +だけでなく、 +.In sys/elf_common.h +もインクルードします。 +.Pp +これらのヘッダファイルでは、 +上で言及したヘッダを C 構造体として記述し、 +これに加えて動的セクションと +再配置セクションとシンボルテーブルのための構造体を含んでいます。 +.Pp +以下のタイプが、32 ビットアーキテクチャのために使われています: +.Bd -literal -offset indent +Elf32_Addr 符号無しプログラムアドレス +Elf32_Half 符号無しハーフワードフィールド +Elf32_Off 符号無しファイルオフセット +Elf32_Sword 符号付き大整数 +Elf32_Word フィールドまたは符号無し大整数 +Elf32_Size 符号無しオブジェクトサイズ +.Ed +.Pp +64 ビットアーキテクチャ用に以下のタイプが用意されています: +.Bd -literal -offset indent +Elf64_Addr 符号無しプログラムアドレス +Elf64_Half 符号無しハーフワードフィールド +Elf64_Off 符号無しファイルオフセット +Elf64_Sword 符号付き大整数 +Elf64_Word フィールドまたは符号無し大整数 +Elf64_Size 符号無しオブジェクトサイズ +Elf64_Quarter 符号無しクォータワードフィールド +.Ed +.Pp +ELF ファイルフォーマットが定義する全てのデータ構造は、 +関連するクラスのために +.Dq 自然な +サイズと境界調整のガイドラインに従っています。 +必要ならば、データ構造は、4 バイトオブジェクトが +4 バイト境界となることを保証するために、 +構造体のサイズを強制的に 4 の倍数にするとかいった手段で、 +明示的なパディングを含めます。 +.Pp +ELF ヘッダは、Elf32_Ehdr 型または Elf64_Ehdr 型によって記述されています: +.Bd -literal -offset indent +typedef struct { + unsigned char e_ident[EI_NIDENT]; + Elf32_Half e_type; + Elf32_Half e_machine; + Elf32_Word e_version; + Elf32_Addr e_entry; + Elf32_Off e_phoff; + Elf32_Off e_shoff; + Elf32_Word e_flags; + Elf32_Half e_ehsize; + Elf32_Half e_phentsize; + Elf32_Half e_phnum; + Elf32_Half e_shentsize; + Elf32_Half e_shnum; + Elf32_Half e_shstrndx; +} Elf32_Ehdr; +.Ed +.Pp +.Bd -literal -offset indent +typedef struct { + unsigned char e_ident[EI_NIDENT]; + Elf64_Quarter e_type; + Elf64_Quarter e_machine; + Elf64_Half e_version; + Elf64_Addr e_entry; + Elf64_Off e_phoff; + Elf64_Off e_shoff; + Elf64_Half e_flags; + Elf64_Quarter e_ehsize; + Elf64_Quarter e_phentsize; + Elf64_Quarter e_phnum; + Elf64_Quarter e_shentsize; + Elf64_Quarter e_shnum; + Elf64_Quarter e_shstrndx; +} Elf64_Ehdr; +.Ed +.Pp +フィールドは、以下の意味を持っています: +.Pp +.Bl -tag -width "e_phentsize" -compact -offset indent +.It Dv e_ident +このバイト配列はファイルをどのように解釈すべきかを指定します。 +これは、プロセッサまたはファイルの残りの内容から独立しています。 +この配列中の全要素は、 +.Sy EI_ +で開始するマクロにより名付けられ、また先頭に +.Sy ELF +がついた値を持ち得ます。 +以下のマクロが定義されています: +.Pp +.Bl -tag -width "EI_ABIVERSION" -compact +.It Dv EI_MAG0 +マジック番号の第 1 のバイト。 +.Sy ELFMAG0 +であることが必要です。 +.It Dv EI_MAG1 +マジック番号の第 2 のバイト。 +.Sy ELFMAG1 +であることが必要です。 +.It Dv EI_MAG2 +マジック番号の第 3 のバイト。 +.Sy ELFMAG2 +であることが必要です。 +.It Dv EI_MAG3 +マジック番号の第 4 のバイト。 +.Sy ELFMAG3 +であることが必要です。 +.It Dv EI_CLASS +第 5 のバイトは、当該のバイナリファイルのアーキテクチャを識別します: +.Pp +.Bl -tag -width "ELFCLASSNONE" -compact +.It Dv ELFCLASSNONE +このクラスは、不当です。 +.It Dv ELFCLASS32 +これは、32 ビットアーキテクチャを定義します。 +ファイル空間と仮想アドレス空間が 4 ギガバイトまでにおさまる +マシンに対応します。 +.It Dv ELFCLASS64 +これは、64 ビットアーキテクチャを定義します。 +.El +.It Dv EI_DATA +第 6 のバイトは、 +ファイルのプロセッサ固有データのエンコーディングを指定します。 +現在、次のエンコーディングがサポートされています: +.Pp +.Bl -tag -width "ELFDATA2LSB" -compact +.It Dv ELFDATANONE +未知のデータフォーマット。 +.It Dv ELFDATA2LSB +2 の補数、リトルエンディアン。 +.It Dv ELFDATA2MSB +2 の補数、ビッグエンディアン。 +.El +.It Dv EI_VERSION +ELF 仕様書のバージョンナンバ: +.Pp +.Bl -tag -width "EV_CURRENT" -compact +.It Dv EV_NONE +不当なバージョン。 +.It Dv EV_CURRENT +現在のバージョン。 +.El +.It Dv EI_OSABI +このバイトは、オブジェクトの対象である、 +オペレーティングシステムと ABI を識別します。 +他の ELF 構造中のフィールドには、 +プラットフォーム依存の意味のものがあります。 +そのようなフィールドの解釈は、このバイトの値で決定されます。 +次の値が現在定義されています: +.Pp +.Bl -tag -width "ELFOSABI_STANDALONE" -compact +.It Dv ELFOSABI_SYSV +UNIX System V ABI。 +.It Dv ELFOSABI_HPUX +HP-UX オペレーティングシステム ABI。 +.It Dv ELFOSABI_NETBSD +.Nx +オペレーティングシステム ABI。 +.It Dv ELFOSABI_LINUX +GNU/Linux オペレーティングシステム ABI。 +.It Dv ELFOSABI_HURD +GNU/Hurd オペレーティングシステム ABI。 +.It Dv ELFOSABI_86OPEN +86Open Common IA32 ABI。 +.It Dv ELFOSABI_SOLARIS +Solaris オペレーティングシステム ABI。 +.It Dv ELFOSABI_MONTEREY +Monterey プロジェクト ABI。 +.It Dv ELFOSABI_IRIX +IRIX オペレーティングシステム ABI。 +.It Dv ELFOSABI_FREEBSD +.Fx +オペレーティングシステム ABI。 +.It Dv ELFOSABI_TRU64 +TRU64 UNIX オペレーティングシステム ABI。 +.It Dv ELFOSABI_ARM +ARM アーキテクチャ ABI。 +.It Dv ELFOSABI_STANDALONE +Standalone (組み込み) ABI。 +.El +.It Dv EI_ABIVERSION +このバイトは、オブジェクトの対象である ABI のバージョンを識別します。 +このフィールドは、同じ ABI でも、 +互換性の無いもの同士を区別するために使用されます。 +バージョン番号の解釈は、EI_OSABI フィールドで識別される ABI に依存します。 +この仕様に準拠するアプリケーションは、値 0 を使用します。 +.It Dv EI_PAD +パディングの始め。 +これらのバイトは、予約されており、0 にセットされます。 +ここを読むプログラムは、これを無視する必要があります。 +将来、現在使っていないバイトに意味が与えられた時には、 +EI_PAD の値は変わります。 +.It Dv EI_BRAND +アーキテクチャ識別子の始め。 +.It Dv EI_NIDENT +e_ident 配列の大きさ。 +.El +.Pp +.It Dv e_type +構造体のこのメンバは、オブジェクトファイルタイプを識別します: +.Pp +.Bl -tag -width "ET_NONE" -compact +.It Dv ET_NONE +未知のタイプ。 +.It Dv ET_REL +再配置可能なファイル。 +.It Dv ET_EXEC +実行可能ファイル。 +.It Dv ET_DYN +共有オブジェクト。 +.It Dv ET_CORE +コアファイル。 +.El +.Pp +.It Dv e_machine +このメンバは、個々のファイルに必要なアーキテクチャを指定します: +.Pp +.Bl -tag -width "EM_MIPS_RS4_BE" -compact +.It Dv EM_NONE +未知のマシン。 +.It Dv EM_M32 +AT&T WE 32100 +.It Dv EM_SPARC +Sun Microsystems SPARC. +.It Dv EM_386 +Intel 80386. +.It Dv EM_68K +Motorola 68000 +.It Dv EM_88K +Motorola 88000 +.It Dv EM_486 +Intel 80486 +.It Dv EM_860 +Intel 80860 +.It Dv EM_MIPS +MIPS RS3000 (ビッグエンディアンのみ) +.It Dv EM_MIPS_RS4_BE +MIPS RS4000 (ビッグエンディアンのみ) +.It Dv EM_SPARC64 +SPARC v9 64-bit 非公式 +.It Dv EM_PARISC +HPPA +.It Dv EM_PPC +PowerPC +.It Dv EM_ALPHA +Compaq [DEC] Alpha +.El +.Pp +.It Dv e_version +このメンバは、ファイルバージョンを識別します: +.Pp +.Bl -tag -width "EV_CURRENT" -compact +.It Dv EV_NONE +不当なバージョン。 +.It Dv EV_CURRENT +現在のバージョン。 +.El +.It Dv e_entry +このメンバは、システムが最初に制御を移す、 +つまりプロセスを開始する仮想アドレスを示します。 +ファイルにエントリポイントがないならば、このメンバは 0 になります。 +.It Dv e_phoff +このメンバは、 +プログラムヘッダテーブルのバイト単位のファイルオフセットを持ちます。 +.It Dv e_shoff +このメンバは、 +セクションヘッダテーブルのバイト単位のファイルオフセットを持ちます。 +ファイルにセクションヘッダテーブルがないならば、このメンバは 0 になります。 +.It Dv e_flags +このメンバは、ファイルに関連する、プロセッサに固有なフラグを持ちます。 +フラグ名は、EF_`machine_flag' という形式になります。 +現在、定義されたフラグはありません。 +.It Dv e_ehsize +このメンバは、ELF ヘッダのバイト単位の大きさを持ちます。 +.It Dv e_phentsize +このメンバは、 +ファイルのプログラムヘッダテーブルにあるエントリ 1 個分のサイズを持ちます。 +全てのエントリは、同じ大きさです。 +.It Dv e_phnum +このメンバは、プログラムヘッダテーブル中のエントリの個数を持ちます。 +つまり、 +.Sy e_phentsize +と +.Sy e_phnum +の積は、テーブルのバイト単位の大きさを与えます。 +ファイルにプログラムヘッダがないならば、 +.Sy e_phnum +の値は 0 になります。 +.It Dv e_shentsize +このメンバは、セクションヘッダのバイト単位の大きさを持ちます。 +セクションヘッダは、 +セクションヘッダテーブルの中の 1 つのエントリです; +全てのエントリは、同じ大きさです。 +.It Dv e_shnum +このメンバは、セクションヘッダテーブル中のエントリの個数を持ちます。 +つまり、 +.Sy e_shentsize +と +.Sy e_shnum +の積は、セクションヘッダテーブルのバイト単位の大きさを与えます。 +ファイルにセクションヘッダテーブルがないならば、 +.Sy e_shnum +の値は 0 になります。 +.It Dv e_shstrndx +このメンバは、 +セクションヘッダテーブルの、 +セクション名文字列テーブルに結びつけられたエントリへの +インデックスを持ちます。 +ファイルにセクション名文字列テーブルがないならば、 +このメンバは値 +.Sy SHN_UNDEF +を持ちます。 +.El +.Pp +実行可能ファイルまたは共有オブジェクトファイルのプログラムヘッダテーブルは、 +構造体の配列です。 +各構造体は、 +プログラム実行にシステムが必要とする、セグメント等の情報を記述します。 +オブジェクトファイルの +.Em セグメント +は、1 つ以上の +.Em セクション +を含みます。 +プログラムヘッダは、 +実行可能ファイルと共有オブジェクトファイルだけで意味があります。 +ファイルは、ELF ヘッダの +.Sy e_phentsize +と +.Sy e_phnum +メンバでそれ自身のプログラムヘッダサイズを指定します。 +ELF 実行形式のヘッダと同様に、 +プログラムヘッダもアーキテクチャに従い異なるバージョンを持ちます: +.Pp +.Bd -literal -offset indent +typedef struct { + Elf32_Word p_type; + Elf32_Off p_offset; + Elf32_Addr p_vaddr; + Elf32_Addr p_paddr; + Elf32_Size p_filesz; + Elf32_Size p_memsz; + Elf32_Word p_flags; + Elf32_Size p_align; +} Elf32_Phdr; +.Ed +.Pp +.Bd -literal -offset indent +typedef struct { + Elf64_Half p_type; + Elf64_Half p_flags; + Elf64_Off p_offset; + Elf64_Addr p_vaddr; + Elf64_Addr p_paddr; + Elf64_Size p_filesz; + Elf64_Size p_memsz; + Elf64_Size p_align; +} Elf64_Phdr; +.Ed +.Pp +32 ビットと 64 ビットのプログラムヘッダの間の主な差は、 +構造体中の +.Sy p_flags +メンバの位置だけです。 +.Pp +.Bl -tag -width "p_offset" -compact -offset indent +.It Dv p_type +構造体 Phdr のこのメンバは、この配列要素が記述しているセグメントの種類を示し、 +どのように配列要素を解釈すべきかを示します。 +.Bl -tag -width "PT_DYNAMIC" -compact +.Pp +.It Dv PT_NULL +この配列要素は使っていません。また、他のメンバの値は未定義です。 +これにより、プログラムヘッダ中に無視されるエントリを持てます。 +.It Dv PT_LOAD +この配列要素は、ロード可能なセグメントを指定します。 +これは +.Sy p_filesz +と +.Sy p_memsz +で記述されます。 +ファイルからのバイトは、メモリセグメントの先頭にマップされます。 +セグメントのメモリサイズ +.Pq Sy p_memsz +がファイルサイズ +.Pq Sy p_filesz +より大きいならば、 +.Dq 余分な +バイトは、値 0 を持って、 +セグメントの初期化された領域に続くものと定義されます。 +ファイルサイズは、メモリサイズを越えてはなりません。 +プログラムヘッダテーブルの中のロード可能な +セグメントエントリは、昇順で現れます。 +そして、 +.Sy p_vaddr +メンバでソートされます。 +.It Dv PT_DYNAMIC +この配列要素は、動的リンク情報を指定します。 +.It Dv PT_INTERP +この配列要素は、 +インタプリタとして起動するヌル文字で終わるパス名の場所と大きさを指定します。 +このセグメントタイプは、実行可能ファイルのみで意味があります +(本セグメントタイプは、共有オブジェクト中にあるかもしれません)。 +本セグメントは、ファイル中で複数個存在してはなりません。 +存在する場合、 +全ロード可能セグメントエントリに先行する必要があります。 +.It Dv PT_NOTE +この配列要素は、補助情報のために場所と大きさを指定します。 +.It Dv PT_SHLIB +このセグメントタイプは、 +予約されており、明記されていないセマンティクスを持ちます。 +このタイプの配列要素を含むプログラムは、ABI に従いません。 +.It Dv PT_PHDR +この配列要素が存在する場合、 +ファイル中とメモリイメージ中における、 +プログラムヘッダテーブル自身の位置と大きさを指定します。 +本セグメントタイプは、ファイル中で複数個存在してはなりません。 +さらに、 +プログラムヘッダテーブルがプログラムのメモリイメージに含まれる場合のみ、 +存在が許されます。 +存在する場合、 +全ロード可能セグメントエントリに先行する必要があります。 +.It Dv PT_LOPROC +この値から +.Sy PT_HIPROC +以下は、プロセッサ固有のセマンティクスのために予約されています。 +.It Dv PT_HIPROC +この値から +.Sy PT_LOPROC +以上は、プロセッサ固有のセマンティクスのために予約されています。 +.El +.Pp +.It Dv p_offset +このメンバは、セグメントの最初のバイトへの、 +ファイル先頭からのオフセットを持ちます。 +.It Dv p_vaddr +このメンバは、 +セグメントの最初のバイトがメモリで存在する仮想アドレスを持ちます。 +.It Dv p_paddr +物理アドレッシングのシステム上では、 +このメンバは、セグメントの物理アドレスのために予約されています。 +.Bx +では、本メンバは使されず、0 である必要があります。 +.It Dv p_filesz +このメンバは、セグメントのファイルイメージのバイト数を持ちます。 +0 であるかもしれません。 +.It Dv p_memsz +このメンバは、セグメントのメモリイメージのバイト数を持ちます。 +0 であるかもしれません。 +.It Dv p_flags +このメンバは、セグメントに関したフラグを持ちます。 +.Pp +.Bl -tag -width "PF_X" -compact +.It Dv PF_X +実行可能セグメント。 +.It Dv PF_W +書き込み可能なセグメント。 +.It Dv PF_R +読み取り可能なセグメント。 +.El +.Pp +テキストセグメントは、一般にフラグ +.Sy PF_X +と +.Sy PF_R +を持ちます。 +データセグメントは、一般に +.Sy PF_X , +.Sy PF_W +と +.Sy PF_R +を持ちます。 +.It Dv p_align +このメンバは、メモリ中およびファイル中でセグメントが整列すべき値を持ちます。 +ロード可能なプロセスは、 +.Sy p_vaddr +と +.Sy p_offset +をページサイズで割った余りに適合する値を持つ必要があります。 +0 と 1 の値は、境界調整が不要であることを意味します。 +そうでない場合、 +.Sy p_align +は、正 (2 の整数乗) である必要があります。そして、 +.Sy p_vaddr +は +.Sy p_offset +を +.Sy p_align +で割った余りと等しい必要があります。 +.El +.Pp +ファイルのセクションヘッダテーブルは、 +全てのファイルのセクションの位置決定を可能とします。 +セクションヘッダテーブルは、Elf32_Shdr または Elf64_Shdr 構造体の配列です。 +ELF ヘッダの +.Sy e_shoff +メンバは、 +セクションヘッダテーブルの、ファイル先頭からのバイトオフセットを与えます。 +.Sy e_shnum +は、セクションヘッダテーブルのエントリ数を持ちます。 +.Sy e_shentsize +は、各エントリの大きさをバイトで持ちます。 +.Pp +セクションヘッダテーブルインデックスは、この配列の添字です。 +セクションヘッダテーブルインデックスには、予約のものがあります。 +オブジェクトファイルには、次の特別なインデックスにはセクションがありません: +.Pp +.Bl -tag -width "SHN_LORESERVE" -compact +.It Dv SHN_UNDEF +この値は、未定義か、存在しないか、無関係であるか、 +意味がないセクション参照を示します。 +例えば、セクション番号 +.Sy SHN_UNDEF +からの相対で +.Dq 定義 +されるシンボルは、未定義のシンボルです。 +.It Dv SHN_LORESERVE +この値は、予約のインデックスの範囲の下限を指定します。 +.It Dv SHN_LOPROC +この値から +.Sy SHN_HIPROC +以下は、プロセッサ固有のセマンティクスのために予約されています。 +.It Dv SHN_HIPROC +この値から +.Sy SHN_LOPROC +以上は、プロセッサ固有のセマンティクスのために予約されています。 +.It Dv SHN_ABS +この値は、対応する参照が絶対値であることを指定します。 +例えば、セクション番号 +.Sy SHN_ABS +からの相対で定義されるシンボルは、絶対的な数値を持ち、 +再配置によって影響を受けません。 +.It Dv SHN_COMMON +このセクションからの相対で定義されるシンボルは、共通シンボルであり、 +Fortran の COMMON や領域が確保されていない C の外部変数が該当します。 +.It Dv SHN_HIRESERVE +この値は、予約インデックス範囲の上限を指定します。 +この範囲は、 +.Sy SHN_LORESERVE +と +.Sy SHN_HIRESERVE +の間であり、両端を含みます。 +セクションヘッダテーブルは、予約のインデックスのためにエントリを含みません。 +.El +.Pp +セクションヘッダは、以下の構造体を持ちます: +.Bd -literal -offset indent +typedef struct { + Elf32_Word sh_name; + Elf32_Word sh_type; + Elf32_Word sh_flags; + Elf32_Addr sh_addr; + Elf32_Off sh_offset; + Elf32_Size sh_size; + Elf32_Word sh_link; + Elf32_Word sh_info; + Elf32_Size sh_addralign; + Elf32_Size sh_entsize; +} Elf32_Shdr; +.Ed +.Pp +.Bd -literal -offset indent +typedef struct { + Elf64_Half sh_name; + Elf64_Half sh_type; + Elf64_Size sh_flags; + Elf64_Addr sh_addr; + Elf64_Off sh_offset; + Elf64_Size sh_size; + Elf64_Half sh_link; + Elf64_Half sh_info; + Elf64_Size sh_addralign; + Elf64_Size sh_entsize; +} Elf64_Shdr; +.Ed +.Pp +.Bl -tag -width "sh_addralign" -compact +.It Dv sh_name +このメンバは、セクションの名前を指定します。 +その値は、セクションヘッダ文字列テーブルセクションへの +インデックスであり、ヌル文字で終わる文字列の場所を与えます。 +.It Dv sh_type +このメンバは、セクションの内容とセマンティクスを分類します。 +.Pp +.Bl -tag -width "SHT_PROGBITS" -compact +.It Dv SHT_NULL +この値は、セクションヘッダが不活性であることを示します。 +関連づけられたセクションを持ちません。 +セクションヘッダの他のメンバは、未定義値を持ちます。 +.It Dv SHT_PROGBITS +このセクションは、プログラムによって定義される情報を持ちます。 +フォーマットと意味は、プログラムだけによってのみ決定されます。 +.It Dv SHT_SYMTAB +このセクションは、シンボルテーブルを持ちます。 +一般的に、 +.Sy SHT_SYMTAB +はリンクエディットのためのシンボルを提供します。 +これはまた、動的リンクにも使用可能です。 +これは完全なシンボルテーブルであるため、 +動的リンクのためには不必要な多くのシンボルを含む場合があります。 +オブジェクトファイルは、 +.Sy SHN_DYNSYM +セクションも含むことができます。 +.It Dv SHT_STRTAB +このセクションは、文字列テーブルを持ちます。 +オブジェクトファイルは、複数の文字列テーブルセクションを持ち得ます。 +.It Dv SHT_RELA +このセクションは、明示的な加数を持つ、再配置エントリを持ちます。 +例えば、オブジェクトファイルの 32 ビットクラスのタイプ +.Sy Elf32_Rela +が該当します。 +オブジェクトは、複数の再配置セクションを持ち得ます。 +.It Dv SHT_HASH +このセクションは、シンボルハッシュテーブルを持ちます。 +動的リンクに関連する全オブジェクトは、 +シンボルハッシュテーブルを含む必要があります。 +オブジェクトファイルは、単一のハッシュテーブルのみを持ち得ます。 +.It Dv SHT_DYNAMIC +このセクションは、動的リンクのために情報を持ちます。 +オブジェクトファイルは、単一の動的セクションのみを持ち得ます。 +.It Dv SHT_NOTE +このセクションは、いくばくかの方法でファイルに印をする情報を持ちます。 +.It Dv SHT_NOBITS +このタイプのセクションは、ファイル中の空間を占有しませんが、 +.Sy SHN_PROGBITS +に似ています。 +このセクションはバイトを含みませんが、 +.Sy sh_offset +メンバは概念上のファイルオフセットを含みます。 +.It Dv SHT_REL +このセクションは、明示的な加数無しの再配置オフセットを持ちます。 +例えば、オブジェクトファイルの 32 ビットクラスのタイプ +.Sy Elf32_Rel +が該当します。 +オブジェクトファイルは、複数の再配置セクションを持ち得ます。 +.It Dv SHT_SHLIB +このセクションは、予約されており、明記されていないセマンティクスを持ちます。 +.It Dv SHT_DYNSYM +このセクションは、動的リンクシンボルの最小のセットを持ちます。 +オブジェクトファイルは、 +.Sy SHN_SYMTAB +セクションも含むことができます。 +.It Dv SHT_LOPROC +この値から +.Sy SHT_HIPROC +以下は、プロセッサ固有のセマンティクスのために予約されています。 +.It Dv SHT_HIPROC +この値から +.Sy SHT_LOPROC +以上は、プロセッサ固有のセマンティクスのために予約されています。 +.It Dv SHT_LOUSER +この値は、アプリケーションプログラムのために予約されている +インデックス範囲の下限を指定します。 +.It Dv SHT_HIUSER +この値は、アプリケーションプログラムのために予約されている +インデックス範囲の上限を指定します。 +.Sy SHT_LOUSER +と +.Sy SHT_HIUSER +の間のセクションタイプは、 +アプリケーションによって使用可能であり、 +現在または将来のシステム定義セクションタイプと衝突しません。 +.El +.Pp +.It Dv sh_flags +セクションは、雑多な属性を記述する 1 ビットフラグをサポートします。 +フラグビットが +.Sy sh_flags +でセットされるならば、そのセクションの属性は +.Dq オン +になります。 +そうでなければ、属性は +.Dq オフ +であるか、あてはまりません。 +未定義属性は、0 にセットされます。 +.Pp +.Bl -tag -width "SHF_EXECINSTR" -compact +.It Dv SHF_WRITE +セクションは、プロセス実行の間、書き込み可能であるべきデータを含みます。 +.It Dv SHF_ALLOC +セクションは、プロセス実行の間、メモリを占有します。 +制御セクションには、 +オブジェクトファイルのメモリイメージで存在しないものがあります。 +そのようなセクションでは、この属性はオフです。 +.It Dv SHF_EXECINSTR +セクションは、実行可能な機械語命令を含みます。 +.It Dv SHF_MASKPROC +このマスクで含まれる全てのビットは、 +プロセッサ固有のセマンティクスのために確保されます。 +.El +.Pp +.It Dv sh_addr +セクションがプロセスのメモリイメージに現れる場合、 +このメンバは、セクションの最初のバイトが存在するアドレスを持ちます。 +そうでない場合、このメンバは 0 を含みます。 +.It Dv sh_offset +このメンバ値は、 +このセクションの、ファイル先頭からのバイトオフセットを与えます。 +1 つのセクションタイプ、すなわち +.Sy SHT_NOBITS +は、ファイル中の空間を占有せず、 +その +.Sy sh_offset +メンバは、ファイル中の概念上の位置を指定します。 +.It Dv sh_size +このメンバは、セクションのバイトでの大きさを持ちます。 +セクションタイプが +.Sy SHT_NOBITS +でない限り、セクションはファイル中の +.Sy sh_size +バイトを占有します。 +タイプ +.Sy SHT_NOBITS +のセクションは 0 以外の大きさを持ち得ますが、 +ファイル中の空間を占有しません。 +.It Dv sh_link +このメンバは、 +セクションヘッダテーブルインデックスリンクを持ちます。 +この解釈は、セクションタイプ依存です。 +.It Dv sh_info +このメンバは、 +追加情報を持ちます。 +この解釈は、セクションタイプ依存です。 +.It Dv sh_addralign +若干のセクションには、アドレス境界の制約があります。 +セクションがダブルワードを持つならば、 +システムはダブルワード境界を +セクション全体に保証する必要があります。 +.Sy sh_addr +の値は、 +.Sy sh_addralign +で割った値が 0 となることが必要です。 +'\" ここよくわからん。 +0 と正の 2 の羃乗だけが許されます。0 または 1 の値は、 +セクションには境界の制約がないことを意味します。 +.It Dv sh_entsize +若干のセクションは、 +固定長エントリのテーブルを持ちます。 +例えばシンボルテーブルがこれに該当します。 +そのようなセクションのために、 +このメンバは、各エントリのバイトでの大きさを与えます。 +セクションが固定サイズのエントリのテーブルを持たないならば、 +このメンバは 0 を含みます。 +.El +.Pp +様々なセクションが、プログラムと制御情報を持ちます: +.Bl -tag -width ".shstrtab" -compact +.It .bss +このセクションは初期化されないデータを持ち、 +プログラムのメモリイメージになります。 +定義では、 +プログラム開始時にシステムがデータを 0 初期化します。 +このセクションは、タイプ +.Sy SHT_NOBITS +です。 +属性タイプは、 +.Sy SHF_ALLOC +と +.Sy SHF_WRITE +です。 +.It .comment +このセクションは、バージョン制御情報を持ちます。 +このセクションは、タイプ +.Sy SHT_PROGBITS +です。 +属性タイプは使われません。 +.It .data +このセクションは初期化されたデータを持ち、 +プログラムのメモリイメージになります。 +このセクションは、タイプ +.Sy SHT_PROGBITS +です。 +属性タイプは、 +.Sy SHF_ALLOC +と +.Sy SHF_WRITE +です。 +.It .data1 +このセクションは初期化されたデータを持ち、 +プログラムのメモリイメージになります。 +このセクションは、タイプ +.Sy SHT_PROGBITS +です。 +属性タイプは、 +.Sy SHF_ALLOC +と +.Sy SHF_WRITE +です。 +.It .debug +このセクションは、シンボリックデバッギングのための情報を持ちます。 +内容は、明記されていません。 +このセクションは、タイプ +.Sy SHT_PROGBITS +です。 +属性タイプは使われません。 +.It .dynamic +このセクションは、動的リンク情報を持ちます。 +セクションの属性は、 +.Sy SHF_ALLOC +ビットを含みます。 +.Sy SHF_WRITE +ビットがセットされるか否かは、プロセッサ依存です。 +このセクションは、タイプ +.Sy SHT_DYNAMIC +です。 +上の属性を見てください。 +.It .dynstr +このセクションは、動的リンクのために必要とされる文字列を持ちます。 +そして一般には、名前を表現する文字列であり、 +シンボルテーブルエントリと結び付けられています。 +このセクションは、タイプ +.Sy SHT_STRTAB +です。 +使われる属性タイプは、 +.Sy SHF_ALLOC +です。 +.It .dynsym +このセクションは、動的リンクシンボルテーブルを持ちます。 +このセクションは、タイプ +.Sy SHT_DYNSYM +です。 +使われる属性は、 +.Sy SHF_ALLOC +です。 +.It .fini +このセクションは、プロセス終了コードの実行可能命令を持ちます。 +プログラムの正常終了時に、 +システムはこのセクションのコードを実行します。 +このセクションは、タイプ +.Sy SHT_PROGBITS +です。 +使われる属性は、 +.Sy SHF_ALLOC +と +.Sy SHF_EXECINSTR +です。 +.It .got +このセクションは、グローバルオフセットテーブルを持ちます。 +このセクションは、タイプ +.Sy SHT_PROGBITS +です。 +属性は、プロセッサ依存です。 +.It .hash +このセクションは、シンボルハッシュテーブルを持ちます。 +このセクションは、タイプ +.Sy SHT_HASH +です。 +使われる属性は、 +.Sy SHF_ALLOC +です。 +.It .init +このセクションは、プロセス初期化コードの実行可能命令を持ちます。 +プログラム実行開始時に、 +メインプログラムエントリポイントを呼び出す前に、 +システムはこのセクションのコードを実行します。 +このセクションは、タイプ +.Sy SHT_PROGBITS +です。 +使われる属性は、 +.Sy SHF_ALLOC +と +.Sy SHF_EXECINSTR +です。 +.It .interp +このセクションは、プログラムインタプリタのパス名を持ちます。 +ファイルがこのセクションを含むロード可能なセグメントを持つならば、 +セクションの属性は +.Sy SHF_ALLOC +ビットを含みます。 +そうでない場合、このビットはオフです。 +このセクションは、タイプ +.Sy SHT_PROGBITS +です。 +.It .line +このセクションはシンボリックデバッギングのために行番号情報を持ちます。 +これは、プログラムソースとマシンコードの間の関係を記述します。 +内容は、明記されていません。 +このセクションは、タイプ +.Sy SHT_PROGBITS +です。 +属性タイプは使われません。 +.It .note +このセクションは、下で記述される +.Dq Note Section +フォーマットで、情報を持ちます。 +このセクションは、タイプ +.Sy SHT_NOTE +です。 +属性タイプは使われません。 +.It .plt +このセクションは、プロシージャリンケージテーブルを持ちます。 +このセクションは、タイプ +.Sy SHT_PROGBITS +です。 +属性はプロセッサ依存です。 +.It .relNAME +このセクションは、下記のように再配置情報を持ちます。 +ファイルが再配置を含むロード可能なセグメントを持つならば、 +セクションの属性は +.Sy SHF_ALLOC +ビットを含みます。 +そうでない場合、このビットはオフです。 +規約により、再配置されるセクションから +.Dq NAME +が与えられます。 +.Sy .text +のための再配置セクションは、通常名前 +.Sy .rel.text +を持ちます。 +このセクションは、タイプ +.Sy SHT_REL +です。 +.It .relaNAME +このセクションは、下記のように再配置情報を持ちます。 +ファイルが再配置を含むロード可能なセグメントを持つならば、 +セクションの属性は +.Sy SHF_ALLOC +ビットを含みます。 +そうでない場合、このビットはオフです。 +規約により、再配置されるセクションから +.Dq NAME +が与えられます。 +.Sy .text +のための再配置セクションは、通常名前 +.Sy .rela.text +を持ちます。 +このセクションは、タイプ +.Sy SHT_RELA +です。 +.It .rodata +このセクションは読み取り専用データを持ち、 +典型的にはプロセスイメージの書き込み不可セグメントになります。 +このセクションは、タイプ +.Sy SHT_PROGBITS +です。 +使われる属性は、 +.Sy SHF_ALLOC +です。 +.It .rodata1 +このセクションは読み取り専用データを持ち、 +典型的にはプロセスイメージの書き込み不可セグメントになります。 +このセクションは、タイプ +.Sy SHT_PROGBITS +です。 +使われる属性は、 +.Sy SHF_ALLOC +です。 +.It .shstrtab +このセクションはセクション名を持ちます。 +このセクションは、タイプ +.Sy SHT_STRTAB +です。 +属性タイプは使われません。 +.It .strtab +このセクションは文字列を持ちます。 +一般的には名前を表示する文字列であり、 +シンボルテーブルエントリと結び付けられています。 +ファイルがシンボル文字列テーブルを含むロード可能なセグメントを持つならば、 +セクションの属性は +.Sy SHF_ALLOC +ビットを含みます。 +そうでない場合、このビットはオフです。 +このセクションは、タイプ +.Sy SHT_STRTAB +です。 +.It .symtab +このセクションは、シンボルテーブルを持ちます。 +ファイルがシンボルテーブルを含むロード可能なセグメントを持つならば、 +セクションの属性は +.Sy SHF_ALLOC +ビットを含みます。 +そうでない場合、このビットはオフです。 +このセクションは、タイプ +.Sy SHT_SYMTAB +です。 +.It .text +このセクションは、プログラムの +.Dq テキスト +、すなわち実行可能命令を持ちます。 +このセクションは、タイプ +.Sy SHT_PROGBITS +です。 +使われる属性は、 +.Sy SHF_ALLOC +と +.Sy SHF_EXECINSTR +です。 +.It .jcr +このセクションは、登録される必要がある Java クラスの情報を持ちます。 +.It .eh_frame +このセクションは、C++ 例外処理に使用される情報を持ちます。 +.El +.Pp +文字列テーブルセクションは、ヌル文字で終わる文字シーケンス群を持ちます。 +これらは、一般に文字列と呼ばれます。 +オブジェクトファイルは、 +シンボルとセクション名を表現するためにこれらの文字列を使います。 +文字列テーブルセクションのインデックスとして、文字列を参照します。 +最初のバイト (インデックス 0) は、 +単一のヌル文字を持つと定義されます。 +同様に、文字列テーブルの最終バイトはヌル文字であると定義されので、 +文字列全体がナル終端されていることを保証します。 +.Pp +オブジェクトファイルのシンボルテーブルは、 +プログラムのシンボル定義と参照の位置決定に必要な情報を保持します。 +シンボルテーブルインデックスは、この配列の添字です。 +.Pp +.Bd -literal -offset indent +typedef struct { + Elf32_Word st_name; + Elf32_Addr st_value; + Elf32_Size st_size; + unsigned char st_info; + unsigned char st_other; + Elf32_Half st_shndx; +} Elf32_Sym; +.Ed +.Pp +.Bd -literal -offset indent +typedef struct { + Elf64_Half st_name; + unsigned char st_info; + unsigned char st_other; + Elf64_Quarter st_shndx; + Elf64_Addr st_value; + Elf64_Size st_size; +} Elf64_Sym; +.Ed +.Pp +.Bl -tag -width "st_value" -compact +.It Dv st_name +このメンバは、オブジェクトファイルの +シンボル文字列テーブルへのインデックスを持ちます。 +シンボル文字列テーブルは、シンボル名の文字表現を持ちます。 +値が 0 以外であるならば、 +それはシンボル名を与える文字列テーブルインデックスを示します。 +そうでない場合、シンボルテーブルには名前がありません。 +.It Dv st_value +このメンバは、関連したシンボルの値を与えます。 +.It Dv st_size +多くのシンボルは、関連した大きさを持ちます。 +シンボルには大きさが無いか未知である場合、このメンバは 0 です。 +.It Dv st_info +このメンバは、シンボルのタイプと束縛属性を指定します: +.Pp +.Bl -tag -width "STT_SECTION" -compact +.It Dv STT_NOTYPE +シンボルのタイプは、定義されません。 +.It Dv STT_OBJECT +シンボルは、データオブジェクトと結び付けられています。 +.It Dv STT_FUNC +シンボルは、関数または他の実行可能コードと結び付けられています。 +.It Dv STT_SECTION +シンボルは、セクションと結び付けられています。 +このタイプのシンボルテーブルエントリは、 +主に再配置のために存在して、通常 +.Sy STB_LOCAL +束縛を持ちます。 +.It Dv STT_FILE +規約により、シンボルの名前は、 +オブジェクトファイルと関連するソースファイルの名前を与えます。 +存在する場合、ファイルシンボルは +.Sy STB_LOCAL +束縛を持ち、そのセクションインデックスは +.Sy SHN_ABS +であり、 +それはファイルの他の +.Sy STB_LOCAL +シンボルに先行します。 +.It Dv STT_LOPROC +この値から +.Sy STT_HIPROC +以下は、プロセッサに固有のセマンティクスのために予約されています。 +.It Dv STT_HIPROC +この値から +.Sy STT_LOPROC +以上は、プロセッサに固有のセマンティクスのために予約されています。 +.El +.Pp +.Bl -tag -width "STB_GLOBAL" -compact +.It Dv STB_LOCAL +ローカルなシンボルは、 +それらの定義を含んでいるオブジェクトファイルの外側には、見えません。 +同じ名前のローカルなシンボルは、 +お互いのじゃまをすることなく複数ファイルで存在し得ます。 +.It Dv STB_GLOBAL +グローバルシンボルは、結合されている全てのオブジェクトファイルから見えます。 +あるファイルによるグローバルシンボルの定義は、 +別ファイルの同じシンボルの未定義参照を満足させます。 +.It Dv STB_WEAK +弱いシンボルはグローバルシンボルに似ています。 +しかし、彼らの定義は低い優先順位を持ちます。 +.It Dv STB_LOPROC +この値から +.Sy STB_HIPROC +以下は、プロセッサに固有のセマンティクスのために予約されています。 +.It Dv STB_HIPROC +この値から +.Sy STB_LOPROC +以上は、プロセッサに固有のセマンティクスのために予約されています。 +.Pp +束縛とタイプフィールドのパックおよびアンパック用のマクロがあります: +.Pp +.Bl -tag -width "ELF32_ST_INFO(bind, type)" -compact +.It Xo +.Fn ELF32_ST_BIND info +.Xc +または +.Fn ELF64_ST_BIND info +は、束縛を st_info 値から引出します。 +.It Xo +.Fn ELF64_ST_TYPE info +.Xc +または +.Fn ELF32_ST_TYPE info +は、タイプを st_info 値から引出します。 +.It Xo +.Fn ELF32_ST_INFO bind type +.Xc +または +.Fn ELF64_ST_INFO bind type +は、束縛とタイプを st_info 値へ変換します。 +.El +.El +.Pp +.It Dv st_other +このメンバは、現在 0 を持ち、定義された意味を持ちません。 +.It Dv st_shndx +あらゆるシンボルテーブルエントリは、 +なんらかのセクションに関して +.Dq 定義されています +。 +このメンバは、関連するセクションヘッダテーブルインデックスを持ちます。 +.El +.Pp +再配置は、シンボル参照とシンボル定義を接続する処理です。 +再配置可能なファイルは、それらのセクション内容の +修正方法を記述する情報を持つ必要があります。 +このようにして、実行可能ファイルと共有オブジェクトファイルが、 +プロセスのプログラムイメージのための正しい情報を持てます。 +再配置エントリは、これらのデータです。 +.Pp +加数を必要としない再配置構造体: +.Pp +.Bd -literal -offset indent +typedef struct { + Elf32_Addr r_offset; + Elf32_Word r_info; +} Elf32_Rel; +.Ed +.Bd -literal -offset indent +typedef struct { + Elf64_Addr r_offset; + Elf64_Size r_info; +} Elf64_Rel; +.Ed +.Pp +加数を必要とする再配置構造体: +.Pp +.Bd -literal -offset indent +typedef struct { + Elf32_Addr r_offset; + Elf32_Word r_info; + Elf32_Sword r_addend; +} Elf32_Rela; +.Ed +.Bd -literal -offset indent +typedef struct { + Elf64_Addr r_offset; + Elf64_Size r_info; + Elf64_Off r_addend; +} Elf64_Rela; +.Ed +.Pp +.Bl -tag -width "r_offset" -compact +.It Dv r_offset +このメンバは、再配置動作を適用する場所を与えます。 +再配置可能なファイルでは、 +値は、再配置によって影響を受ける記憶単位の +セクション先頭からのバイトオフセットです。 +実行可能ファイルまたは共用オブジェクトでは、 +値は、再配置によって影響を受ける記憶単位の仮想アドレスです。 +.It Dv r_info +このメンバは、 +再配置されるシンボルテーブルインデックスと、 +使用する再配置のタイプを与えます。 +再配置タイプは、プロセッサ依存です。 +テキストが再配置エントリの再配置タイプまたは +シンボルテーブルインデックスを参照するとき、 +エントリの +.Sy r_info +メンバに対し、それぞれ +.Sy ELF_[32|64]_R_TYPE +または +.Sy ELF[32|64]_R_SYM +を適用する結果を意味しています。 +.It Dv r_addend +このメンバは、定数の加数を指定します。 +これは、再配置可能なフィールドに +格納される値を計算するために使用されます。 +.El +.Sh 関連項目 +.Xr as 1 , +.Xr gdb 1 , +.Xr ld 1 , +.Xr objdump 1 , +.Xr execve 2 , +.Xr core 5 +.Rs +.%A Hewlett Packard +.%B Elf-64 Object File Format +.Re +.Rs +.%A Santa Cruz Operation +.%B System V Application Binary Interface +.Re +.Rs +.%A Unix System Laboratories +.%T Object Files +.%B "Executable and Linking Format (ELF)" +.Re +.Sh 歴史 +ELF ヘッダファイルは、 +.Fx 2.2.6 +で登場しました。 +ELF 自身は、最初に +.At V +で登場しました。 +ELF フォーマットは、標準として採用されています。 +.Sh 作者 +このマニュアルページは、BSDi の +.Bsx +.Xr elf 5 +のマニュアルページに触発されて、 +.An Jeroen Ruigrok van der Werven +.Aq asmodai@FreeBSD.org +が書きました。 diff --git a/documentation/manual-pages/ja/man5/ethers.5 b/documentation/manual-pages/ja/man5/ethers.5 new file mode 100644 index 0000000000..4768fe61e3 --- /dev/null +++ b/documentation/manual-pages/ja/man5/ethers.5 @@ -0,0 +1,100 @@ +.\" Copyright (c) 1995 +.\" Bill Paul <wpaul@ctr.columbia.edu>. All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. All advertising materials mentioning features or use of this software +.\" must display the following acknowledgement: +.\" This product includes software developed by Bill Paul. +.\" 4. Neither the name of the author nor the names of any co-contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY Bill Paul AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" %FreeBSD: src/share/man/man5/ethers.5,v 1.12 2002/01/14 16:59:01 ru Exp % +.\" $FreeBSD$ +.\" +.\" WORD: Internetworking インターネット +.\" WORD: fully-qualified-host-name 完全な形でのホスト名 +.\" +.Dd April 12, 1995 +.Dt ETHERS 5 +.Os +.Sh 名称 +.Nm ethers +.Nd イーサネットアドレスのデータベース +.Sh 解説 +.Nm +データベースは、 +インターネット上のホストの既知の 48 ビットイーサネットアドレスを格納します。 +データは +.Pa /etc/ethers +と呼ばれるファイルに次のフォーマットで格納されます: +.Bd -unfilled -offset indent +.Pa イーサネットアドレス 完全な形でのホスト名 +.Ed +.Pp +項目は任意個の空白文字やタブ文字で区切ります。 +行頭の ``#'' は行末まで続くコメントの開始を表します。 +行頭に ``+'' があると、 +.Xr ethers 3 +ライブラリ関数は、 +.Pa /etc/ethers +ファイルのデータだけでなく、 +.Xr NIS 4 +の +.Pa ethers.byname +と +.Pa ethers.byaddr +のマップのデータも使用します。 +.Pp +イーサネットアドレスは +.Tn ASCII +形式で "x:x:x:x:x:x" と表記されます。ここで、 +.Ar x +は 0x00 から 0xFF までの 16 進数です。 +アドレス値はネットワークオーダである必要があります。 +.Pa /etc/ethers +データベースで指定するホスト名は、 +.Xr hosts 5 +ファイルのエントリに対応する必要があります。 +.Pp +標準 C ライブラリの +.Fn ether_line +関数を使用して、 +.Pa /etc/ethers +データベースの各行を、個々のコンポーネントに分割可能です: +バイナリのイーサネットアドレスは +.Pa ether_addr +構造として、ホスト名は文字列として格納されます。 +.Sh 関連ファイル +.Bl -tag -width /etc/services -compact +.It Pa /etc/ethers +.Nm +ファイルは +.Pa /etc +にあります。 +.El +.Sh 関連項目 +.Xr ethers 3 , +.Xr yp 8 +.Sh 歴史 +.Nm +フォーマットは SunOS 4.1.x で使用されている形式を元にしています。 diff --git a/documentation/manual-pages/ja/man5/exports.5 b/documentation/manual-pages/ja/man5/exports.5 new file mode 100644 index 0000000000..7586e277ce --- /dev/null +++ b/documentation/manual-pages/ja/man5/exports.5 @@ -0,0 +1,355 @@ +.\" Copyright (c) 1989, 1991, 1993 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 4. Neither the name of the University nor the names of its contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" @(#)exports.5 8.3 (Berkeley) 3/29/95 +.\" %FreeBSD: src/usr.sbin/mountd/exports.5,v 1.27 2004/08/07 04:27:51 imp Exp % +.\" +.\" $FreeBSD$ +.\" +.Dd March 29, 1995 +.Dt EXPORTS 5 +.Os +.Sh 名称 +.Nm exports +.Nd +.Tn NFS +マウント要求に対するリモートマウントポイントを定義する +.Sh 書式 +.Nm +.Sh 解説 +.Nm +ファイルは +.Tn NFS +サーバの指定 1 つについて +.Tn NFS +マウントプロトコルに対するリモートマウントポイントを指定します。 +.%T "Network File System Protocol Specification" , +RFC1094, Appendix A +および +.%T "NFS: Network File System Version 3 Specification" , +Appendix I +を参照してください。 +.Pp +.Nm +ファイルの各行 (# で始まる注釈行以外) は、1 つ以上のホスト向けに、 +1 つのローカルサーバファイルシステム内の +マウントポイント (複数) とエクスポートフラグを指定します。 +長い行は一番最後の行以外の行をバックスラッシュ +.Pq Ql \e +で終らせると複数の行に分割することができます。 +あるホストは、 +サーバの各ローカルファイルシステムに関して唯 1 度だけ指定可能です。 +また他の全てのホストに適用されるデフォルトエントリは、 +各サーバファイルシステムに関して唯 1 つだけ指定できます。 +後者は ``世界'' に対しそのファイルシステムを公開することになるので、 +そのファイルシステムが公の情報を含むときにのみ用いるべきです。 +.Pp +マウントエントリ内の最初の欄 (複数) には、 +対応するクライアント (複数) がマウント可能である +サーバファイルシステム内ディレクトリパス (複数) を指定します。 +この指定には 2 つの形式があります。 +最初の指定形式は、 +全マウントポイントのリストであり、 +絶対ディレクトリパスを空白で区切ったものです。 +次の指定形式は、そのファイルシステムのルートパス名に続いて +.Fl alldirs +フラグを指定するものです。この形式は、そのファイルシステム内の任意の点を +ホスト (複数) がマウントすることを可能にします。 +.Xr mountd 8 +で +.Fl r +オプションを用いれば、任意の点には通常ファイルを含むことができます。 +パス名中には、シンボリックリンクを含んではなりませんし、また "." または ".." +を含んではなりません。 +1 つのファイルシステムに対するマウントポイントを複数指定することが可能であり、 +それぞれ異ったホストとエクスポートオプションの組を指定することができます。 +.Pp +行の 2 番目の部分には、そのファイルシステムがホストの組にどのように +エクスポートされているかを指定します。 +オプションフラグは、 +そのファイルシステムを読み取り専用でエクスポートしているのか +それとも読み書き可でエクスポートしているのかを指定したり、 +クライアントの UID がサーバ上のユーザ資格にどのように +マップされているのかを指定します。 +.Pp +エクスポートオプションは以下のとおりです。 +.Pp +.Sm off +.Fl maproot No = Sy user +.Sm on +指定されたユーザの資格を、root によるリモートアクセスに対して使用します。 +その資格には、ローカルマシン上でユーザが属する全てのグループを含みます ( +.Xr id 1 +参照)。ユーザは名前または数字です。 +.Pp +.Sm off +.Fl maproot No = Sy user:group1:group2:... +.Sm on +コロンによって区切られたリストは、 +root によるリモートアクセスに対して使用する正確な資格を指定するために +使用します。 +リストの要素は名前または数字です。 +グループを含まない資格をユーザに関する完全な資格と区別するためには、 +user: を使用すべきであることに注意してください。 +.Pp +.Sm off +.Fl mapall No = Sy user +.Sm on +または +.Sm off +.Fl mapall No = Sy user:group1:group2:... +.Sm on +.Fl maproot +と同じ指定方法で、 +(root を含む) 全てのクライアントの UID に対するマッピングを指定します。 +.Pp +.Fl r +オプションは +.Fl maproot +と同じ意味です。 +これは古い export ファイル形式と互換性を保つために用意されました。 +.Pp +.Fl maproot +および +.Fl mapall +オプションのない場合には、 +root によるリモートアクセスは -2:-2 という資格を用いることになります。 +その他の全てのユーザはそれぞれのリモート資格にマップされます。 +.Fl maproot +オプションを指定すると、root によるリモートアクセスは -2:-2 の代りに +指定した資格にマップされます。 +.Fl mapall +オプションを指定すると、root を含む全てのユーザはそれら自身の資格の代りに +指定した資格にマップされます。 +.Pp +.Fl ro +オプションは、ファイルシステムが読み取り専用としてエクスポートされることを +指定します (デフォルトは読み書き可)。 +.Fl o +オプションは +.Fl ro +と同じ意味です。 +これは古い export ファイル形式と互換性を保つために用意されました。 +.Pp +仕様 (RFC 2054 と RFC 2055) に厳密に従う +.Tn WebNFS +エクスポートは +.Fl public +フラグにて実現されます。 +しかしながら、このフラグ自身は、ファイルシステム中の全ファイルに対して +読み書きアクセスを与えますが、予約ポートを必要としませんし、 +uid のマッピングも行いません。 +これは仕様を満すためだけに提供されており、通常は使用すべきではありません。 +.Tn WebNFS +エクスポートのためには、 +.Fl webnfs +フラグを使用します。これは +.Fl public , +.Sm off +.Fl mapall No = Sy nobody , +.Sm on +.Fl ro +を意味します。 +サーバ上では 1 つのファイルシステムしか +.Tn WebNFS +エクスポートできないことに注意してください。 +.Pp +.Sm off +.Fl index No = Sy file +.Sm on +オプションを使用して、パブリックファイルハンドル +.Pq Tn WebNFS +を使用してディレクトリが検索された時にハンドルが返される +ファイルを指定できます。 +これは URL の動作のまねをします。 +.Fl index +オプションが指定されないと、通常通りディレクトリファイルハンドルが返されます。 +.Fl index +オプションは +.Fl public +または +.Fl webnfs +フラグと組み合わせたときのみ意味があります。 +.Pp +.Fl quiet +オプションを指定すると、 +.Pa /etc/exports +中の変な行に関する syslog への診断出力の一部を抑制します。 +既知のあり得る問題による五月蝿いエラーメッセージを避けるのに有用です +(後述の +.Sx 使用例 +参照)。 +.Pp +行の 3 番目の部分には、その行が適用されるホストの組を指定します。 +この組は 3 つの方法で指定できます。 +最初の方法はホスト名 (複数) を空白で区切って並べる方法です。 +(名前の代りに、標準的なインターネット ``ドット'' アドレスを用いることも +できます)。2 番目の方法はネットグループファイル ( +.Xr netgroup 5 +参照) の中で定義した ``netgroup'' を指定する方法です。 +3 番目の方法は、 1 つのネットワークとネットワークマスクを用いることにより、 +1 つのインターネットサブネットワークを指定する方法です。 +これは、 +そのサブネットワーク内のアドレスを持つ全てのホストの組として定義されます。 +この最後の方法はカーネルのオーバヘッドを低く押えられるため、 +1 つの管理サブネット内の多くのクライアントを +エクスポートの行が参照する場合に推奨されます。 +.Pp +最初の 2 つの指定方法では、単に空白で区切られた名前 (複数) を並べて指定します。 +全ての名前は、まずそれらが ``netgroup'' 名であるかチェックされ、 +そうでなければホスト名であると仮定されます。 +ホスト名に完全ドメイン指定をすれば、 +ネットグループと同じ名前を持つホストの問題を通常避けることができます。 +3 番目の指定方法は、 +.Sm off +.Fl network No = Sy netname +.Sm on +フラグとオプションの +.Sm off +.Fl mask No = Sy netmask +.Sm on +フラグによって指定します。マスクが指定されないと、そのネットワーククラス +(A, B, C のどれかです。 +.Xr inet 4 +を参照してください) に対するマスクとなります。 +後述の +.Sx 使用例 +参照。 +.Pp +.Xr mountd 8 +ユーティリティに +.Nm +ファイルを再度読み取らせるためには、 +ハングアップシグナルを次のように送ります: +.Bd -literal -offset indent +kill -s HUP `cat /var/run/mountd.pid` +.Ed +.Pp +.Dv SIGHUP +の送信後に +.Xr syslogd 8 +出力を確認して、 +.Nm +ファイル中の解析エラーを +.Xr mountd 8 +が記録したかどうか見てください。 +.Sh 関連ファイル +.Bl -tag -width /etc/exports -compact +.It Pa /etc/exports +デフォルトのリモートマウントポイントファイル +.El +.Sh 使用例 +.Bd -literal -offset indent +/usr /usr/local -maproot=0:10 friends +/usr -maproot=daemon grumpy.cis.uoguelph.ca 131.104.48.16 +/usr -ro -mapall=nobody +/u -maproot=bin: -network 131.104.48 -mask 255.255.255.0 +/u2 -maproot=root friends +/u2 -alldirs -network cis-net -mask cis-mask +/cdrom -alldirs,quiet,ro -network 192.168.33.0 -mask 255.255.255.0 +.Ed +.Pp +.Sy /usr , +.Sy /u , +.Sy /u2 +がローカルファイルシステムマウントポイントとすると、上の例は以下を指定します: +.Pp +.Sy /usr +はネットグループファイルで指定されるホスト群 +.Em friends +にエクスポートされ、 +この際ユーザはそれぞれのリモート資格にマップされ、 +root は UID 0 およびグループ 10 にマップされます。 +このファイルシステムは読み書き可でエクスポートされ、 +``friends'' 内のホストは /usr と /usr/local のどちらもマウントできます。 +このファイルシステムは +.Em 131.104.48.16 +および +.Em grumpy.cis.uoguelph.ca +にエクスポートされ、 +この際ユーザはそれぞれのリモート資格にマップされ、 +root は ``daemon'' に結び付けられたユーザおよびグループにマップされます。 +このファイルシステムは残りの世界へ読み出しのみでエクスポートされ、 +この際全てのユーザは ``nobody'' に結び付けられたユーザおよびグループに +マップされます。 +.Pp +.Sy /u +はサブネットワーク +.Em 131.104.48 +上の全てのホストにエクスポートされ、 +この際 root は ``bin'' の UID にマップされてグループアクセスを持ちません。 +.Pp +.Sy /u2 +は ``friends'' 中のホストにエクスポートされ、 +その際 root は ``root'' に結び付けられた UID とグループにマップされます。 +このファイルシステムは ``cis-net'' ネットワーク上の全てのホストへ +エクスポートされ、 +この際 /u2 内のどんなディレクトリへもマウントを許します。 +.Pp +サブディレクトリを含む +.Sy /cdrom +を根とするファイルシステムが、 +ネットワーク 192.168.33.0/24 へ読み取り専用でエクスポートされます。 +.Sy /cdrom +は CD-ROM デバイスの慣習的なマウントポイントですので、 +現在 CD-ROM メディアがマウントされていないとこのエクスポートは失敗します。 +何故なら、この行には +.Fl alldirs +があるため、ルートファイルシステムのサブディレクトリがエクスポート +されようとするのですが、これは許可されていないからです。 +.Fl quiet +オプションは、通常は syslog に記録されてしまう +この条件のエラーメッセージを抑制します。 +CD-ROM がマウントされると、 +.Xr mount 8 +は +.Xr mountd 8 +にこの状況を通知し、 +.Sy /cdrom +ファイルシステムが意図通りにエクスポートされます。 +.Fl alldirs +オプションを使用しないと、エクスポートは常に成功することに注意してください。 +この場合、 +.Sy /cdrom +下に CD-ROM メディアがマウントされていなくても、 +ルートファイルシステム中の (通常は空の) ディレクトリ +.Sy /cdrom +をエクスポートします。 +.Sh 関連項目 +.Xr netgroup 5 , +.Xr mountd 8 , +.Xr nfsd 8 , +.Xr showmount 8 +.Sh バグ +エクスポートオプションは、 +カーネル内ではローカルマウントポイントに結び付けられます。 +ローカルサーバマウントポイントのサブディレクトリでエクスポートされたものに、 +エクスポートオプションの矛盾があってはいけません。 +同じファイルシステム内の全てのエクスポートされたディレクトリは、 +木を下る順に隣り合った行で指定されることが推奨されます。 +ネットグループ名と同じ名前のホスト名は指定できません。 +完全ドメイン指定でホスト名を指定すれば通常は問題ありません。 diff --git a/documentation/manual-pages/ja/man5/fbtab.5 b/documentation/manual-pages/ja/man5/fbtab.5 new file mode 100644 index 0000000000..4e62cef48d --- /dev/null +++ b/documentation/manual-pages/ja/man5/fbtab.5 @@ -0,0 +1,55 @@ +.\" +.\" %FreeBSD: src/share/man/man5/fbtab.5,v 1.12 2001/11/20 16:18:21 ru Exp % +.\" +.\" $FreeBSD$ +.\" +.\" WORD: device デバイス(/dev 下のデバイスファイル関連のもの) +.\" WORD: comment コメント +.\" WORD: whitespace 空白 +.\" WORD: ownership 所有権(ファイルの) +.\" +.Dd August 22, 1994 +.Dt FBTAB 5 +.Os +.Sh 名称 +.Nm fbtab +.Nd ログイン時にデバイスの保護状態を変更する +.Sh 解説 +.Nm +ファイルには、 +単一デバイス・複数デバイスのリスト・それらのパーミッション +の 3 つを指定する行が複数個格納されます。 +コメントは +.Ql # +から開始し、行末まで続きます。 +.Pp +空行もしくはコメントのみの行は無視されます。 +.Pp +他の行は空白で区切られる次の 3 フィールドからなります: +ログインデバイス +.Pq Pa /dev/ttyv0 +・8 進数でのパーミッション値 (0600)・ +そしてコロン +.Pq Dq \&: +で区切ったデバイスパターンのリスト +.Pq Pa /dev/console , /dev/dsp* +です。 +すべてのデバイスパターンは、絶対パスです。 +.Pp +tty 引数 (相対パス) がログインデバイス名 (絶対パス) にマッチする場合、 +コロン区切りでリストされるデバイスのパーミッションが +第 2 フィールドで指定される値に設定され、 +所有者が UID と GID 引数の値に設定されます。 +.Sh 関連ファイル +.Bl -tag -width ".Pa /etc/fbtab" -compact +.It Pa /etc/fbtab +.Nm +ファイルは +.Pa /etc +にあります。 +.El +.Sh 関連項目 +.Xr login 1 , +.Xr getty 8 +.Sh 作者 +.An Guido van Rooij diff --git a/documentation/manual-pages/ja/man5/fdescfs.5 b/documentation/manual-pages/ja/man5/fdescfs.5 new file mode 100644 index 0000000000..010a7114ec --- /dev/null +++ b/documentation/manual-pages/ja/man5/fdescfs.5 @@ -0,0 +1,119 @@ +.\" Copyright (c) 1996 +.\" Mike Pritchard <mpp@FreeBSD.org>. All rights reserved. +.\" +.\" Copyright (c) 1992, 1993, 1994 +.\" The Regents of the University of California. All rights reserved. +.\" All rights reserved. +.\" +.\" This code is derived from software donated to Berkeley by +.\" Jan-Simon Pendry. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. All advertising materials mentioning features or use of this software +.\" must display the following acknowledgement: +.\" This product includes software developed by the University of +.\" California, Berkeley and its contributors. +.\" 4. Neither the name of the University nor the names of its contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" %FreeBSD: src/share/man/man5/fdescfs.5,v 1.14 2004/07/02 19:55:26 ru Exp % +.\" +.\" $FreeBSD$ +.\" WORD: file descriptor ファイル記述子 +.\" WORD: augment (union マウントによる)重ね合わせ +.\" +.Dd December 14, 1996 +.Dt FDESCFS 5 +.Os +.Sh 名称 +.Nm fdescfs +.Nd ファイル記述子ファイルシステム +.Sh 書式 +.Bd -literal +fdescfs /dev/fd fdescfs rw 0 0 +.Ed +.Sh 解説 +ファイル記述子ファイルシステム、別名 +.Nm +は、プロセス毎のファイル記述子の名前空間をグローバルなファイルシステムの +名前空間からアクセスする機能を提供します。 +通常のマウントポイントは +.Pa /dev/fd +です。 +.Pp +.Pp +ファイルシステムの中身は、番号で表したファイルのリストとして見えます。 +これらのファイルは、ディレクトリを読むプロセスが現在オープンしている +ファイルに対応しています。 +.Pa /dev/fd/0 +から +.Pa /dev/fd/# +までのファイルは記述子への参照であり、 +ファイルシステムを通じてアクセスすることができます。 +ファイル記述子がオープンされていて、ファイルをオープンしたときのモードが +既存の記述子のモードのサブセットである場合は、システムコール呼び出し +.Bd -literal -offset indent +fd = open("/dev/fd/0", mode); +.Ed +.Pp +と、システムコール呼び出し +.Bd -literal -offset indent +fd = fcntl(0, F_DUPFD, 0); +.Ed +.Pp +は等価です。 +.Pp +.Xr open 2 +呼び出し時のフラグは +.Dv O_RDONLY , +.Dv O_WRONLY +および +.Dv O_RDWR +以外は無視されます。 +.Sh 関連ファイル +.Bl -tag -width /dev/stderr -compact +.It Pa /dev/fd/# +.El +.Sh 関連項目 +.Xr tty 4 , +.Xr mount_devfs 8 , +.Xr mount_fdescfs 8 , +.Sh 歴史 +.Nm +ファイルシステムは +.Bx 4.4 +で最初に登場しました。 +.Nm +マニュアルページは +.Fx 2.2 +で最初に登場しました。 +.Sh 作者 +.An -nosplit +.Nm +マニュアルページは +.An Mike Pritchard Aq mpp@FreeBSD.org +によって書かれたもので、 +.An Jan-Simon Pendry +による +.Xr mount_fdescfs 8 +マニュアルページに基づいています。 diff --git a/documentation/manual-pages/ja/man5/finger.conf.5 b/documentation/manual-pages/ja/man5/finger.conf.5 new file mode 100644 index 0000000000..4633c80962 --- /dev/null +++ b/documentation/manual-pages/ja/man5/finger.conf.5 @@ -0,0 +1,94 @@ +.\"Copyright (c) 2000 Mark Knight <markk@knigma.org> +.\"All rights reserved. +.\" +.\"Redistribution and use in source and binary forms, with or without +.\"modification, are permitted provided that the following conditions +.\"are met: +.\"1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\"2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" +.\"THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +.\"ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\"IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\"ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +.\"FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\"DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\"OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\"HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\"LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\"OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\"SUCH DAMAGE. +.\" +.\"%FreeBSD: src/usr.bin/finger/finger.conf.5,v 1.4 2000/08/25 22:22:04 brian Exp % +.\" +.\" $FreeBSD$ +.Dd August 16, 2000 +.Dt FINGER.CONF 5 +.Os +.Sh 名称 +.Nm finger.conf +.Nd +.Xr finger 1 +エイリアス設定ファイル +.Sh 解説 +オプションの +.Nm +ファイルは、ローカルおよびネットワーク上のユーザからの finger 対象となりうる +別名を提供するために使用します。 +あるユーザのログイン名がそのユーザが好んで使っているメールアドレスと +同一ではない場合、あるいは、finger できるログイン名に仮想のものを +提供したい場合などに有効でしょう。 +.Pp +``#'' で始まる行はコメントです。 +その他の行には、コロンで区切られたエイリアス名とターゲット名が +含まれていなくてはなりません。 +ターゲット名はユーザ、他のエイリアスへの前方参照、あるいは +世界中から読み込み可能なファイルへのパスのいずれかでなくては +なりません。 +.Pp +エイリアスがファイルを指している場合、そのエイリアスで finger されたとき +指しているファイルの中身が表示されます。 +.Sh 使用例 +.Bd -literal +# /etc/finger.conf エイリアス定義ファイル +# +# Format alias:(user|alias) +# +# 個人名のエイリアス +# +markk:mkn +john.smith:dev329 +john:dev329 +sue:/etc/finger/sue.txt +# +# ネットワークステータスメッセージ +# +status:/usr/local/etc/status.txt +# +# 管理者のリダイレクト +# +root:admin +postmaster:admin +abuse:admin +# +# さしあたり、'sod' はシステム管理者です。 +# +admin:sod +.Ed +.Sh 関連ファイル +.Bl -tag -width /etc/finger.conf -compact +.It Pa /etc/finger.conf +.Xr finger 1 +エイリアス定義データベース +.El +.Sh 関連項目 +.Xr finger 1 +.Sh 歴史 +.Nm +ファイルのサポートは、Mark Knight <markk@knigma.org> が +提出し、最初に +.Fx 4.2 +で登場しました。 diff --git a/documentation/manual-pages/ja/man5/forward.5 b/documentation/manual-pages/ja/man5/forward.5 new file mode 100644 index 0000000000..0a68f0eb3b --- /dev/null +++ b/documentation/manual-pages/ja/man5/forward.5 @@ -0,0 +1,100 @@ +.\" Copyright (c) 1996 +.\" Mike Pritchard <mpp@FreeBSD.org>. All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. All advertising materials mentioning features or use of this software +.\" must display the following acknowledgement: +.\" This product includes software developed by Mike Pritchard and +.\" contributors. +.\" 4. Neither the name of the author nor the names of its contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" %FreeBSD: src/share/man/man5/forward.5,v 1.8 2004/07/03 18:29:22 ru Exp % +.\" +.\" $FreeBSD$ +.\" +.\" WORD: quote クォート(単一引用符または二重引用符文字のこと) +.\" +.Dd July 2, 1996 +.Dt FORWARD 5 +.Os +.Sh 名称 +.Nm forward +.Nd メールの転送指示 +.Sh 解説 +.Nm .forward +ファイルは、ユーザのメールの転送先の +メールアドレスもしくはプログラムのリストを格納します。 +このファイルが存在しない場合には、メール転送は行なわれません。 +行頭に標準のシェルパイプシンボル (|) を付けることにより、 +メールはプログラムの標準入力として転送されます。 +引数をコマンドに渡す場合には、行全体をクォートで括る必要があります。 +セキュリティ上の理由で、 +.Nm .forward +ファイルはメール送付先のユーザもしくは root が所有者である必要があり、 +ユーザのシェルが +.Pa /etc/shells +にリストされている必要があります。 +.Pp +例えば、 +.Nm .forward +ファイルが以下の行を含む場合: +.Bd -literal -offset indent +nobody@FreeBSD.org +"|/usr/bin/vacation nobody" +.Ed +.Pp +メールは +.Aq nobody@FreeBSD.org +に転送され、 +単一引数 +.Ar nobody +を伴なってプログラム +.Pa /usr/bin/vacation +に転送されます。 +.Pp +ローカルユーザのアドレスの前にバックスラッシュ文字が付いている場合、 +メールは直接そのユーザのメールスプールファイルに配送され、 +更なる転送処理は回避されます。 +.Pp +例えば、ユーザ chris の +.Nm .forward +ファイルに次の行を含む場合: +.Bd -literal -offset indent +chris@otherhost +\echris +.Ed +.Pp +メールの一方のコピーは +.Ar chris@otherhost +に転送され、 +もう一方のコピーはローカルユーザ chris へのメールとして記録されます。 +.Sh 関連ファイル +.Bl -tag -width $HOME/.forward -compact +.It Pa $HOME/.forward +ユーザによる転送指示 +.El +.Sh 関連項目 +.Xr aliases 5 , +.Xr mailaddr 7 , +.Xr sendmail 8 diff --git a/documentation/manual-pages/ja/man5/fs.5 b/documentation/manual-pages/ja/man5/fs.5 new file mode 100644 index 0000000000..162e375f1d --- /dev/null +++ b/documentation/manual-pages/ja/man5/fs.5 @@ -0,0 +1,379 @@ +.\" Copyright (c) 1983, 1991, 1993 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. All advertising materials mentioning features or use of this software +.\" must display the following acknowledgement: +.\" This product includes software developed by the University of +.\" California, Berkeley and its contributors. +.\" 4. Neither the name of the University nor the names of its contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" @(#)fs.5 8.2 (Berkeley) 4/19/94 +.\" %FreeBSD: src/share/man/man5/fs.5,v 1.21 2004/07/03 18:29:22 ru Exp % +.\" +.\" $FreeBSD$ +.\" +.Dd April 19, 1994 +.Dt FS 5 +.Os +.Sh 名称 +.Nm fs , +.Nm inode +.Nd ファイルシステムボリュームのフォーマット +.Sh 書式 +.In sys/param.h +.In ufs/ffs/fs.h +.Pp +.In sys/types.h +.In sys/lock.h +.In ufs/ufs/quota.h +.In ufs/ufs/inode.h +.Sh 解説 +ファイル +.In fs.h +と +.In inode.h +は、ランダムアクセスデバイス (ディスク) 上のファイルシステムオブジェクト +の基本フォーマットを作成、管理する際に使われるいくつかの構造体、 +定義済み変数、マクロを宣言します。 +.Pp +ファイルシステムはブロックサイズとブロック数から構成されており、 +これらはファイルシステムのパラメータになります。 +.Dv BBLOCK +から始まり +大きさ +.Dv BBSIZE +だけ続くセクタは、 +ディスクラベルといくつかの一次、二次ハードウェアブートストラッププログラム +のために使われます。 +.Pp +実際のファイルシステムは、 +.Dv SBLOCK +セクタから始まり、そこには +大きさが +.Dv SBLOCKSIZE +である +.Em スーパブロック +があります。 +ファイル +.In ufs/ffs/fs.h +にある以下の構造体は、スーパブロックを記述しています。 +.Bd -literal +/* + * FFS ファイルシステムのスーパブロック + */ +struct fs { + int32_t fs_firstfield; /* 内部スーパブロック用に使われる、歴史的 */ + int32_t fs_unused_1; /* FS リンクリスト */ + int32_t fs_sblkno; /* fs 内スーパブロックオフセット */ + int32_t fs_cblkno; /* fs 内シリンダブロックオフセット */ + int32_t fs_iblkno; /* fs 内 inode ブロックオフセット */ + int32_t fs_dblkno; /* cg 後の最初のデータのオフセット */ + int32_t fs_old_cgoffset; /* シリンダ内のシリンダグループオフセット */ + int32_t fs_old_cgmask; /* mod fs_ntrak の計算に使われる */ + int32_t fs_old_time; /* 最後に書き込まれた時刻 */ + int32_t fs_old_size; /* fs 内のブロック数 */ + int32_t fs_old_dsize; /* fs 内のデータブロック数 */ + int32_t fs_ncg; /* シリンダグループの数 */ + int32_t fs_bsize; /* fs 内の基本ブロックサイズ */ + int32_t fs_fsize; /* fs 内のフラグメントブロックサイズ */ + int32_t fs_frag; /* fs の 1 ブロック中のフラグメント数 */ +/* 以下はコンフィギュレーションパラメータ */ + int32_t fs_minfree; /* フリーブロックの最小パーセンテージ */ + int32_t fs_old_rotdelay; /* 最適な次ブロックのための ms 数 */ + int32_t fs_old_rps; /* 1 秒あたりのディスク回転 */ +/* これらのフィールドは他のフィールドから計算できる */ + int32_t fs_bmask; /* ``blkoff'' ブロックオフセットの計算 */ + int32_t fs_fmask; /* ``fragoff'' フラグメントオフセットの計算 */ + int32_t fs_bshift; /* ``lblkno'' 論理ブロック番号の計算 */ + int32_t fs_fshift; /* ``numfrags'' フラグメント数の計算 */ +/* 以下はコンフィギュレーションパラメータ */ + int32_t fs_maxcontig; /* 連続したブロックの最大数 */ + int32_t fs_maxbpg; /* シリンダグループあたりの最大ブロック数 */ +/* これらのフィールドは他のフィールドから計算できる */ + int32_t fs_fragshift; /* フラグメントシフトするブロック */ + int32_t fs_fsbtodb; /* fsbtodb と dbtofsb シフト定数 */ + int32_t fs_sbsize; /* スーパブロックの実際の大きさ */ + int32_t fs_spare1[2]; /* 古い fs_csmask */ + /* 古い fs_csshift */ + int32_t fs_nindir; /* NINDIR の値 */ + int32_t fs_inopb; /* INOPB の値 */ + int32_t fs_old_nspf; /* NSPF の値*/ +/* 別のコンフィギュレーションパラメータ */ + int32_t fs_optim; /* 最適化の選択、以下を参照 */ + int32_t fs_old_npsect; /* 予備を含む、トラックあたりセクタ数 */ + int32_t fs_old_interleave; /* ハードウェアセクタインタリーブ */ + int32_t fs_old_trackskew; /* トラックあたりのセクタ 0 スキュー */ + int32_t fs_id[2]; /* ユニークなファイルシステム ID */ +/* シリンダグループの数とサイズにより決められるサイズ */ + int32_t fs_old_csaddr; /* シリンダグループ総括領域のブロックアドレス */ + int32_t fs_cssize; /* シリンダグループ総括領域のサイズ */ + int32_t fs_cgsize; /* シリンダグループサイズ */ + int32_t fs_spare2; /* 古い fs_ntrak */ + int32_t fs_old_nsect; /* トラックあたりのセクタ数 */ + int32_t fs_old_spc; /* シリンダあたりのセクタ数 */ + int32_t fs_old_ncyl; /* ファイルシステムのシリンダ数 */ + int32_t fs_old_cpg; /* グループあたりのシリンダ数 */ + int32_t fs_ipg; /* グループあたりの inode 数 */ + int32_t fs_fpg; /* グループあたりのブロック数 * fs_frag */ +/* このデータはクラッシュ後に再計算されなければならない */ + struct csum fs_old_cstotal; /* シリンダ総括情報 */ +/* 以下のフィールドはマウント時にクリアされる */ + int8_t fs_fmod; /* スーパブロック変更フラグ */ + int8_t fs_clean; /* ファイルシステムがクリーンであるフラグ */ + int8_t fs_ronly; /* 読み込み専用でマウントされたフラグ */ + int8_t fs_old_flags; /* 古い FS_ フラグ */ + u_char fs_fsmnt[MAXMNTLEN]; /* マウント場所の名前 */ + u_char fs_volname[MAXVOLLEN]; /* ボリューム名 */ + u_int64_t fs_swuid; /* システムワイドの UID */ + int32_t fs_pad; /* fs_swuid のアラインメント用 */ +/* これらのフィールドは現在のブロックの配置情報を保持する */ + int32_t fs_cgrotor; /* 最後に検索された cg */ + void *fs_ocsp[NOCSPTRS]; /* パッド。fs_cs バッファのリストだった */ + u_int8_t *fs_contigdirs; /* 連続割り当てされた dir 数 */ + struct csum *fs_csp; /* fs_cs 情報バッファのリスト */ + int32_t *fs_maxcluster; /* 各シリンダグループの最大クラスタ */ + u_int *fs_active; /* fs トラック用に、スナップショットが使用 */ + int32_t fs_old_cpc; /* postbl 内のサイクルあたりのシリンダ */ + int32_t fs_maxbsize; /* 最大のブロック化係数 */ + int64_t fs_sparecon64[17]; /* 古いローテーションブロックリストヘッド */ + int64_t fs_sblockloc; /* 標準のスーパブロックのバイトオフセット */ + struct csum_total fs_cstotal; /* シリンダ総括情報 */ + ufs_time_t fs_time; /* 最後に書き込まれた時刻 */ + int64_t fs_size; /* fs 中のブロック数 */ + int64_t fs_dsize; /* fs 中のデータブロック数 */ + ufs2_daddr_t fs_csaddr; /* シリンダグループ総括情報領域のブロックアドレス */ + int64_t fs_pendingblocks; /* 現在開放途中のブロック数 */ + int32_t fs_pendinginodes; /* 現在開放途中の inode 数 */ + int32_t fs_snapinum[FSMAXSNAP]; /* スナップショット inode 数のリスト */ + int32_t fs_avgfilesize; /* ファイルサイズの平均の期待値 */ + int32_t fs_avgfpdir; /* ディレクトリあたりのファイル数の期待値 */ + int32_t fs_save_cgsize; /* 実 cg サイズを保存し、fs_bsize を使用 */ + int32_t fs_sparecon32[26]; /* 将来の定数のための予約 */ + int32_t fs_flags; /* 後述の FS_ フラグ参照 */ + int32_t fs_contigsumsize; /* クラスタ総括配列の大きさ */ + int32_t fs_maxsymlinklen; /* 内部シンボリックリンクの最大長 */ + int32_t fs_old_inodefmt; /* ディスク上の inode のフォーマット */ + u_int64_t fs_maxfilesize; /* 最大表示可能ファイルサイズ */ + int64_t fs_qbmask; /* ~fs_bmask - 64 ビットサイズで使う */ + int64_t fs_qfmask; /* ~fs_fmask - 64 ビットサイズで使う */ + int32_t fs_state; /* fs_clean フィールドが有効であることを示す */ + int32_t fs_old_postblformat; /* 位置レイアウトテーブルのフォーマット */ + int32_t fs_old_nrpos; /* 回転位置の数 */ + int32_t fs_spare5[2]; /* 古い fs_postbloff */ + /* 古い fs_rotbloff */ + int32_t fs_magic; /* マジックナンバ */ +}; + +/* + * ファイルシステム識別 + */ +#define FS_UFS1_MAGIC 0x011954 /* UFS1 ファストファイルシステムのマジックナンバ */ +#define FS_UFS2_MAGIC 0x19540119 /* UFS2 ファストファイルシステムのマジックナンバ */ +#define FS_OKAY 0x7c269d38 /* スーパブロックチェックサム */ +#define FS_42INODEFMT -1 /* 4.2BSD inode フォーマット */ +#define FS_44INODEFMT 2 /* 4.4BSD inode フォーマット */ + +/* + * 最適化のための選択 + */ +#define FS_OPTTIME 0 /* 最小アロケーション時間 */ +#define FS_OPTSPACE 1 /* 最小ディスクフラグメンテーション */ +.Ed +.Pp +各ディスクドライブはいくつかのファイルシステムを含んでいます。 +1 つのファイルシステムは、いくつかのシリンダグループから成ります。 +各シリンダグループには inode とデータがあります。 +.Pp +ファイルシステムは、シリンダグループを順番に記述するスーパブロックに +よって記述されています。 +スーパブロックは重要なデータであり、壊滅的な損失から守るために +各シリンダグループに複製されています。 +これはファイルシステム作成時に行なわれ、重要なスーパブロックデータは +変更されないので、特に惨事がふりかからなければ、複製が参照される +必要はありません。 +.Pp +inode に保存されたアドレスによって、`ブロック' のフラグメントの +位置を決めることができます。 +ファイルシステムブロックのほとんどは +.Dv MAXBSIZE +ですが、2, 4, 8 個に分けることが自由にでき、 +それぞれを位置指定できます。 +これらの断片は +.Dv DEV_BSIZE +または +.Dv DEV_BSIZE +単位の倍数であれば良いのです。 +.Pp +大きなファイルは、非常に大きなデータブロックからなります。 +ディスクスペースの過度の浪費を避けるために、小さなファイルの +最後のデータブロックは、 +大きなブロックのフラグメントが必要な数だけ配置されます。 +ファイルシステムフォーマットは、そのようなフラグメント (大きなブロックを +分割した一片) の 1 つへのポインタだけを保持します。 +そのようなフラグメントの大きさは、 +inode にある情報から決定することができ、 +.Fn blksize fs ip lbn +マクロが使っています。 +.Pp +ファイルシステムは、提供可能な空きをフラグメントレベルで記録します。 +つまり、ブロックの空きを決定するために、フラグメントを並べて調べます。 +.Pp +root inode は、ファイルシステムのおおもとです。 +inode 0 は、通常の目的では使われず、歴史的に +バッドブロックは inode 1 にリンクされます。 +したがって root inode は、2 です +(inode 1 は、もはやこの目的では使われませんが、 +多くのダンプテープがこの仮定をしているので、それについては変更できません)。 +.Pp +.Fa fs_minfree +要素は、空いているファイルシステムブロックの最低許容割合を与えます。 +空きリストがこのレベル以下になった場合、スーパユーザ +だけがブロックの確保を続けることができます。 +.Fa fs_minfree +要素は、空きブロックの予備が必要ないと思われたら 0 にセットしても +かまいませんが、ファイルシステムが 90% 以上詰まった状態で動いているときには、 +かなり性能が低下するでしょう。 +そのためデフォルトの +.Fa fs_minfree +の値は 10% になっています。 +.Pp +経験上、ブロックフラグメンテーションと 90% 使用中のディスク全体の利用 +の兼ね合いが最も良いのは、フラグメンテーション 8 のときです。 +そのためデフォルトのフラグメントサイズはブロックサイズの 8 倍になっています。 +.Pp +要素 +.Fa fs_optim +はファイルシステムがブロックを確保するのに要する時間を最小に +しようとするか、それともディスク上の領域のフラグメンテーションを最小に +しようとするかを指定します。 +fs_minfree (上記参照) の値が 10% より小さい場合は、ファイルシステム +は空間の最適化をデフォルトとし、 +完全な大きさのブロックがなくならないようにします。 +minfree の値が 10% と等しいかそれ以上の場合には、フラグメンテーション +が問題とはなりにくく、ファイルシステムは時間の最適化をデフォルトに +します。 +.Pp +.Em シリンダグループに関連した制限 : +連続したブロックを最小の回転遅れで配置することができるよう、 +各シリンダは異なる回転位置での利用可能なブロック数を保持し続けます。 +デフォルトでは回転位置を 8 分割で表し、このときの総括情報の分解能は +典型的な 3600 rpm のドライブで 2ms になります。 +.Pp +要素 +.Fa fs_old_rotdelay +は、同一シリンダ上で別のディスク転送を開始する +最小ミリ秒数を与えます。 +これは、あるファイル中のディスクブロックの周回の中での最適な配置を +決定するのに使われます。 +デフォルトの +.Fa fs_old_rotdelay +の値は 2ms です。 +.Pp +各ファイルシステムは、静的に割り当てられた数の inode を持っています。 +inode は、ディスク空間あたり +.Dv NBPI +バイト確保されます。 +inode を配置する戦略は、極端に保守的です。 +.Pp +.Dv MINBSIZE +が許される最小のブロックサイズです。 +.Dv MINBSIZE +が 4096 では、2 段までの(ブロック)間接参照を使って +2^32 の大きさのファイルを作ることができます。 +.Dv MINBSIZE +は、シリンダグループブロックを保持するのに十分な大きさでなければ +なりません。 +したがって +.Pq Fa 構造体 cg +への変更は大きさを +.Dv MINBSIZE +以内にしておかなければなりません。 +スーパブロックは決して +.Dv SBLOCKSIZE +の大きさ以上ではないということに注意して下さい。 +.Pp +ファイルシステムがマウントされているパス名は、 +.Fa fs_fsmnt +に保持されます。 +.Dv MAXMNTLEN +は、この名前のためにスーパブロックに割り当てられた領域の量を定義します。 +ファイルシステム毎の総括情報の量の上限は、 +.Dv MAXCSBUFS +により定義されています。 +4096 バイトブロックサイズの場合では、これは現在最大 200 万シリンダ分 +用意されています。 +.Pp +それぞれのシリンダグループ情報は、先頭のシリンダグループ +データブロックから確保されたブロックに要約されます。 +これらのブロックはスーパブロックに加えて +.Fa fs_csaddr +( +.Fa fs_cssize の大きさ) +から読み込まれます。 +.Pp +.Sy 注意: +.Fn sizeof "struct csum" +は +.Fn fs_cs +マクロを動かすために 2 のべき乗でなければなりません。 +.Pp +.Em "ファイルシステムのスーパブロック" : +周回レイアウトテーブルの大きさは、スーパブロックが +.Dv SBLOCKSIZE +の大きさを持つことにより制限されています。 +これらのテーブルの大きさは、ファイルシステムのブロックサイズに +.Em 逆比例 +します。 +セクタサイズが 2 のべき乗でないときには、周回パターンを +.Pq Fa fs_cpc +だけ繰り返すまでに含まれるシリンダ数が増加するので、 +同様にテーブルの大きさも増加します。 +周回レイアウトテーブルの大きさは、 +.Pq Fa struct fs +に残っているバイト数から割り出されます。 +.Pp +シリンダグループあたりのデータブロック数は、シリンダグループが +たかだか 1 ブロックであるので、制限されています。 +inode と空きブロックテーブルは、単一ブロックから +シリンダグループ構造体 +.Pq Fa struct cg +のための領域を除いた残りにぴったり合っていなければなりません。 +.Pp +.Em Inode : +inode は、 +.Ux +ファイルシステム内のすべてのファイルに関する動作の中心です。 +各アクティブなファイル、カレントディレクトリ、マウントされたファイル、 +テキストファイル、root には、それぞれユニークな inode が割り当てられます。 +inode はそのデバイス / i 番号によって `名前付け' されています。 +詳しくはインクルードファイル +.In ufs/ufs/inode.h +を参照して下さい。 +.Sh 歴史 +filsys と名付けられたスーパブロック構造は +.At v6 +から登場しました。このマニュアルで記述されているファイルシステムは +.Bx 4.2 +から登場しました。 diff --git a/documentation/manual-pages/ja/man5/fstab.5 b/documentation/manual-pages/ja/man5/fstab.5 new file mode 100644 index 0000000000..ac363a08d4 --- /dev/null +++ b/documentation/manual-pages/ja/man5/fstab.5 @@ -0,0 +1,236 @@ +.\" Copyright (c) 1980, 1989, 1991, 1993 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. All advertising materials mentioning features or use of this software +.\" must display the following acknowledgement: +.\" This product includes software developed by the University of +.\" California, Berkeley and its contributors. +.\" 4. Neither the name of the University nor the names of its contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" @(#)fstab.5 8.1 (Berkeley) 6/5/93 +.\" %FreeBSD: src/share/man/man5/fstab.5,v 1.26 2004/07/03 18:29:22 ru Exp % +.\" +.\" $FreeBSD$ +.\" +.Dd June 5, 1993 +.Dt FSTAB 5 +.Os +.Sh 名称 +.Nm fstab +.Nd ファイルシステムに関する静的情報 +.Sh 書式 +.In fstab.h +.Sh 解説 +.Nm +ファイルは、さまざまなファイルシステムについて記述した情報を格納します。 +.Nm +はプログラムによって読み出されるだけで、書き込みはされません。 +このファイルを適切に作成、保守するのはシステム管理者の責務です。 +各ファイルシステムは個別の行に記述されます。 +各々の行のフィールドはタブまたはスペースによって区切られます。 +.Xr fsck 8 , +.Xr mount 8 , +.Xr umount 8 +が +.Nm +を通じて必要な処理を連続して繰り返すため、 +.Nm +のレコードの順序は重要な意味を持ちます。 +.Pp +第 1 フィールド +.Pq Fa fs_spec +はマウントされるブロック型スペシャルデバイス、またはリモートのファイル +システムを表します。 +.Em ufs +形式のファイルシステムでは、特殊ファイル名はブロック型特殊ファイル名であり、 +キャラクタ型特殊ファイル名ではありません。 +プログラムがキャラクタ型特殊ファイル名を必要とする場合、そのプログラム +が特殊ファイル名の中の最後の ``/'' の後ろに ``r'' を追加することで +キャラクタ特殊ファイル名を作成する必要があります。 +.Pp +第 2 フィールド +.Pq Fa fs_file +はファイルシステムのマウントポイントを表します。 +スワップパーティションでは、このフィールドには ``none'' と記述すべきです。 +.Pp +第 3 フィールド +.Pq Fa fs_vfstype +はファイルシステムの形式を表します。 +システムはさまざまなファイルシステム形式をサポートできます。 +ルート、 /usr および /tmp のファイルシステムだけはカーネルに静的に組み +込まれている必要があります。 +他のすべてのファイルシステムはマウント時に自動的にロードされます +(例外 : UFS 系 - FFS, LFS は現在のところデマンドロードは +できません)。 +いまだに他のファイルシステムも同様に静的に組み込むのを好む人もいるようです。 +.Pp +第 4 フィールド +.Pq Fa fs_mntops +は、ファイルシステムに関連するマウントオプションを表します。 +これはコンマで区切られたオプションのリストとして記述されます。 +これは少なくともマウントの形式 (以下の +.Fa fs_type +参照) を含み、加えてファイルシステム形式に特有のいくつかの追加の +オプションを含みます。 +指定可能なオプションフラグに関しては、 +.Xr mount 8 +ページおよび +.Xr mount_nfs 8 +等のファイルシステム固有のページの、オプションフラグ +.Pq Fl o +を参照してください。 +.Pp +``userquota'' および ``groupquota'' オプションの双方、またはいずれかが +指定されている場合、ファイルシステムは自動的に +.Xr quotacheck 8 +コマンドによって処理され、ユーザおよびグループクォータが +.Xr quotaon 8 +で有効にされます。 +デフォルトでは、ファイルシステムのクォータは関連するファイルシステムの +ルートに置かれた +.Pa quota.user +および +.Pa quota.group +というファイルで管理されます。 +これらのデフォルトは、クォータオプションの直後に等号とデフォルトに代わる +絶対パス名を置くことで変更することができます。 +従って、 +.Pa /tmp +のユーザクォータファイルを +.Pa /var/quotas/tmp.user +に置く場合、そのファイルの場所は以下のように指定されます。 +.Bd -literal -offset indent +userquota=/var/quotas/tmp.user +.Ed +.Pp +``noauto'' オプションが指定されている場合、ファイルシステムはシステム +起動時に自動的にマウントされません。 +サードパーティタイプのネットワークファイルシステム +(ベースシステムに含まれない追加ソフトウェアがサポートするタイプ) +がシステム起動時に自動的にマウントされるようにするには、 +.Va extra_netfs_types +.Xr rc.conf 5 +変数を使用し、 +.Xr rc 8 +起動スクリプトのネットワークファイルシステムタイプのリストを +拡張する必要があります。 +.Pp +マウント形式は +.Fa fs_mntops +フィールドから取り出され、 +.Fa fs_type +フィールドに個別に保存されます ( +.Fa fs_mntops +フィールドからは削除されません)。 +.Fa fs_type +が ``rw'' または ``ro'' ならば、 +.Fa fs_file +フィールドで指定されたファイルシステムは、読み書き可能、または読み出し +専用で指定の特殊ファイルに正常にマウントされます。 +.Fa fs_type +が ``sw'' ならば、特殊ファイルはシステムのリブート処理の最後に +.Xr swapon 8 +コマンドによってスワップ領域の一部として使用されます。 +.Fa fs_spec +と +.Fa fs_type +以外のフィールドは使用されません。 +.Fa fs_type +が ``xx'' と指定されている場合、このエントリは無視されます。 +これは、現在使用されていないディスクパーティションを表すのに便利です。 +.Pp +第 5 フィールド +.Pq Fa fs_freq +は、どのファイルシステムがダンプされる必要があるか決定するために +.Xr dump 8 +コマンドによって使用されます。 +第5フィールドが与えられていない場合は 0 が返され、 +.Nm dump +コマンドはそのファイルシステムをダンプする必要がないと見なします。 +.Pp +第 6 フィールド +.Pq Fa fs_passno +は、リブート時にファイルシステムのチェックが行われる順序を決定するために +.Xr fsck 8 +プログラムによって使用されます。 +ルートファイルシステムは +.Fa fs_passno +に 1、他のファイルシステムは +.Fa fs_passno +に 2 が指定されているべきです。 +1つのドライブ内のファイルシステムは逐次的にチェックされますが、 +異なるドライブ上のファイルシステムは、ハードウェアの並列性を利用して +同時にチェックされます。 +第6フィールドが与えられていないか 0 の場合、0 が返され、 +.Xr fsck 8 +コマンドはそのファイルシステムをチェックする必要がないと見なします。 +.Bd -literal +#define FSTAB_RW "rw" /* 読み書き可能デバイス */ +#define FSTAB_RQ "rq" /* クォータ付き読み書き可能デバイス */ +#define FSTAB_RO "ro" /* 読み出し専用デバイス */ +#define FSTAB_SW "sw" /* スワップデバイス */ +#define FSTAB_XX "xx" /* 完全に無視 */ + +struct fstab { + char *fs_spec; /* ブロック型スペシャルデバイス名 */ + char *fs_file; /* ファイルシステムのパスのプレフィックス */ + char *fs_vfstype; /* ufs,nfs などのファイルシステム形式 */ + char *fs_mntops; /* -o に準拠したマウントオプション */ + char *fs_type; /* fs_mntops から FSTAB_* のコピー */ + int fs_freq; /* ダンプ周期の日数 */ + int fs_passno; /* 並列 fsck のパス番号 */ +}; +.Ed +.Pp +.Pa fstab +のレコードを適切に読み出すには、 +.Xr getfsent 3 , +.Xr getfsspec 3 , +.Xr getfstype 3 , +.Xr getfsfile 3 +ルーチンを使用します。 +.Sh 関連ファイル +.Bl -tag -width /etc/fstab -compact +.It Pa /etc/fstab +.Nm +ファイルは +.Pa /etc +に存在します。 +.El +.Sh 関連項目 +.Xr getfsent 3 , +.Xr getvfsbyname 3 , +.Xr dump 8 , +.Xr fsck 8 , +.Xr mount 8 , +.Xr quotacheck 8 , +.Xr quotaon 8 , +.Xr swapon 8 , +.Xr umount 8 +.Sh 歴史 +.Nm +ファイルフォーマットは +.Bx 4.0 +から登場しました。 diff --git a/documentation/manual-pages/ja/man5/ftpchroot.5 b/documentation/manual-pages/ja/man5/ftpchroot.5 new file mode 100644 index 0000000000..da2c2ce14f --- /dev/null +++ b/documentation/manual-pages/ja/man5/ftpchroot.5 @@ -0,0 +1,117 @@ +.\" Copyright (c) 2003 FreeBSD Project +.\" All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" %FreeBSD: src/libexec/ftpd/ftpchroot.5,v 1.3 2003/06/01 19:52:36 ru Exp % +.\" +.\" $FreeBSD$ +.Dd January 26, 2003 +.Dt FTPCHROOT 5 +.Os +.Sh 名称 +.Nm ftpchroot +.Nd "FTP アクセス制限を受けるユーザとグループの一覧" +.Sh 解説 +ファイル +.Nm +は、FTP セッション開始時にそのユーザの認証後、 +.Xr ftpd 8 +によって読み込まれます。 +.Nm +の各行はユーザまたはグループに対応します。 +もし +.Nm +のある行が現在のユーザ、あるいはそのユーザが所属するグループにマッチした場合、 +このセッションではこの行に記された、またはこのユーザのログインディレクトリに、 +.Xr chroot 2 +によってルートディレクトリが変更されるアクセス制限が適用されます。 +.Pp +.Nm +におけるレコードの順番は重要です。何故なら最初にマッチしたものが +使用されるからです。各行のフィールドはタブか空白で区切られます。 +.Pp +最初のフィールドはユーザまたはグループ名です。もし +.Dq at +記号、つまり +.Ql @ +で始まっている場合はグループ名とされ、このグループに属する +メンバのユーザにマッチします。 +特別なケースとして、このフィールドにおける単一の +.Ql @ +は、全てのユーザにマッチします。 +これら以外ではユーザ名とされます。 +.Pp +2 番目のフィールドはオプションで、ユーザまたはグループに属するメンバを、 +.Xr chroot 2 +を使って閉じ込めるディレクトリを記述します。 +省略された場合、そのユーザのログインディレクトリが使われます。 +絶対パス名ではない場合、そのユーザのログインディレクトリからの +相対パスとされます。 +パス名に +.Pa /./ +セパレータが含まれる場合、 +.Xr ftpd 8 +は左側を +.Xr chroot 2 +先のディレクトリ名、右側を以降のカレントディレクトリとして扱います。 +.Sh 関連ファイル +.Bl -tag -width ".Pa /etc/ftpchroot" -compact +.It Pa /etc/ftpchroot +.El +.Sh 使用例 +.Nm +における次の行は、ユーザ +.Dq Li webuser +と、グループ +.Dq Li hostee +に属するメンバを、各自のログインディレクトリに閉じ込めます。 +.Bd -literal -offset indent +webuser +@hostee +.Ed +.Pp +次の行では、ユーザ +.Dq Li joe +を +.Pa /var/spool/ftp +に閉じ込め、そしてカレントディレクトリを、このセッションにおける +新しいルートからの相対パスになる +.Pa /joe +に変更するように、 +.Xr ftpd 8 +に教えます。 +.Pp +.Dl "joe /var/spool/ftp/./joe" +.Pp +最後に以下の行では、FTP を通じて接続してくるあらゆるユーザを、 +各自の +.Pa ~/public_html +に閉じ込めます。これによって、FTP が本質的にもっている危険性が、 +システムに影響を与える可能性が下がります。 +.Pp +.Dl "@ public_html" +.Sh 関連項目 +.Xr chroot 2 , +.Xr group 5 , +.Xr passwd 5 , +.Xr ftpd 8 diff --git a/documentation/manual-pages/ja/man5/gettytab.5 b/documentation/manual-pages/ja/man5/gettytab.5 new file mode 100644 index 0000000000..37b5335de0 --- /dev/null +++ b/documentation/manual-pages/ja/man5/gettytab.5 @@ -0,0 +1,538 @@ +.\" Copyright (c) 1983, 1991, 1993 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. All advertising materials mentioning features or use of this software +.\" must display the following acknowledgement: +.\" This product includes software developed by the University of +.\" California, Berkeley and its contributors. +.\" 4. Neither the name of the University nor the names of its contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" from: @(#)gettytab.5 8.4 (Berkeley) 4/19/94 +.\" %FreeBSD: src/libexec/getty/gettytab.5,v 1.40 2003/06/17 12:29:36 yar Exp % +.\" +.\" $FreeBSD$ +.\" " +.\" WORD: terminal line 端末回線 +.\" WORD: .Sh CAPABILITIES ケーパビリティ +.\" WORD: erase 文字消去 +.\" WORD: kill 行削除 +.\" WORD: delay 遅延 +.\" WORD: comma コンマ +.\" WORD: banner バナー +.\" WORD: answer chat script アンサーチャットスクリプト +.\" WORD: screen 画面 [termcap.5 gettytab.5] +.\" " +.Dd April 19, 1994 +.Dt GETTYTAB 5 +.Os +.Sh 名称 +.Nm gettytab +.Nd 端末設定データベース +.Sh 書式 +.Nm +.Sh 解説 +.Nm +ファイルは +.Xr termcap 5 +データベースを単純化したバージョンで、 +端末回線を記述するのに用いられます。 +冒頭に起動される端末ログインプロセス +.Xr getty 8 +は起動されるたびに +.Nm +ファイルにアクセスするので、 +比較的簡単に端末の特性を再設定することができます。 +データベースの各エントリは、それぞれ1個の端末クラスを記述するのに用いられます。 +.Pp +デフォルトの端末クラス +.Va default +が存在し、 +他の全てのクラスに対するグローバルなデフォルト値を記述するのに +用いられます。 +(言い替えれば、まず、 +.Va default +エントリを読み込み、その後で、必要なクラスのエントリを読み込み、 +デフォルトの設定をクラス固有の設定で上書きします。) +.Sh ケーパビリティ +ファイルレイアウトの解説については、 +.Xr termcap 5 +を参照して下さい。 +以下の +.Va デフォルト +欄は、 +使用する端末用のテーブルに値がなく、特別の +.Va default +テーブルにも値がない場合に用いられる値です。 +.Bl -column 名称 文字列 /usr/bin/login +.It Sy "名称 型 デフォルト 解説 +.It "ac 文字列 unused モデム応答のための想定文字列-応答チャットスクリプト" +.It "al 文字列 unused プロンプトを出さずに自動ログインするユーザ" +.It "ap bool 偽 端末はどのパリティでも受け付ける" +.It "bk 文字列 0377 代用の行末文字 (入力ブレーク)" +.It "c0 数値 unused メッセージ書き出しのための tty 制御フラグ群" +.It "c1 数値 unused ログイン名読み込みのための tty 制御フラグ群" +.It "c2 数値 unused 端末を去るときの制御フラグ群" +.It "ce bool 偽 crt 文字消去アルゴリズムを用いる" +.It "ck bool 偽 crt 行削除アルゴリズムを用いる" +.It "cl 文字列" Ta Dv NULL Ta +.No "画面削除シーケンス" +.It "co bool 偽 コンソール -" +.Ql \en +をログインプロンプトの後に追加する +.It "ct 数値 10 " +.Va \&ac +と +.Va \&ic +のスクリプトのためのチャットタイムアウト +.It "dc 数値 0 チャットデバッグ用ビットマスク" +.It "de 数値 0 この秒数だけ待って、最初のプロンプトを書く前に入力をフラッシュする" +.It "df 文字列 %+ バナーメッセージ中の \&%d で使用する" Xr strftime 3 "書式" +.It "ds 文字列" Ta So Li ^Y Sc Ta +.No "遅延されたサスペンド文字" +.It "dx bool 偽 " +.Dv DECCTLQ +をセットする +.It "ec bool 偽 echo を残す" +.Em OFF +.It "ep bool 偽 端末は偶数パリティを用いる" +.It "er 文字列" Ta So Li ^? Sc Ta +.No "消去文字" +.It "et 文字列" Ta So Li ^D Sc Ta +.No "テキストの終り" +.Pq Dv EOF +文字 +.It "ev 文字列" Ta Dv NULL Ta +.No "環境変数の初期設定" +.It "f0 数値 unused メッセージ書き出しのための tty モードフラグ群" +.It "f1 数値 unused ログイン名読み込みのための tty モードフラグ群" +.It "f2 数値 unused 端末を去るときの tty モードフラグ群" +.It "fl 文字列" Ta So Li ^O Sc Ta +.No "出力フラッシュ文字" +.It "hc bool 偽 " +最後のクローズのときに回線をハングアップ +.Em させない +.It "he 文字列" Ta Dv NULL Ta +.No "ホスト名編集文字列" +.It "hn 文字列 hostname ホスト名" +.It "ht bool 偽 端末に本物のタブが実装されている" +.It "hw bool 偽 cts/rts によるハードウェアフロー制御を行う" +.It "i0 数値 unused メッセージ書き出しのための tty 入力フラグ群" +.It "i1 数値 unused ログイン名読み込みのための tty 入力フラグ群" +.It "i2 数値 unused 端末を去るときの tty 入力フラグ群" +.It "ic 文字列 unused モデム初期化のための、想定入力-出力チャットスクリプト" +.It "if 文字列 unused プロンプトの前に、/etc/issue のように名前で指定したファイルを表示する" +.It "ig bool 偽 ログイン名に含まれるガベージ文字を無視する" +.It "im 文字列" Ta Dv NULL Ta +.No "冒頭の (バナー) メッセージ" +.It "in 文字列" Ta So Li ^C Sc Ta +.No "割り込み文字" +.It "is 数値 unused 入力スピード" +.It "kl 文字列" Ta So Li ^U Sc Ta +.No "行消去文字" +.It "l0 数値 unused メッセージ書き出しのための tty ローカルフラグ群" +.It "l1 数値 unused ログイン名読み込みのための tty ローカルフラグ群" +.It "l2 数値 unused 端末を去るときの tty ローカルフラグ群" +.It "lm 文字列 login: ログインプロンプト" +.It "ln 文字列" Ta So Li ^V Sc Ta +.No "次の文字がリテラル値であることを示す文字" +.It "lo 文字列" Ta Pa /usr/bin/login Ta +.No "名前を得たときに実行するプログラム" +.It "mb bool 偽 キャリアに基づいたフロー制御を行う" +.It "nc bool 偽 端末はキャリアをサポートしない (clocal をセット)" +.It "nl bool 偽 端末には改行文字がある (あるいは、あるはずである)" +.It "np bool 偽 端末はパリティを用いない (つまり 8 ビット文字)" +.It "nx 文字列 default (速度の自動選択のための) 次のテーブル" +.It "o0 数値 unused メッセージ書き出しのための tty 出力フラグ群" +.It "o1 数値 unused ログイン名読み込みのための tty 出力フラグ群" +.It "o2 数値 unused 端末を去るときの tty 出力フラグ群" +.It "op bool 偽 端末は奇数パリティを用いる" +.It "os 数値 unused 出力スピード" +.It "pc 文字列" Ta So Li \e0 Sc Ta +.No "パッド文字" +.It "pe bool 偽 プリンタの (ハードコピー) 文字消去アルゴリズムを用いる" +.It "pf 数値 0 最初のプロンプトと" +引き続くフラッシュの間の遅延 (秒数) +.It "pl bool 偽 PPP シーケンスを検出せず、" +.Va \&pp +で示される PPP ログインプログラムを自動的に開始する +.It "pp 文字列 unused PPP 認証プログラム" +.It "ps bool 偽 回線は" +.Tn MICOM +ポートセレクタに接続されている +.It "qu 文字列" Ta So Li \&^\e Sc Ta +.No "終了文字" +.It "rp 文字列" Ta So Li ^R Sc Ta +.No "行の再タイプ文字" +.It "rt 数値 unused " +.Va \&ac +使用時の ring タイムアウト +.It "rw bool 偽 入力に raw モードを" +.Em 用いずに +、cbreak を用いる +.It "sp 数値 unused (入力および出力の) 回線速度" +.It "su 文字列" Ta So Li ^Z Sc Ta +.No "サスペンド文字" +.It "tc 文字列 none テーブルの続き" +.It "to 数値 0 タイムアウト (秒数)" +.It "tt 文字列" Ta Dv NULL Ta +.No "端末の型 (環境変数用)" +.It "ub bool 偽 (プロンプトなどの) バッファリングしない出力を行う" +.It "we 文字列" Ta So Li ^W Sc Ta +.No "単語消去文字" +.It "xc bool 偽 制御文字を +.Ql ^X +の形で出力 +.Em しない +.It "xf 文字列" Ta So Li ^S Sc Ta Dv XOFF +(出力ストップ) 文字 +.It "xn 文字列" Ta So Li ^Q Sc Ta Dv XON +(出力開始) 文字 +.It "Lo 文字列 C バナーメッセージでの \&%d のために用いるロケール" +.El +.Pp +以下のケーパビリティはもはや +.Xr getty 8 +によってサポートされていません。 +.Bl -column 名称 文字列 /usr/bin/login +.It "bd 数値 0 バックスペースでの遅延" +.It "cb bool 偽 crt バックスペースモードを用いる" +.It "cd 数値 0 復帰 (carriage return) での遅延" +.It "fd 数値 0 フォームフィード (垂直移動) での遅延" +.It "lc bool 偽 端末では小文字が使える" +.It "nd 数値 0 改行 (ラインフィード) での遅延" +.It "uc bool 偽 端末では大文字しか使えない" +.El +.Pp +回線速度が指定されていない場合、getty が起動された時に設定されている速度は +変更されません。 +入力速度または出力速度を指定したときは、 +指定した方向の回線速度のみが上書き更新されます。 +.Pp +メッセージの出力時、ログイン名の入力時、 +getty が処理を済ませて端末を手放す時に用いる +端末モードの値は +ブール型フラグの指定に基づいて決定されます。 +もしこの決定が適切でないことが分かった場合、 +これら3つのどれか (あるいはすべて) の値は、数値指定 +.Va \&c0 , +.Va \&c1 , +.Va \&c2 , +.Va \&i0 , +.Va \&i1 , +.Va \&i2 , +.Va \&l0 , +.Va \&l1 , +.Va \&l2 , +.Va \&o0 , +.Va \&o1 , +.Va \&o2 +のいずれかで上書きされます。 +これらの数値指定では、フラグの値 +(通常は、0 を頭につけた 8 進数) +そのものを指定することができます。 +これらのフラグは termio の +.Va c_cflag , +.Va c_iflag , +.Va c_lflag , +および +.Va c_oflag +の各フィールドにそれぞれ対応します。 +それらのセットの各々は、完全に指定しなければ有効になりません。 +.Va \&f0 , +.Va \&f1 , +および +.Va \&f2 +は TTY サブシステムの旧版の実装に対する後方互換性を意図した物です。 +これらのフラグには、sgttyb の +.Va sg_flags +フィールドの (32 ビット) 値の下位 16 ビットが含まれます。また、上位 16 ビットは +ローカルモードを収めるワードを表します。 +.Pp +もし +.Xr getty 8 +がヌル文字 (回線ブレークを示すものと見なされます) を受け取った場合、 +プログラムは +.Va \&nx +エントリに示されたテーブルを用いて再始動します。 +もしこのエントリがなければ、今まで用いていたテーブルを再び用います。 +.Pp +遅延はミリ秒単位で指定し、tty ドライバが使用可能な遅延のうち最も +近いものが用いられます。 +より大きな確実性が必要な場合は、0 から 1, 2, 3 までの値の +遅延はドライバの特別な遅延アルゴリズムから選択するものと解釈されます。 +.Pp +.Va \&cl +画面消去文字列には、その前に必要な遅延時間をミリ秒単位の +(10 進数) 数値で (termcap 風に) 書くことができます。 +この遅延はパディング文字 +.Va \&pc +を繰り返して用いることによりシミュレートされます。 +.Pp +初期化メッセージ +.Va \&im +ログインメッセージ +.Va \&lm +および初期化ファイル +.Va \&if +は、以下の文字の並びをどれでも含めることができます。これらは +.Xr getty 8 +が実行されている環境から得た情報に展開されます。 +.Pp +.Bl -tag -offset indent -width \&%xxxxxxxxxxxxxx +.It \&%d +現在の日付と時間を、 +.Va \&Lo +と +.Va \&df +に従って整形したもの。 +.It \&%h +マシンのホスト名。通常は +.Xr gethostname 3 +によってシステムから得ますが、テーブルの +.Va \&hn +エントリで指定して、この値を書き換えることができます。 +どちらの場合でも、これは +.Va \&he +文字列を用いて編集することができます。 +.Va \&he +文字列の中にある 1 個の '@' は 実際のホスト名から最終的なホスト名に +1文字のコピーを引き起こします。 +.Va \&he +文字列中の '#' は実際のホスト名の次の1文字をスキップさせます。 +\&'@' でも '#' でもない各文字は最終的なホスト名にコピーされます。 +余分な '@' と '#' は無視されます。 +.It \&%t +tty の名前。 +.It "\&%m, \&%r, \&%s, \&%v" +それぞれ、 +.Xr uname 3 +が返す +マシンの型、オペレーティングシステムのリリース、オペレーティングシステムの +名前、そしてカーネルのバージョンです。 +.It \&%% +1 個の +.Dq % +文字。 +.El +.Pp +getty がログインプロセス +(通常は +.Dq Pa /usr/bin/login +ですが、 +.Va \&lo +文字列で指定されていればそれ)を実行するとき、このプロセスの環境には +.Va \&tt +文字列 (が存在すれば) で指定した +端末の型が設定されます。 +.Va \&ev +文字列は、プロセスの環境にデータを追加するために使用することができます。 +これはコンマで区切られた文字列からなり、それぞれは、 +.Li name=value +という形式になっていると仮定されます。 +.Pp +もしタイムアウトとして、 +.Va \&to +に 0 以外の値を指定した場合、 +指定された秒数経過した後に終了します。 +すなわち、getty はログイン名を受け取って制御を +.Xr login 1 +に渡すか、または alarm シグナルを受け取って終了します。 +これはダイヤルイン回線をハングアップするために有用です。 +.Pp +.Xr getty 8 +からの出力は、 +.Va \&op +か +.Va \&np +が指定された場合を除いて、偶数パリティを用います。 +.Va \&op +文字列と +.Va \&ap +を一緒に指定すると、 +入力としてはパリティが何であっても許可し、出力としては奇数パリティを +生成します。 +注意: これは、getty が実行されているときのみ適用され、端末ドライバの +制限によりここまで完全な実装ができないかもしれません。 +.Xr getty 8 +ユーティリティは +.Dv RAW +モードのときは入力文字のパリティ検査を行いません。 +.Pp +もし +.Va \&pp +文字列が指定されていて、PPP リンク確立シーケンスが認識されると、 +getty は +.Va \&pp +オプションで指定されているプログラムを起動します。 +これは PPP 着信を取り扱うために用いることができます。 +.Va \&pl +も真の場合、 +.Xr getty 8 +はユーザ名プロンプトとPPP 検出フェーズをスキップし、 +.Va \&pp +で指定されたプログラムを即時に起動します。 +.Pp +.Xr getty 8 +は以下の2つのケーパビリティを用いて利用できるチャットスクリプト機能を +提供します。これによって、 +基本的なインテリジェントモデムをある程度取り扱えるようにします。 +.Pp +.Bl -tag -offset indent -width \&xxxxxxxx -compact +.It ic +モデムを初期化するチャットスクリプト。 +.It ac +コールに答えるチャットスクリプト。 +.El +.Pp +チャットスクリプトは、受信を想定した文字列/送信する文字列の対の連なり +からなります。チャット文字列が始まるとき、 +.Xr getty 8 +は最初の文字列を待ち、その文字列を見つけたら 2 番目の文字列を送ります。 +以後も同様に処理を進めます。 +指定された文字列は 1 個以上のタブあるいはスペースで区切られています。 +文字列には標準 ASCII 文字と、特別な「エスケープ」を含めることが +できます。エスケープは、バックスラッシュに続き 1 文字以上の文字が +続いたもので、それは +以下のように解釈されます。 +.Pp +.Bl -tag -offset indent -width \&xxxxxxxx -compact +.It \ea +ベル文字。 +.It \eb +バックスペース。 +.It \en +改行。 +.It \ee +エスケープ。 +.It \ef +フォームフィード。 +.It \ep +0.5秒の一時停止。 +.It \er +復帰文字。 +.It \eS , \es +空白文字。 +.It \et +タブ。 +.It \exNN +16 進数のバイト値。 +.It \e0NNN +8 進数のバイト値。 +.El +.Pp +.Ql \ep +文字列は送信文字列でのみ有効で、前の文字と次の文字を送る間に 0.5 秒の +一時停止を発生することに注意のこと。 +16 進数値は最大で 16 進数 2 桁で、 8 進数値は最大で 8 進数 3 桁です。 +.Pp +.Va \&ic +チャットシーケンスはモデムやそれに類似したデバイスを初期化するのに +用いられます。ヘイズ互換のコマンドセットを持つモデム用の初期化チャット +スクリプトの典型例は、以下のようなものでしょう。 +.Pp +.Dl :ic="" ATE0Q0V1\er OK\er ATS0=0\er OK\er: +.Pp +このスクリプトは何も待たず (つまり常に成功し)、モデムが正しいモード +(コマンドエコーを抑制し、応答を返す際に冗長モードで返す) +に確実になるようなシーケンスを送り、それから自動応答を +切ります。 +終了する前に、"OK" という反応を待ちます。 +この初期化シーケンスは、モデムの応答をチェックして +モデムが正しく機能しているかを確かめるために +用いられます。 +初期化スクリプトが完了するのに失敗した場合、 +.Xr getty 8 +はこれを致命的な状態であると見なし、その結果として、 +.Xr syslogd 8 +を用いてログを残してから終了します。 +.Pp +同様に、アンサーチャットスクリプトは +(通常) "RING" に対して手動で電話に応答するために +用いることができます。 +アンサースクリプトを指定して起動した場合、 +.Xr getty 8 +ユーティリティは、 +ポートをノンブロッキングモードでオープンし、それ以前の余分な入力をすべて +消去し、ポートへのデータを待ちます。 +何らかのデータが取得可能になるとすぐ、アンサーチャットスクリプトが +開始し、文字列がスキャンされ、アンサーチャットスクリプトに従って +応答します。 +ヘイズ互換のモデムでは、スクリプトは通常以下のような感じのものになるでしょう。 +.Pp +.Dl :ac=RING\er ATA\er CONNECT: +.Pp +これは、"ATA" コマンドによってモデムに応答させ、続いて +入力をスキャンして文字列 "CONNECT" を探します。 +もし +.Va \&ct +タイムアウトが生じる前にこの文字列を受け取った場合、 +通常のログインシーケンスが開始されます。 +.Pp +.Va \&ct +ケーパビリティはすべての送信文字列および想定される入力文字列 +に適用されるタイムアウトの値を指定します。このタイムアウトは +文字列待ちを行うごと、および文字列送信を行うごとに設定されます。 +少なくともリモートとローカルのモデムの間のコネクションが確立される +のにかかる時間 (通常およそ 10 秒) だけの長さは必要です。 +.Pp +ほとんどの情況で、コネクションが検出された後に +追加の入力のすべてをフラッシュしたいと思うものですが、 +この目的には +.Va \&de +ケーパビリティを使うことができます。これは、 +コネクションが確立された後で短時間の遅延をかけ、 +その間に接続データがすべてモデムによって送られてしまうのと +同じ効果を持ちます。 +.Sh 関連項目 +.Xr login 1 , +.Xr gethostname 3 , +.Xr uname 3 , +.Xr termcap 5 , +.Xr getty 8 , +.Xr telnetd 8 +.Sh バグ +特殊文字 (文字消去、行削除など) は +.Xr login 1 +によってシステムのデフォルトに再設定されてしまいます。 +.Em 常に、 +ログイン名としてタイプした '#' あるいは '^H' は1文字消去として +扱われ、'@' は行消去として扱われます。 +.Pp +遅延機能は実クロックです。 +全般的に柔軟性がないという問題はさておき、遅延アルゴリズムのいくつかは +実装されていません。 +端末ドライバが正常な遅延の設定をサポートしている必要があります。 +.Pp +.Em \&he +ケーパビリティは全く知的ではありません。 +.Pp +忌まわしい +.Xr termcap 5 +フォーマットより、もっと合理的なものを選ぶべきでした。 +.Sh 歴史 +.Nm +ファイルフォーマットは +.Bx 4.2 +で登場しました。 diff --git a/documentation/manual-pages/ja/man5/group.5 b/documentation/manual-pages/ja/man5/group.5 new file mode 100644 index 0000000000..d05c42e47a --- /dev/null +++ b/documentation/manual-pages/ja/man5/group.5 @@ -0,0 +1,154 @@ +.\" Copyright (c) 1980, 1991, 1993 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. All advertising materials mentioning features or use of this software +.\" must display the following acknowledgement: +.\" This product includes software developed by the University of +.\" California, Berkeley and its contributors. +.\" 4. Neither the name of the University nor the names of its contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" From: @(#)group.5 8.3 (Berkeley) 4/19/94 +.\" %FreeBSD: src/share/man/man5/group.5,v 1.27 2003/09/08 19:57:20 ru Exp % +.\" +.\" $FreeBSD$ +.\" +.Dd September 29, 1994 +.Dt GROUP 5 +.Os +.Sh 名称 +.Nm group +.Nd グループ許可ファイルのフォーマット +.Sh 解説 +.Nm +ファイルは、グループ情報のローカルソースです。 +Hesiod ドメイン `group' や、 +NIS マップの `group.byname' および `group.bygid' と組み合わせて +使用可能であり、これは +.Xr nsswitch.conf 5 +で制御されます。 +.Pp +.Nm +ファイルは改行で区切られた +.Tn ASCII +レコードから成ります。1 レコードが 1 グループに対応し、コロン +.Ql \&: +で区切られた 4 つの欄から成ります。 +これらの欄の意味は以下のとおりです: +.Bl -tag -width password -offset indent -compact +.It group +そのグループの名前。 +.It passwd +グループの +.Em 暗号化された +パスワード。 +.It gid +そのグループの 10 進数 ID。 +.It member +グループメンバ。 +.El +.Pp +最初の非空白文字がポンドサイン (#) である行はコメントであり、無視されます。 +空白・タブ・改行のみからなる行は空行であり、これも無視されます。 +.Pp +.Ar group +欄は、そのグループのメンバであるユーザにファイルアクセスを許可するために +用いる、グループの名前です。 +.Ar gid +欄はそのグループ名に結び付けられた番号です。両者はファイルアクセスを制御 +しますので、システム (またしばしば複数システムの 1 グループ) 中で一意的で +ある必要があります。 +.Ar passwd +欄はなくてもいい +.Em 暗号化された +パスワードです。この欄はめったに用いられるこ +とはなく、通常ブランクにしておくよりもむしろアスタリスクが置かれます。 +.Ar member +欄は +.Ar group +の権利を許可されたユーザの名前を含んでいます。メンバ名は空白や改行なし +にコンマで区切られます。ユーザの +.Pa /etc/passwd +エントリ中にグループが指定されていれば自動的にそのグループに入ることに +なりますので、 +.Nm +ファイル中にそのユーザを追加する必要はありません。 +.\" .Pp +.\" When the system reads the file +.\" .Pa /etc/group +.\" the fields are read into the structure +.\" .Fa group +.\" declared in +.\" .In grp.h : +.\" .Bd -literal -offset indent +.\" struct group { +.\" char *gr_name; /* group name */ +.\" char *gr_passwd; /* group password */ +.\" int gr_gid; /* group id */ +.\" char **gr_mem; /* group members */ +.\" }; +.\" .Ed +.Sh 制限 +様々な制限事項が該当する機能のところで説明されています。 +.Sx 関連項目 +の節を参照してください。 +.Pp +古い実装においては、 +1 つのグループは 200 以上のメンバを持つことはできず、 +.Pa /etc/group +の最大行長は 1024 文字でした。それより長い行は読み飛ばされました。 +この制限は +.Fx 3.0 +でなくなりました。 +静的にリンクされた古いバイナリ、古い共有ライブラリに依存する古いバイナリ、 +互換モードにおける非 +.Fx +のバイナリには、まだこの制限があるかもしれません。 +.Sh 関連ファイル +.Bl -tag -width /etc/group -compact +.It Pa /etc/group +.El +.Sh 関連項目 +.Xr passwd 1 , +.Xr setgroups 2 , +.Xr crypt 3 , +.Xr getgrent 3 , +.Xr initgroups 3 , +.Xr nsswitch.conf 5 , +.Xr passwd 5 , +.Xr pw 8 , +.Xr yp 8 +.Sh バグ +.Xr passwd 1 +コマンドは +.Nm +パスワードを変更しません。 +.Sh 歴史 +.Nm +ファイルフォーマットは +.At v6 +で現われました。 +コメントサポートは +.Fx 3.0 +で最初に現われました。 diff --git a/documentation/manual-pages/ja/man5/hosts.5 b/documentation/manual-pages/ja/man5/hosts.5 new file mode 100644 index 0000000000..d713732419 --- /dev/null +++ b/documentation/manual-pages/ja/man5/hosts.5 @@ -0,0 +1,107 @@ +.\" Copyright (c) 1983, 1991, 1993 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. All advertising materials mentioning features or use of this software +.\" must display the following acknowledgement: +.\" This product includes software developed by the University of +.\" California, Berkeley and its contributors. +.\" 4. Neither the name of the University nor the names of its contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" @(#)hosts.5 8.2 (Berkeley) 12/11/93 +.\" %FreeBSD: src/share/man/man5/hosts.5,v 1.10 2004/07/03 18:29:22 ru Exp % +.\" +.\" $FreeBSD$ +.Dd December 11, 1993 +.Dt HOSTS 5 +.Os +.Sh 名称 +.Nm hosts +.Nd ホスト名データベース +.Sh 解説 +.Nm +ファイルはネットワーク上の既知のホストに関する情報を保持します。 +このファイルは DNS と NIS マップ `hosts.byaddr' および `hosts.byname' +と組み合わせて使用可能です。 +.Xr nsswitch.conf 5 +で制御します。 +各ホストに対して、1つの行に以下の情報を与えます。 +.Bd -unfilled -offset indent +インターネットアドレス +正式なホスト名 +別名 +.Ed +.Pp +各項目は任意の数の空白やタブ文字で区切られます。 +``#'' はコメントの開始を表し、これ以降の行末までの文字はこの +ファイルを検索するルーチンによって解釈されません。 +.Pp +ネームサーバ +.Xr named 8 +使用時には、このファイルはネームサーバが動作していない時の予備として +機能します。 +ネームサーバのために、ごく少数のアドレスがこのファイルに含まれて +いなければなりません。 +これらはブート時に +.Xr ifconfig 8 +が必要とするローカルインタフェースのアドレス、およびローカルネットワーク +上の少数のマシンを含みます。 +.Pp +このファイルは Network Information Control Center +.Pq Tn NIC +で保守された正式なホストデータベースから作成されますが、非公式な別名や +未知のホストに関しては、ローカルでの変更を最新に保つ必要があります。 +.Tn NIC +で保守されたデータベースは不完全なので、 +.Tn DARPA +インターネット上のサイトではネームサーバの使用が推奨されます。 +.Pp +ネットワークアドレスは、インターネットアドレス操作ライブラリ +.Xr inet 3 +の +.Xr inet_addr 3 +ルーチンを用いた伝統的な ``.'' (ドット) 表記で指定されます。 +ホスト名は、フィールド区切り文字、改行、およびコメント文字 +以外のあらゆる印字可能文字を含むことができます。 +.Sh 関連ファイル +.Bl -tag -width /etc/hosts -compact +.It Pa /etc/hosts +.Nm +ファイルは +.Pa /etc +に存在します。 +.El +.Sh 関連項目 +.Xr gethostbyname 3 , +.Xr nsswitch.conf 5 , +.Xr ifconfig 8 , +.Xr named 8 +.Rs +.%T "Name Server Operations Guide for BIND" +.Re +.Sh 歴史 +.Nm +ファイルフォーマットは +.Bx 4.2 +から登場しました。 diff --git a/documentation/manual-pages/ja/man5/hosts.equiv.5 b/documentation/manual-pages/ja/man5/hosts.equiv.5 new file mode 100644 index 0000000000..f0eaa19b08 --- /dev/null +++ b/documentation/manual-pages/ja/man5/hosts.equiv.5 @@ -0,0 +1,142 @@ +.\" Copyright (c) 1983, 1991, 1993 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. All advertising materials mentioning features or use of this software +.\" must display the following acknowledgement: +.\" This product includes software developed by the University of +.\" California, Berkeley and its contributors. +.\" 4. Neither the name of the University nor the names of its contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" %FreeBSD: src/share/man/man5/hosts.equiv.5,v 1.18 2004/07/03 18:29:22 ru Exp % +.\" +.\" $FreeBSD$ +.Dd February 11, 1996 +.Dt HOSTS.EQUIV 5 +.Os +.Sh 名称 +.Nm hosts.equiv , +.Nm .rhosts +.Nd 信頼できるリモートホスト名、およびユーザのデータベース +.Sh 解説 +.Nm +および +.Nm .rhosts +ファイルは、ネットワーク上の信頼できるホストとユーザに関する情報を格納 +します。 +各ホストに対して、1つの行に以下の情報を与えます。 +.Pp +単純に +.Bd -unfilled -offset indent +hostname [username] +.Ed +.Pp +あるいは、より冗長に以下のようにします。 +.Bd -unfilled -offset indent +[+-][hostname|@netgroup] [[+-][username|@netgroup]] +.Ed +.Pp +.Dq @ +は netgroup というグループによってホスト、またはユーザを表します。 +単独の +.Dq + +は全てのホスト、またはユーザと一致します。前に +.Dq - +を伴うホスト名は、一致する全てのホストとそのホスト上の全ての +ユーザを拒否します。 +前に +.Dq - +を伴うユーザ名は、指定されたホスト上の一致したユーザ全てを拒否します。 +.Pp +各項目は任意の数の空白やタブ文字で区切られます。 +.Dq # +はコメントの開始を表し、これ以降の行末までの文字はこのファイルを +検索するルーチンによって解釈されません。 +.Pp +ホスト名は、インターネットアドレス操作ライブラリ +.Xr inet 3 +の +.Xr inet_addr 3 +ルーチンを用いた伝統的な +.Dq .\& +(ドット) 表記で指定されます。 +ホスト名は、フィールド区切り文字、改行、およびコメント文字 +以外のあらゆる印字可能文字を含むことができます。 +.Pp +セキュリティ上の理由から、ユーザの +.Nm .rhosts +が通常ファイルでないか、所有者がそのユーザでないか、あるいはその +ユーザ以外のユーザが書き込み可能な場合、そのファイルは無視されます。 +.Sh 使用例 +.Dl bar.com foo +.Pp +ホスト +.Dq bar.com +のユーザ +.Dq foo +を信頼します。 +.Pp +.Dl +@allclient +.Pp +ネットグループ +.Dq allclient +の全てのホストを信頼します。 +.Pp +.Dl +@allclient -@dau +.Pp +ネットグループ +.Dq allclient +の全てのホストとそのユーザを信頼しますが、 +ネットグループ +.Dq dau +のユーザは例外です。 +.Sh 関連ファイル +.Bl -tag -width /etc/hosts.equivxxx -compact +.It Pa /etc/hosts.equiv +.Nm +ファイルは +.Pa /etc +に存在します。 +.It Pa $HOME/.rhosts +.Nm .rhosts +ファイルは +.Pa $HOME +に存在します。 +.El +.Sh 関連項目 +.Xr rcp 1 , +.Xr rlogin 1 , +.Xr rsh 1 , +.Xr gethostbyname 3 , +.Xr inet 3 , +.Xr innetgr 3 , +.Xr ruserok 3 , +.Xr ifconfig 8 , +.Xr named 8 , +.Xr yp 8 +.Sh バグ +このマニュアルページは不完全です。 +より詳細については、 +.Pa src/lib/libc/net/rcmd.c +のソースか、 SunOS のマニュアルページを参照してください。 diff --git a/documentation/manual-pages/ja/man5/hosts.lpd.5 b/documentation/manual-pages/ja/man5/hosts.lpd.5 new file mode 100644 index 0000000000..9eca27be54 --- /dev/null +++ b/documentation/manual-pages/ja/man5/hosts.lpd.5 @@ -0,0 +1,63 @@ +.\" Copyright (c) 1983, 1991, 1993 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. All advertising materials mentioning features or use of this software +.\" must display the following acknowledgement: +.\" This product includes software developed by the University of +.\" California, Berkeley and its contributors. +.\" 4. Neither the name of the University nor the names of its contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" %FreeBSD: src/share/man/man5/hosts.lpd.5,v 1.10 2004/06/16 08:33:55 ru Exp % +.\" $FreeBSD$ +.\" +.\" WORD: trusted host 信頼できるホスト +.\" +.Dd June 1, 1996 +.Dt HOSTS.LPD 5 +.Os +.Sh 名称 +.Nm hosts.lpd +.Nd ローカルプリントサービスを使用可能な信頼できるホスト +.Sh 解説 +.Nm +ファイルは、あなたのマシンのローカルプリントサービスを許可するホストの +ホスト名もしくは IP アドレスのリストを含みます。 +ホスト名および IP アドレスは、各々 1 行に 1 つずつ記述します。 +.Pp +すべてのどのようなホストに対してもアクセスを許可するには、 +一般には NIS ネットグループ機能を使って +.Ql + +1 個だけの行を追加します。 +.Sh 関連ファイル +.Bl -tag -width /etc/hosts.lpdxxxxx -compact +.It Pa /etc/hosts.lpd +.Nm +ファイルは +.Pa /etc +にあります。 +.El +.Sh 関連項目 +.Xr printcap 5 , +.Xr lpd 8 diff --git a/documentation/manual-pages/ja/man5/hosts_access.5 b/documentation/manual-pages/ja/man5/hosts_access.5 new file mode 100644 index 0000000000..e67b4121fa --- /dev/null +++ b/documentation/manual-pages/ja/man5/hosts_access.5 @@ -0,0 +1,448 @@ +.\" $FreeBSD$ +.\" WORD: connection コネクション(tcp の;一般名詞では「接続」と訳する)[hosts_access.5] +.TH HOSTS_ACCESS 5 +.SH 名称 +hosts_access \- ホストアクセス制御ファイルの書式 +.SH 解説 +本マニュアルページは、 +クライアント (ホストの名前/アドレス、ユーザ名) と +サーバ (プロセス名、ホストの名前/アドレス) のパターンをベースとする、 +単純なアクセス制御言語を解説します。 +最後に使用例を示しています。 +我慢できない方は、てっとり早い導入のために、使用例の節へ進んでください。 +.PP +拡張バージョンのアクセス制御言語は、 +\fIhosts_options\fR(5) 文書で解説しています。 +プログラム構築時に -DPROCESS_OPTIONS 付きで構築することにより、 +拡張機能はオンになります。 +.PP +以降の文章においては、 +\fIdaemon\fR はネットワークデーモンプロセスのプロセス名であり、 +\fIclient\fR はサービスを要求しているホストの名前やアドレスです。 +ネットワークデーモンプロセスの名前は、inetd 設定ファイルにおいて指定されます。 +.SH アクセス制御ファイル +アクセス制御ソフトウェアは、2 つのファイルを参照します。 +検索は、最初のマッチで終了します。つまり、 +.IP \(bu +(daemon,client) の組が +\fI/etc/hosts.allow\fR ファイルのエントリにマッチするとき、 +アクセスは許可されます。 +.IP \(bu +そうでない場合、(daemon,client) の組が +\fI/etc/hosts.deny\fR ファイルのエントリにマッチするとき、 +アクセスは拒否されます。 +.IP \(bu +そうでない場合、アクセスは許可されます。 +.PP +存在しないアクセス制御ファイルは、そのファイルが空であるものとして扱われます。 +よって、アクセス制御ファイルをなにも用意しないことにより、 +アクセス制御をオフにすることが可能です。 +.SH アクセス制御ルール +各アクセス制御ファイルは、0 個以上のテキスト行を持ちます。 +これらの行は、出現順に処理されます。 +マッチが検出されたときに、検索が終了します。 +.IP \(bu +改行文字は、前にバックスラッシュ文字がある場合、無視されます。 +これにより、長い行の分割が可能となり、編集が容易になります。 +.IP \(bu +空行または `#\' 文字で開始する行は無視されます。 +これにより、コメントや空白の挿入が可能となり、表が読み易くなります。 +.IP \(bu +他のすべての行は、次の書式を満たす必要があります。[] の間のものは +省略可能です。 +.sp +.ti +3 +daemon_list : client_list [ : shell_command ] +.PP +\fIdaemon_list\fR は、1 個以上のデーモンプロセス名 (argv[0] 値) +またはワイルドカード (後述) からなるリストです。 +.PP +\fIclient_list\fR は、1 個以上のホスト名、ホストアドレス、 +パターン、またはワイルドカード (後述) からなるリストです。 +これが、クライアントホストの名前またはアドレスに対してマッチされます。 +.PP +より複雑な形式である、\fIdaemon@host\fR と \fIuser@host\fR は、 +それぞれサーバ終点パターンとクライアントユーザ名検索の節で +説明します。 +.PP +リストの要素は、空白やコンマで区切ります。 +.PP +すべてのアクセス制御チェックは大文字小文字の違いは影響ありません。 +ただし、NIS (YP) の netgroup の検索は例外です。 +.ne 4 +.SH パターン +アクセス制御言語は、次のパターンを実装しています。 +.IP \(bu +`.\' 文字で開始する文字列。 +ホスト名は、その最後の部分が指定されたパターンにマッチする場合、マッチします。 +例えば、パターン `.tue.nl\' は、ホスト名 `wzv.win.tue.nl\' にマッチします。 +.IP \(bu +`.\' 文字で終了する文字列。 +ホストアドレスは、 +その最初の数値フィールドが指定された文字列にマッチする場合、マッチします。 +例えば、パターン `131.155.\' は、 +Eind\%hoven University ネットワーク (131.155.x.x) の +(ほぼ) すべてのホストのアドレスにマッチします。 +.IP \(bu +`@\' 文字で開始する文字列は、NIS (以前の YP) の netgroup 名として扱われます。 +ホスト名は、指定された netgroup のメンバである場合、マッチします。 +デーモンプロセス名およびクライアントユーザ名では、 +netgroup のマッチはサポートされていません。 +.IP \(bu +`n.n.n.n/m.m.m.m\' 書式の表現は、`net/mask\' ペアとして解釈されます。 +`net\' が、アドレスと `mask\' とをビットごとに AND したものに等しい場合、 +ホストアドレスはマッチします。 +例えば、net/mask パターン `131.155.72.0/255.255.254.0\' は、 +`131.155.72.0\' から `131.155.73.255\' までの範囲の +すべてのアドレスにマッチします。 +.IP \(bu +`[n:n:n:n:n:n:n:n]/m\' 書式の表現は `[net]/prefixlen\' ペアとして解釈されます。 +`net\' の `prefixlen\' ビットが、アドレスの `prefixlen\' ビットと等しい場合、 +IPv6 ホストアドレスはマッチします。 +例えば [net]/prefixlen パターン `[3ffe:505:2:1::]/64\' は、 +`3ffe:505:2:1::\' から `3ffe:505:2:1:ffff:ffff:ffff:ffff\' までの範囲の +すべてのアドレスにマッチします。 +.IP \(bu +文字 `/\' で開始する文字列はファイル名として扱われます。 +ホスト名またはアドレスは、 +指定されたファイル中のホスト名またはアドレスのパターンのいずれかに +マッチするとき、マッチします。 +ファイルの書式は、ホスト名またはアドレスのパターンを +空白で区切って 0 個以上指定した行が、0 個以上存在するというものです。 +ファイル名パターンは、 +ホスト名またはアドレスのパターンを使用可能な場所であればどこでも使用可能です。 +.SH ワイルドカード +アクセス制御言語は、明示的なワイルドカードをサポートします。 +.IP ALL +普遍的なワイルドカードであり、常にマッチします。 +.IP LOCAL +名前にドット文字を含まない、すべてのホストにマッチします。 +.IP UNKNOWN +名前が未知のすべてのユーザにマッチします。 +また、名前 \fIまたは\fR アドレスの \fIいずれか一方でも\fR 未知である +すべてのホストにマッチします。 +このパターンの使用には注意してください。というのは、 +一時的なネームサーバの問題により、ホスト名を得られなくなる場合が +あるからです。また、 +どのタイプのネットワークに対して話しているのかをソフトウェアが +分っていない場合、 +ネットワークアドレスを得られなくなるからです。 +.IP KNOWN +名前が既知のすべてのユーザにマッチします。 +また、名前 \fIおよび\fR アドレスが \fIともに\fR 既知のすべてのホストに +マッチします。 +このパターンの使用には注意してください。というのは、 +一時的なネームサーバの問題により、ホスト名を得られなくなる場合が +あるからです。また、 +どのタイプのネットワークに対して話しているのかソフトウェアが +分かっていない場合、 +ネットワークアドレスを得られなくなるからです。 +.IP PARANOID +名前がアドレスにマッチしないすべてのホストにマッチします。 +tcpd が -DPARANOID (デフォルトモードです) 付きで構築された場合、 +アクセス制御表を検索する前に、 +このようなクライアントからの要求を落とします。 +このような要求に対して更に制御を行いたい場合、 +-DPARANOID なしで構築してください。 +.ne 6 +.SH オペレータ +.IP EXCEPT +`list_1 EXCEPT list_2\' という形式で使用することを意図しています。 +\fIlist_1\fR にマッチするもので、 +\fIlist_2\fR にマッチしないものに、この構造はマッチします。 +EXCEPT オペレータは、daemon_lists と client_lists で使用可能です。 +EXCEPT オペレータは、入れ子 (ネスト) にすることが可能です。これは、 +仮に制御言語が括弧の使用を許すとして表記するならば、 +`a EXCEPT b EXCEPT c\' は `(a EXCEPT (b EXCEPT c))\' のように解釈されます。 +.br +.ne 6 +.SH シェルコマンド +最初にマッチしたアクセス制御ルールがシェルコマンドを含む場合、 +このコマンドは %<letter> 置換 (次節参照) の対象になります。 +置換結果は、標準入出力とエラー出力が \fI/dev/null\fR に接続される +\fI/bin/sh\fR 子プロセスにより実行されます。 +実行完了を待ちたくない場合、コマンドの最後に `&\' を指定してください。 +.PP +シェルコマンドは inetd の PATH の設定に依存してはなりません。 +かわりに、絶対パス名を使用するか、 +明示的な PATH=whatever という文で開始すべきです。 +.PP +シェルコマンドフィールドを、これとは異なる互換性のない方法で扱う +別の言語については、 +\fIhosts_options\fR(5) 文書に解説してあります。 +.SH % の展開 +シェルコマンド中で、次の展開を使用可能です。 +.IP "%a (%A)" +クライアント (サーバ) のホストアドレス。 +.IP %c +クライアントの情報。これは、 +user@host か、user@address か、ホスト名か、単にアドレスかのいずれかです。 +このうちのどれが使えるかは、得られる情報量に依存します。 +.IP %d +デーモンプロセスの名前 (argv[0] 値)。 +.IP "%h (%H)" +クライアント (サーバ) ホストの名前、 +または名前が得られない場合アドレス。 +.IP "%n (%N)" +クライアント (サーバ) ホストの名前 (または "unknown" または "paranoid")。 +.IP %p +デーモンプロセス id。 +.IP %s +サーバの情報。これは、 +daemon@host か、daemon@address か、単にデーモン名かのいずれかです。 +このうちのどれが使えるかは、得られる情報量に依存します。 +.IP %u +クライアントユーザの名前 (または "unknown")。 +.IP %% +単一の `%\' 文字に展開されます。 +.PP +% 展開中の文字でシェルを混乱させ得るものは、アンダスコアに置き換えられます。 +.SH サーバ終点パターン +クライアントの区別のために、 +クライアントが接続しているネットワークアドレスを使用するには、 +次の形式のパターンを使用します。 +.sp +.ti +3 +process_name@host_pattern : client_list ... +.sp +異なったインターネットアドレスに異なったインターネットホスト名を +マシンが持つ場合、 +このようなパターンを使用可能です。 +サービス提供者がこの機構を使用することにより、 +複数のインターネットの名前を使用して、 +FTP, GOPHER, WWW といったアーカイブを提供可能です。 +この場合、インターネットの名前は、異なった組織に属することも可能です。 +hosts_options(5) 文書の `twist' オプションも参照してください。 +単一の物理インタフェースに 1 個以上のインターネットアドレスを +持てるシステムがあります (Solaris や FreeBSD)。 +他のシステムでは、 +専用のネットワークアドレス空間で、 +SLIP や PPP といった擬似インタフェースを使用する必要があるかもしれません。 +.sp +host_pattern は、client_list の文脈における +ホストの名前およびアドレスのものと同じ文法ルールに従います。 +通常、サーバ終点情報は、コネクション指向の (connection-oriented) サービスに +おいてのみ使用可能です。 +.SH クライアントユーザ名検索 +クライアントホストが RFC 931 プロトコルまたはその後継 (TAP, IDENT, RFC 1413) +をサポートする場合、 +コネクションの所有者に関する追加の情報を、ラッパプログラムが +引き出せるようになります。 +クライアントのユーザ名情報が得られると、 +クライアントホスト名とともに記録され、 +次のようなパターンマッチに使用可能です。 +.PP +.ti +3 +daemon_list : ... user_pattern@host_pattern ... +.PP +ルールにもとづいてユーザ名を検索 (デフォルト) するか、 +常にクライアントホストに問い合わせるかの設定は、 +デーモンラッパのコンパイル時に設定可能です。 +ルールにもとづいてユーザ名を検索する場合、 +前述のルールがユーザ名検索を行うのは、 +\fIdaemon_list\fR と \fIhost_pattern\fR がともにマッチする場合のみです。 +.PP +ユーザパターンは、デーモンプロセスパターンと同じ文法であり、 +同じワイルドカードが使用可能です (netgroup のメンバはサポートされません)。 +しかし、ユーザ名検索に夢中になって理性を失ってはなりません。 +.IP \(bu +クライアントのユーザ名情報がもっとも必要とされるとき、 +すなわちクライアントシステムが危なくなっているときこそ、 +クライアントのユーザ名情報は信用できません。 +一般的には、ALL と (UN)KNOWN のみが意味のあるユーザ名パターンです。 +.IP \(bu +TCP ベースのサービスにおいてのみ、 +かつクライアントホストが適切なデーモンを実行しているときのみ、 +ユーザ名検索を使用可能です。 +他の場合には、結果は "unknown" になります。 +.IP \(bu +ユーザ名検索がファイアウォールにブロックされると、 +UNIX カーネルの良く知られた (well-known) バグにより、 +サービスを失うことがあります。 +カーネルにこのバグがあるかを判断するための手順は、 +ラッパの README 文書に解説しています。 +.IP \(bu +ユーザ名検索により、非 UNIX ユーザに対する顕著な遅延を生じることが +あります。 +ユーザ名検索のデフォルトのタイムアウトは 10 秒です。これは、 +遅いネットワークに対しては短か過ぎますが、 +PC ユーザをいらいらさせるには十分長いです。 +.PP +最後の問題は、選択的なユーザ名検索により、緩和可能です。 +例えば、次のようにします。 +.PP +.ti +3 +daemon_list : @pcnetgroup ALL@ALL +.PP +これは、ユーザ名検索を行わずに、pc netgroup のメンバにマッチします。 +しかし、他のシステムに対しては、ユーザ名検索を行います。 +.SH アドレス詐称攻撃の検知 +多くの TCP/IP 実装にあるシーケンス番号生成器の欠陥により、 +侵入者が信頼されたホストになりすました上で、 +例えばリモートシェルサービスを介して侵入することができます。 +IDENT (RFC931 等) のサービスを使用することにより、 +このような攻撃や別のホストアドレス詐称攻撃を検知可能となります。 +.PP +クライアントの要求を受け付ける前に、 +ラッパが IDENT サービスを使用することにより、 +そのクライアントが要求をまったく送っていなかったことを検知可能です。 +クライアントホストが IDENT サービスを提供している場合、 +否定的な IDENT 検索結果 (クライアントが `UNKNOWN@host' にマッチ) は、 +ホスト詐称攻撃の有力な証拠となります。 +.PP +肯定的な IDENT 検索結果 (クライアントが `KNOWN@host' にマッチ) は、 +これより信頼性が低いです。 +クライアントの接続のみを詐称するよりは難しいですが、 +侵入者がクライアントの接続と IDENT 検索の両方を詐称することが可能です。 +クライアントの IDENT サーバが嘘をついている可能性もあります。 +.PP +注: IDENT 検索は、UDP サービスでは動作しません。 +.SH 使用例 +この言語は十分柔軟性があるので、 +ほとんど手間もかけずに、異なったタイプのアクセス制御方針を表現可能です。 +またこの言語は 2 つのアクセス制御表を使用しますが、 +一方の表は単純にしつつ、場合によっては空にしても、 +一般的な方針のほとんどを実装可能です。 +.PP +次に示す使用例を読むときには、 +許可表が拒否表の前にスキャンされること、 +検索はマッチが検出されたときに終了すること、 +マッチが検出されない場合にはアクセスが許可されることを認識することが +重要です。 +.PP +使用例では、ホストとドメインの名前を使用します。 +アドレスや network/netmask の情報を含めることにより、これらの例を改良して、 +一時的なネームサーバの検索失敗による影響を減じることが可能となります。 +.SH ほとんど閉じている状態 +この場合、デフォルトではアクセスは拒否されます。 +明示的に権限を与えられたホストのみが、アクセスを許可されます。 +.PP +デフォルトの方針 (アクセスを拒否) は、簡単な拒否ファイルにより実装されます: +.PP +.ne 2 +/etc/hosts.deny: +.in +3 +ALL: ALL +.PP +これにより、全ホストに対する全サービスが拒否されます。 +ただし、許可ファイルのエントリにより許可されたアクセスである場合は例外です。 +.PP +明示的に権限を与えられるホストは、許可ファイルにリストします。 +例えば次のようにします: +.PP +.ne 2 +/etc/hosts.allow: +.in +3 +ALL: LOCAL @some_netgroup +.br +ALL: .foobar.edu EXCEPT terminalserver.foobar.edu +.PP +最初のルールは、 +ローカルドメインの (ホスト名に `.\' を含まない) ホストからのアクセスと、 +\fIsome_netgroup\fP のメンバからのアクセスを、許可します。 +2 番目のルールは、 +\fIfoobar.edu\fP ドメイン (先頭のドットに注意) の全ホストからのアクセスを、 +許可します。ただし、\fIterminalserver.foobar.edu\fP は例外です。 +.SH ほとんど開いている状態 +今度は、デフォルトではアクセスは許可されます。 +明示的に指定されたホストのみが、サービスを拒否されます。 +.PP +デフォルトの方針 (アクセスを許可) では許可ファイルは冗長であり、省略可能です。 +明示的に権限を与えられないホストは、拒否ファイルにリストします。 +例えば次のようにします: +.PP +/etc/hosts.deny: +.in +3 +ALL: some.host.name, .some.domain +.br +ALL EXCEPT in.fingerd: other.host.name, .other.domain +.PP +最初のルールは、あるホストとあるドメインに対する全サービスを拒否します。 +2 番目のルールは、別のホストと別のドメインからの finger 要求は許可しています。 +.SH ブービートラップ +次の使用例は、 +ローカルドメイン (先頭のドットに注意) からの tftp 要求を許可します。 +他のホストからの要求は拒否されます。 +要求されたファイルの代りに、 +finger プローブが攻撃元ホストに対して送られます。 +結果はスーパユーザに対してメールされます。 +.PP +.ne 2 +/etc/hosts.allow: +.in +3 +.nf +in.tftpd: LOCAL, .my.domain +.PP +.ne 2 +/etc/hosts.deny: +.in +3 +.nf +in.tftpd: ALL: (/some/where/safe_finger -l @%h | \\ + /usr/ucb/mail -s %d-%h root) & +.fi +.PP +safe_finger は back-finger での使用を意図しており、 +適切な場所にインストールすべきです。 +これは、 +リモートの finger サーバから送られるデータに起因して発生し得るダメージを +限定します。 +通常の finger コマンドよりも、より良い防御となります。 +.PP +%h (クライアントホスト) と %d (サービス名) のシーケンスの展開については、 +シェルコマンドの節に記述してあります。 +.PP +警告: 自己の finger デーモンをブービートラップにかけないでください。 +かけてしまうと、finger の無限ループになります。 +.PP +ネットワークファイアウォールシステムでは、 +このトリックをさらに幅広く活用できます。 +典型的なネットワークファイアウォールでは、 +外部の世界に対して限定されたサービスのみを提供します。 +他の全サービスは、前述の tftp の使用例と同様の方法で「監視」可能です。 +その結果、素晴しい早期警戒システムができます。 +.br +.ne 4 +.SH 診断 +次の場合、エラーが報告されます。 +ホストアクセス制御ルールに文法エラーがある場合、 +アクセス制御ルールが内部バッファの容量を越えた場合、 +アクセス制御ルールが改行文字で終端されなかった場合、 +%<letter> の展開結果が内部バッファを溢れさせた場合、 +失敗すべきでないシステムコールが失敗した場合です。 +すべての問題は、syslog デーモンを介して報告されます。 +.SH 実装に関する注 +オペレーティングシステムによっては、 +TCP Wrappers を基本システムの一部として配布されているものがあります。 +このようなシステムでは、 +ネットワークユーティリティにラッピング機能を組み込むのが一般的です。 +特に、システムによっては、 +\fItcpd\fR(8) が不要な \fIinetd\fR(8) を提供しているものがあります。 +詳細については、システムの文書を確認してください。 +.SH 関連ファイル +.na +.nf +/etc/hosts.allow, アクセスを許可された (daemon,client) のペア。 +/etc/hosts.deny, アクセスを拒否された (daemon,client) のペア。 +.ad +.fi +.SH 関連項目 +.nf +tcpd(8) tcp/ip デーモンラッパプログラム。 +tcpdchk(8), tcpdmatch(8), テストプログラム。 +.SH バグ +ネームサーバの検索がタイムアウトすると、 +ホスト名が登録されていたとしても、 +アクセス制御ソフトウェアはホスト名を使用できなくなります。 +.PP +ドメインネームサーバの検索は大文字小文字を区別しません。一方、 +NIS (以前の YP) の netgroup の検索は大文字小文字を区別します。 +.SH 作者 +.na +.nf +Wietse Venema (wietse@wzv.win.tue.nl) +Department of Mathematics and Computing Science +Eindhoven University of Technology +Den Dolech 2, P.O. Box 513, +5600 MB Eindhoven, The Netherlands +.\" @(#) hosts_access.5 1.20 95/01/30 19:51:46 +.\" %FreeBSD: src/contrib/tcp_wrappers/hosts_access.5,v 1.3 2000/02/03 10:26:57 shin Exp % diff --git a/documentation/manual-pages/ja/man5/hosts_options.5 b/documentation/manual-pages/ja/man5/hosts_options.5 new file mode 100644 index 0000000000..7271a249dd --- /dev/null +++ b/documentation/manual-pages/ja/man5/hosts_options.5 @@ -0,0 +1,187 @@ +.\" $FreeBSD$ +.\" WORD: severity 重要度 [syslog.conf.5] +.\" WORD: facility ファシリティ [syslog.conf.5] +.TH HOSTS_OPTIONS 5 +.SH 名称 +hosts_options \- ホストアクセス制御言語の拡張 +.SH 解説 +この文書は、hosts_access(5) 文書で解説した言語に対する +オプション拡張を解説します。 +この拡張は、プログラム構築時に有効にされます。 +例えば、Makefile を編集し、 +コンパイル時オプション PROCESS_OPTIONS を有効にします。 +.PP +この拡張可能な言語は、次の書式を使用します。 +.sp +.ti +3 +daemon_list : client_list : option : option ... +.PP +最初の 2 つのフィールドは、hosts_access(5) マニュアルページで解説しています。 +ルールの残りは、0 個以上のオプションです。 +オプション中の ":" 文字は、バックスラッシュで保護する必要があります。 +.PP +オプションの形式は、"keyword" または "keyword value" です。 +オプションは、指定した順番で処理されます。 +オプションによっては、%<letter> 置換の対象となります。 +以前のバージョンとの後方互換性のために、 +keyword と value の間に "=" を入れることが許されています。 +.SH 記録 +.IP "severity mail.info" +.IP "severity notice" +どの重要度のイベントを記録するかを変更します。 +ファシリティ名 (mail など) はオプションです。 +これは、古い syslog の実装のシステムでは、サポートされていないでしょう。 +固有のイベントを強調したり無視したりするために、 +severity オプションを使用します。 +.SH アクセス制御 +.IP "allow" +.IP "deny" +サービスを許可 (拒否) します。 +これらのオプションは、ルールの最後に登場する必要があります。 +.PP +\fIallow\fR と \fIdeny\fR のキーワードにより、 +すべてのアクセス制御ルールを単一のファイルに、 +例えば \fIhosts.allow\fR ファイルに、置くことが可能となります。 +.sp +特定のホストだけからのアクセスを許可するには、次のようにします。 +.sp +.ne 2 +.ti +3 +ALL: .friendly.domain: ALLOW +.ti +3 +ALL: ALL: DENY +.sp +少数のトラブルメーカ以外からのアクセスをすべて許可するには、次のようにします。 +.sp +.ne 2 +.ti +3 +ALL: .bad.domain: DENY +.ti +3 +ALL: ALL: ALLOW +.sp +ドメイン名のパターンの前のドットに注意してください。 +.SH 他のコマンドの実行 +.IP "spawn shell_command" +hosts_access(5) マニュアルページで解説される %<letter> 展開を行った後、 +指定したシェルコマンドを子プロセスで実行します。 +コマンドの実行は stdin, stdout, stderr を null デバイスに接続して +行われますので、 +クライアントホストとの会話が混乱することはありません。例えば、 +.sp +.nf +.ti +3 +spawn (/some/where/safe_finger -l @%h | /usr/ucb/mail root) & +.fi +.sp +は、%h をリモートホストの名前またはアドレスに置換した後、 +シェルコマンド "safe_finger -l @%h | mail root" を、 +バックグラウンドの子プロセスで実行します。 +.sp +この例では、通常の "finger" コマンドではなく、 +"safe_finger" コマンドを使用しています。 +これにより、 +finger サーバから送られるデータに起因して発生し得るダメージを限定します。 +"safe_finger" コマンドは、デーモンラッパパッケージの一部です。 +これは、通常の finger コマンドを包んで、 +リモートホストから送られるデータをフィルタします。 +.IP "twist shell_command" +hosts_access(5) マニュアルページで解説される %<letter> 展開を行った後、 +現在のプロセスを、指定したシェルコマンドで置き換えます。 +stdin, stdout, stderr は クライアントプロセスに接続されます。 +このオプションは、ルールの最後に登場する必要があります。 +.sp +実際に ftp デーモンを実行する代わりに、 +カスタマイズした中継 (bounce) メッセージを送るには、次のようにします: +.sp +.nf +.ti +3 +in.ftpd : ... : twist /bin/echo 421 Some bounce message +.fi +.sp +クライアントプロセスと対話する別の方法としては、 +後述の \fIbanners\fR オプションを参照してください。 +.sp +コマンドライン配列やプロセスの環境を汚染せずに、 +/some/other/in.telnetd を実行するには、次のようにします: +.sp +.nf +.ti +3 +in.telnetd : ... : twist PATH=/some/other; exec in.telnetd +.fi +.sp +警告: UDP サービスでは、 +標準 I/O や read(2)/write(2) ルーチンを使用してクライアントプロセスと +通信するプログラムを、twist の対象としてはなりません。 +UDP では、他の I/O プリミティブを必要とするからです。 +.SH ネットワークオプション +.IP "keepalive" +サーバがクライアントに対して定期的にメッセージを送るようにします。 +クライアントが応答しないとき、接続が断たれたものとみなされます。 +ユーザが、サーバに接続したままマシンの電源を落す場合に、 +keepalive オプションが有用です。 +keepalive オプションは、データグラム (UDP) サービスには使えません。 +.IP "linger number_of_seconds" +サーバプロセスが接続を閉じた後のどれだけの期間、 +未配送のデータをカーネルが配送しようとするかを指定します。 +.SH ユーザ名検索 +.IP "rfc931 [ timeout_in_seconds ]" +RFC 931 (TAP, IDENT, RFC 1413) を使用して、 +クライアントのユーザ名を検索します。 +サービスが TCP 以外の配送をベースにしている場合には、 +このオプションはとくに断りなく無視されます。 +このオプションを指定することにより、 +クライアントシステムが RFC 931 (IDENT など) 準拠のデーモンを実行することを +必要とし、非 UNIX クライアントからの接続に対しては大きな遅延を生じさせ得ます。 +タイムアウト期間の指定は、省略可能です。 +タイムアウト値を指定しないと、 +コンパイル時に定義されたデフォルト値が使用されます。 +.SH その他 +.IP "banners /some/directory" +`/some/directory' 内で、デーモンプロセスと同じ名前のファイルを探し +(例えば telnet サービスでは in.telnetd です)、 +その内容をクライアントに対してコピーします。 +改行文字は復改と改行へ置換され、 +%<letter> シーケンスは展開されます +(hosts_access(5) マニュアルページを参照してください)。 +.sp +tcp ラッパのソースコード配布では、 +banners の管理に有用なサンプル makefile (Banners.Makefile) を提供しています。 +.sp +警告: banners は、コネクション指向 (TCP) ネットワークサービスのみで +サポートされます。 +.IP "nice [ number ]" +プロセスの nice 値 (デフォルトは 10 です) を変更します。 +他のプロセスにより多くの CPU 資源を使うには、正の値を指定してください。 +.IP "setenv name value" +(name, value) のペアを、プロセスの環境に挿入します。 +value は %<letter> 展開の対象となり、空白文字を含んでもかまいません +(先頭と末尾の空白は取り除かれます)。 +.sp +警告: 多くのネットワークデーモンは、 +login やシェルプロセスを生成する前に、自己の環境をリセットします。 +.IP "umask 022" +シェル組み込みの umask コマンドに似ています。 +022 という umask は、 +グループおよび全世界の書き込み権限を持つファイルの生成を防ぎます。 +umask 引数は 8 進数である必要があります。 +.IP "user nobody" +.IP "user nobody.kmem" +"nobody" のユーザ id (またはユーザ "nobody" でグループ "kmem") +の権限をプロセスに設定します。 +最初の形式は、全サービスを root 権限で実行する inetd の実装において有用です。 +2 番目の形式は、特殊なグループ権限のみを必要とするサービスに有用です。 +.SH 診断 +アクセス制御ルールに文法エラーがあるとき、 +エラーは syslog デーモンに報告されます。このとき、 +その後のオプションは無視され、サービスは拒否されます。 +.SH 関連項目 +hosts_access(5), デフォルトのアクセス制御言語 +.SH 作者 +.na +.nf +Wietse Venema (wietse@wzv.win.tue.nl) +Department of Mathematics and Computing Science +Eindhoven University of Technology +Den Dolech 2, P.O. Box 513, +5600 MB Eindhoven, The Netherlands +.\" @(#) hosts_options.5 1.10 94/12/28 17:42:28 diff --git a/documentation/manual-pages/ja/man5/intro.5 b/documentation/manual-pages/ja/man5/intro.5 new file mode 100644 index 0000000000..5dde2c7b0d --- /dev/null +++ b/documentation/manual-pages/ja/man5/intro.5 @@ -0,0 +1,57 @@ +.\" Copyright (c) 1983, 1991, 1993 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. All advertising materials mentioning features or use of this software +.\" must display the following acknowledgement: +.\" This product includes software developed by the University of +.\" California, Berkeley and its contributors. +.\" 4. Neither the name of the University nor the names of its contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" %FreeBSD: src/share/man/man5/intro.5,v 1.6 2001/07/10 15:30:50 ru Exp % +.\" $FreeBSD$ +.\" +.\" WORD: configuration file 設定ファイル +.Dd February 16, 1997 +.Dt INTRO 5 +.Os +.Sh 名称 +.Nm intro +.Nd "ファイルフォーマットの手引" +.Sh 解説 +このセクションにはファイルフォーマットの情報が書かれています。 +.Sh 関連項目 +.Xr apropos 1 , +.Xr intro 1 , +.Xr intro 8 +.Sh 関連ファイル +.Bl -tag -width /etc/shells -compact +.It Pa /etc +ほとんどのシステム設定ファイルが置かれる場所 +.El +.Sh 歴史 +.Nm +セクションマニュアルページは +.Fx 2.2 +から登場しました。 diff --git a/documentation/manual-pages/ja/man5/ipf.5 b/documentation/manual-pages/ja/man5/ipf.5 new file mode 100644 index 0000000000..4777df5dca --- /dev/null +++ b/documentation/manual-pages/ja/man5/ipf.5 @@ -0,0 +1,586 @@ +.\" %FreeBSD: src/contrib/ipfilter/man/ipf.5,v 1.8 2004/06/21 22:53:03 darrenr Exp % +.\" WORD: filtering rule フィルタルール +.\" WORD: semantics セマンティクス +.\" WORD: inbound 内向き +.\" WORD: outbound 外向き +.\" WORD: forward 転送 +.\" WORD: transmit 送出 +.\" WORD: fall-through 継続(「通過」にするとblock/passと区別できない) +.\" $FreeBSD$ +.TH IPF 5 +.SH 名称 +ipf, ipf.conf, ipf6.conf \- IP パケットフィルタのルール文法 +.SH 解説 +.PP +\fBipf\fP のルールファイルは、どんな名前でも良く、標準入力でもかまいません。 +カーネル内部のフィルタリストを表示するとき、 +\fBipfstat\fP は解釈可能なルールを出力しますので、 +この出力を \fBipf\fP への入力としてフィードバックするのに使えます。 +よって、入力パケットに対する全フィルタを除去するためには、次のようにします: +.nf + +\fC# ipfstat \-i | ipf \-rf \-\fP +.fi +.SH 文法 +.PP +\fBipf\fP がフィルタルール構築に使用するフォーマットは、 +BNF を使った文法で次のように示すことができます: +\fC +.nf +filter-rule = [ insert ] action in-out [ options ] [ tos ] [ ttl ] + [ proto ] [ ip ] [ group ]. + +insert = "@" decnumber . +action = block | "pass" | log | "count" | skip | auth | call . +in-out = "in" | "out" . +options = [ log ] [ "quick" ] [ "on" interface-name [ dup ] [ froute ] ] . +tos = "tos" decnumber | "tos" hexnumber . +ttl = "ttl" decnumber . +proto = "proto" protocol . +ip = srcdst [ flags ] [ with withopt ] [ icmp ] [ keep ] . +group = [ "head" decnumber ] [ "group" decnumber ] . + +block = "block" [ return-icmp[return-code] | "return-rst" ] . +auth = "auth" | "preauth" . +log = "log" [ "body" ] [ "first" ] [ "or-block" ] [ "level" loglevel ] . +call = "call" [ "now" ] function-name . +skip = "skip" decnumber . +dup = "dup-to" interface-name[":"ipaddr] . +froute = "fastroute" | "to" interface-name[":"ipaddr] . +protocol = "tcp/udp" | "udp" | "tcp" | "icmp" | decnumber . +srcdst = "all" | fromto . +fromto = "from" [ "!" ] object "to" [ "!" ] object . + +return-icmp = "return-icmp" | "return-icmp-as-dest" . + +object = addr [ port-comp | port-range ] . +addr = "any" | nummask | host-name [ "mask" ipaddr | "mask" hexnumber ] . +port-comp = "port" compare port-num . +port-range = "port" port-num range port-num . +flags = "flags" flag { flag } [ "/" flag { flag } ] . +with = "with" | "and" . +icmp = "icmp-type" icmp-type [ "code" decnumber ] . +return-code = "("icmp-code")" . +keep = "keep" "state" | "keep" "frags" . +loglevel = facility"."priority | priority . + +nummask = host-name [ "/" decnumber ] . +host-name = ipaddr | hostname | "any" . +ipaddr = host-num "." host-num "." host-num "." host-num . +host-num = digit [ digit [ digit ] ] . +port-num = service-name | decnumber . + +withopt = [ "not" | "no" ] opttype [ withopt ] . +opttype = "ipopts" | "short" | "frag" | "opt" optname . +optname = ipopts [ "," optname ] . +ipopts = optlist | "sec-class" [ secname ] . +secname = seclvl [ "," secname ] . +seclvl = "unclass" | "confid" | "reserv-1" | "reserv-2" | "reserv-3" | + "reserv-4" | "secret" | "topsecret" . +icmp-type = "unreach" | "echo" | "echorep" | "squench" | "redir" | + "timex" | "paramprob" | "timest" | "timestrep" | "inforeq" | + "inforep" | "maskreq" | "maskrep" | decnumber . +icmp-code = decumber | "net-unr" | "host-unr" | "proto-unr" | "port-unr" | + "needfrag" | "srcfail" | "net-unk" | "host-unk" | "isolate" | + "net-prohib" | "host-prohib" | "net-tos" | "host-tos" | + "filter-prohib" | "host-preced" | "cutoff-preced" . +optlist = "nop" | "rr" | "zsu" | "mtup" | "mtur" | "encode" | "ts" | + "tr" | "sec" | "lsrr" | "e-sec" | "cipso" | "satid" | "ssrr" | + "addext" | "visa" | "imitd" | "eip" | "finn" . +facility = "kern" | "user" | "mail" | "daemon" | "auth" | "syslog" | + "lpr" | "news" | "uucp" | "cron" | "ftp" | "authpriv" | + "audit" | "logalert" | "local0" | "local1" | "local2" | + "local3" | "local4" | "local5" | "local6" | "local7" . +priority = "emerg" | "alert" | "crit" | "err" | "warn" | "notice" | + "info" | "debug" . + +hexnumber = "0" "x" hexstring . +hexstring = hexdigit [ hexstring ] . +decnumber = digit [ decnumber ] . + +compare = "=" | "!=" | "<" | ">" | "<=" | ">=" | "eq" | "ne" | "lt" | + "gt" | "le" | "ge" . +range = "<>" | "><" . +hexdigit = digit | "a" | "b" | "c" | "d" | "e" | "f" . +digit = "0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" . +flag = "F" | "S" | "R" | "P" | "A" | "U" . +.fi +.PP +この文法は、可読性のためにいくぶん簡略化しています。 +この文法にマッチする組み合わせであっても、 +意味をなさないためにソフトウェアが許可しないものがあります +(非 TCP パケットに対する tcp \fBflags\fP など)。 +.SH フィルタルール +.PP +「最短」かつ有効なルールは (現在のところ) 無動作と次の形式です: +.nf + block in all + pass in all + log out all + count in all +.fi +.PP +フィルタルールは順番通りにチェックされ、 +最後にマッチしたルールがパケットの運命を決めます +(例外: 後述 \fBquick\fP オプションを参照)。 +.PP +デフォルトでは、 +フィルタはカーネルのフィルタリストの最後にインストールされます。 +ルールの前に \fB@n\fP を付けると、 +現在のリストの n 番目のエントリとして挿入するようになります。 +これは、現在有効なフィルタのルールセットを修正したりテストする場合に有用です。 +更なる情報は ipf(8) を参照してください。 +.SH アクション +.PP +アクションは、 +フィルタルールの残りの部分にパケットがマッチする場合に、 +そのパケットをどのように扱うのかを示します。 +各ルールは、アクションを 1 つ持つことが「必要です」。 +次のアクションが認識されます: +.TP +.B block +このパケットを、ドロップするように印を付けることを示します。 +パケットをブロックすることに対し、 +ICMP パケット (\fBreturn-icmp\fP) か、 +元のパケット送信宛先起源を装う ICMP パケット (\fBreturn-icmp-as-dest\fP) か、 +TCP 「リセット」 (\fBreturn-rst\fP) の、いずれかの返答パケットを返すよう、 +フィルタに指示できます。 +ICMP パケットは、任意の IP パケットの応答として生成でき、 +そのタイプを指定することもできます。 +TCP リセットは、TCP パケットに対して適用されるルールにおいてのみ使用できます。 +\fBreturn-icmp\fP または \fBreturn-icmp-as-dest\fP を使うとき、 +到達不可の 'タイプ' を指定可能です。 +このタイプとは、 +ネットワーク到達不可、ポート到達不可、権限による禁止のいずれかです。 +指定方法は、 +\fBreturn-icmp\fP または \fBreturn-icmp-as-dest\fP の直後に、 +タイプに関連する ICMP コードを括弧で括るというものです。 +例えば +.nf + block return-icmp(11) ... +.fi +.PP +とすると、Type-Of-Service (TOS) ICMP 到達不可エラーを返します。 +.TP +.B pass +このパケットを、そのままフィルタを通過させるように印を付けます。 +.TP +.B log +このパケットのログを取ります (後述のロギング節参照)。 +パケットがフィルタを通過可能か否かには、影響を与えません。 +.TP +.B count +このパケットを、フィルタのアカウンティング統計に含めます。 +パケットがフィルタを通過可能か否かには、影響を与えません。 +統計は ipfstat(8) にて閲覧可能です。 +.TP +.B call +このアクションは指定されたカーネル内関数を呼び出すために使用されます。 +カーネル内関数は、特定の呼び出しインタフェースを満す必要があります。 +カスタマイズしたアクションとセマンティクスを実装し、 +利用可能なアクションを補うことができます。 +知識があるハッカーが使用する機能であり、現在のところ文書化されていません。 +.TP +.B "skip <n>" +フィルタに、次の \fIn\fP フィルタルールをスキップさせます。 +スキップされる範囲のルールに挿入または除去があった場合、 +\fIn\fP の値は適切に調整されます。 +.TP +.B auth +これにより、 +ユーザ空間プログラムを実行して正当性を確認するパケット情報を待つことにより、 +認証できます。 +プログラムがカーネルに対してパケット通過を許すか否かの +\fI実際の\fP フラグを返すまでの間、パケットは内部バッファに保持されます。 +パケット通過を許す前または +認識されない送信元からのパケットをカーネルに落すよう指示する前に、 +このようなプログラムは、 +送信元アドレスを見るかもしれませんし、 +ユーザからの (パスワード等の) ある種の認証を求めるかもしれません。 +.TP +.B preauth +このクラスのパケットに対しては、 +更なる明確化のために既に認証されたリストを見るべきであると、 +フィルタに指示します。 +更にマッチするルールが見付からないと、パケットは落とされます +(FR_PREAUTH は FR_PASS と同じではありません)。 +更にマッチするルールが見付かると、その結果が使用されます。 +これが使用される状況は、 +ユーザがファイアウォールに\fIログイン\fPし、 +このユーザに関する一時的なルールを設定するような場合です。 +.PP +次の語は \fBin\fP か \fBout\fP のいずれかである必要があります。 +カーネル内部を通過するパケットは、内向き (インタフェースにて受信された +ばかりで、 +カーネルのプロトコル処理部に向って移動している) か、 +外向き (プロトコルスタックにより送出または転送され、 +インタフェースに向かっている) +かのいずれかです。 +各フィルタルールが入出力のどちら側に適用されるのかを、 +明示的に示す必要があります。 +.SH オプション +.PP +オプションの一覧は短く、事実すべて省略可能です。 +オプションが使用されるところでは、ここに示す順序で置かれる必要があります。 +次のオプションが現在サポートされています: +.TP +.B log +最後にマッチするルールの場合、 +パケットヘッダが \fBipl\fP ログに書き込まれます (後述のロギング節参照)。 +.TP +.B quick +フィルタを高速化したり後続のルールよりも優先させるために、 +ルールの「ショートカット」を許します。 +パケットが \fBquick\fP の印が付いたフィルタルールにマッチする場合、 +このルールが最後にチェックされるルールになり、 +「短絡 (short-circuit)」パスにより後続のルールが +このパケットに対して処理されなくなります。 +(現在のルールが適用された後に) パケットの現在の状態が、 +パケットが通過されるかブロックされるかを決定します。 +.IP +このオプションが指定されないと、 +ルールは「継続(fall-through)」ルールとされます。 +つまり、マッチの結果 (ブロック/通過) が保存され、 +更なるマッチがあるかをみるため処理が継続されます。 +.TP +.B on +マッチ手続きにインタフェース名を組み込みます。 +インタフェース名は "netstat \-i" で表示できます。 +このオプションを使用すると、 +指定した方向 (入出力) にこのインタフェースを通過するパケットに対してのみ、 +このルールがマッチします。 +このオプションが指定されないと、 +ルールはこのパケットが置かれたインタフェースに依存せずに +(すなわち全インタフェースに) 適用されます。 +フィルタルールセットは全インタフェースに共通であり、 +各インタフェースに対してフィルタリストを持つのではありません。 +.IP +このオプションは特に、単純な IP 詐称 (IP spoofing) に対する防御として有用です: +指定したインタフェース上で、 +指定した送信元アドレスであるとされる入力パケットのみを通し、 +他のパケットをログしたりドロップすることができます。 +.TP +.B dup-to +パケットをコピーし、 +複写したパケットを指定したインタフェースに対して外向きに送ります。 +また、宛先 IP アドレスを指定して、変更することができます。 +ネットワークスニファを使用して、ホスト外でログするために有用です。 +.TP +.B to +指定したインタフェースにおいて、パケットを外向きキューに移動させます。 +カーネルのルーティングを回避するために使用でき、 +パケットに対する残りのカーネル処理をバイパスするためにも使用できます +(内向きルールに適用された場合)。 +よって、ルータではなく、フィルタリングハブやスイッチのように、 +透過的に動作するファイアウォールを構築することができます。 +\fBfastroute\fP キーワードは、このオプションの同義語です。 +.SH マッチングパラメータ +.PP +この節に記載されているキーワードは、ルールがマッチするか否かを決定するときに、 +パケットのどの属性を使用するのかを記述するために使用されます。 +以下の汎用属性がマッチングに使用でき、この順序で使用する必要があります: +.TP +.B tos +異なるサービス型 (Type-Of-Service) 値を持つパケットをフィルタできます。 +この上、個々のサービスレベルや組み合わせでフィルタできます。 +TOS マスクに対する値は、16 進数または 10 進数の整数で表現されます。 +.TP +.B ttl +パケットを生存時間 (Time-To-Live) 値で選択することもできます。 +フィルタルールで与えられる値は、 +マッチが行われるパケットの値と厳密にマッチする必要があります。 +この値は、10 進数の整数でのみ与えることができます。 +.TP +.B proto +特定のプロトコルに対してマッチすることができます。 +\fB/etc/protocols\fP 中の全プロトコル名が認識されますし、使用可能です。 +また、プロトコルを 10 進数で指定することもできます。 +これにより、あなた独自のプロトコルや +新しいプロトコルであるためリストが古くて掲載されていないものに対し、 +マッチするルールを作成できます。 +.IP +TCP または UDP パケットにマッチする、 +特殊なプロトコルキーワード \fBtcp/udp\fP を使用することができます。 +このキーワードは、 +同じルールをいくつも書かなくてもよいようにするため、追加されました。 +.\" XXX grammar should reflect this (/etc/protocols) +.PP +\fBfrom\fP と \fBto\fP のキーワードは、 +IP アドレス (および省略可能なポート番号) とマッチさせるために使用されます。 +送信元と送信先の「両方の」パラメータを指定する必要があります。 +.PP +IP アドレスの指定方法は、次の 2 つのうちのいずれかです: +数値によるアドレス\fB/\fPマスクまたは、ホスト名 \fBmask\fP ネットマスク。 +ホスト名は、hosts ファイルまたは DNS 中 (設定やライブラリに依存します) +の有効なホスト名か、ドット付き数値形式です。 +ネットワーク指定として特別な記法はありませんが、ネットワーク名は認識されます。 +フィルタルールを DNS に依存させると攻撃の余地を導入してしまうので、 +勧められません。 +.PP +ホスト名には特殊な \fBany\fP が許され、0.0.0.0/0 と認識されます +(後述のマスク書式参照)。これは全 IP アドレスにマッチします。 +"any" だけがマスクを暗黙的に指定しますので、 +他の状況では、ホスト名はマスクとともに指定する必要があります。 +ホストとマスクに対して "any" を指定できるものの、 +この言語においては、意味を持たなくなります。 +.PP +数値フォーマット "x\fB/\fPy" は、 +1 のビットが MSB から開始して y 個連続するマスクの生成を示します。 +よって、y の値が 16 である場合には、0xffff0000 になります。 +シンボリックな "x \fBmask\fP y" は、 +マスク y がドット付き IP 表現、 +または 0x12345678 の形式の 16 進数であることを示します。 +ビットマスクが示す IP アドレスの全ビットと、 +パケットのアドレスとが、厳密にマッチする必要があります; +現在、マッチの意味を反転する方法はありませんし、 +ビットマスクにて容易に表現可能ではない +IP アドレス範囲にマッチさせる方法もありません +(たとえるなら、ここまで実現すると、もはや朝食とは言えないですね)。 +.PP +送信元と送信先のどちらかまたは両者に \fBport\fP マッチを含む場合、 +TCP と UDP のパケットに対してのみ適用されます。 +.\" XXX - "may only be" ? how does this apply to other protocols? will it not match, or will it be ignored? +\fBproto\fP マッチパラメータが無い場合、 +どちらのプロトコルのパケットも比較されます。 +これは、"proto tcp/udp" と等価です。 +\fBport\fP の比較を行うときには、 +サービス名および数値のポート番号のどちらでも使用できます。 +ポートの比較を行う際、数値形式を比較演算子とともに使用したり、 +ポート範囲を指定したりできます。 +ポートが \fBfrom\fP オブジェクトの一部として登場する場合、 +送信元ポート番号にマッチします。 +ポートが \fBto\fP オブジェクトの一部として登場する場合、 +送信先ポート番号にマッチします。 +更なる情報は使用例を参照してください。 +.PP +\fBall\fP キーワードは、本質的に、 +他のマッチパラメータを伴わない "from any to any" の同義語です。 +.PP +送信元および送信先のマッチパラメータの後に、次の追加のパラメータを使用可能です: +.TP +.B with +ある種のパケットのみが持つ特殊な属性にマッチする場合に使用します。 +一般に、IP オプションが存在する場合にマッチさせるには、\fBwith ipopts\fP +を使用します。 +完全なヘッダを格納するには短かすぎるパケットにマッチさせるには、 +\fBwith short\fP を使用します。 +断片化されたパケットにマッチさせるためには、\fBwith frag\fP を使用します。 +更に、IP オプション固有のフィルタリングに関しては、 +各オプションを列挙可能です。 +.IP +\fBwith\fP キーワードの後にパラメータを続ける前に、 +語 \fBnot\fP または \fBno\fP を挿入し、 +オプションが存在しない場合にのみフィルタルールがマッチするようにできます。 +.IP +\fBwith\fP 節を連続して記述することが許されます。 +また、キーワード \fBand\fP を、\fBwith\fP の代りに使用することができます。 +これは、純粋に可読性向上のためです ("with ... and ...")。 +複数の節を列挙したとき、すべてがマッチするときに、ルールがマッチします。 +.\" XXX describe the options more specifically in a separate section +.TP +.B flags +TCP フィルタリングにおいてのみ有効です。 +使用可能なレターは、TCP ヘッダにて設定可能なフラグの 1 つを表現します。 +関連は次の通りです: +.LP +.nf + F - FIN + S - SYN + R - RST + P - PUSH + A - ACK + U - URG +.fi +.IP +様々なフラグシンボルを組み合わせて使用できますので、 +"SA" はパケット中の SYN-ACK の組み合わせを表現します。 +"SFR" などの組み合わせの指定を制限するものはありません。 +この組み合わせは、規則を守っている TCP 実装では通常生成されません。 +しかしながら、異常を避けるために、 +どのフラグに対してフィルタリングしているのかを示す必要があります。 +このために、どの TCP フラグを比較するのか +(すなわち、どのフラグを重要と考えるか) を示すマスクを指定できます。 +これは、マッチ対象の TCP フラグ集合の後に、"/<flags>" を付けることで +実現できます。 +例えば: +.LP +.nf + ... flags S + # "flags S/AUPRFS" になり、SYN フラグ「のみ」 + # が設定されているパケットにマッチします。 + + ... flags SA + # "flags SA/AUPRFSC" になり、SYN および ACK のフラグ + # のみが設定されているパケットにマッチします。 + + ... flags S/SA + # SYN-ACK の組のうち、SYN フラグのみが設定されている + # パケットにのみマッチします。これは共通の「確立」 + # キーワード動作です。"S/SA" は SYN と ACK の組の + # 「両方」が設定されているものにはマッチ「しません」 + # が、"SFP" にはマッチ「します」。 +.fi +.TP +.B icmp-type +\fBproto icmp\fP とともに使用した場合にのみ有効であり、 +\fBflags\fP とともに使用しては「なりません」。 +多くのタイプがあり、この言語で認識される短縮形や、 +これに関連付けられた数値で指定できます。 +セキュリティの観点からみて最も重要なものは ICMP リダイレクトです。 +.SH 履歴保存 +.PP +フィルタルールに設定可能な、最後から 2 番目のパラメータは、 +パケットの履歴情報を記録するか否か、およびどのような履歴を保存するかです。 +以下の情報を保存できます: +.TP +.B state +通信セッションのフロー情報を保存します。 +TCP, UDP, ICMP の各パケットに関して状態が保存されます。 +.TP +.B frags +断片化されたパケットの情報を保存します。 +この情報は、後に断片化する際に使用します。 +.PP +これらにマッチするパケットは素通しし、アクセス制御リストを通しません。 +.SH グループ +パラメータの最後の組はフィルタルールの「グルーピング」を制御します。 +他のグループが指定されない限り、 +デフォルトでは、全フィルタルールはグループ 0 に置かれます。 +非デフォルトのグループにルールを追加するには、 +グループの「頭 (head)」を作成するところから、グループを開始します。 +パケットがグループの「頭」のルールにマッチする場合、 +フィルタ処理はそのグループに切り替わり、 +そのルールをそのグループのデフォルトとして使用します。 +\fBquick\fP を \fBhead\fP ルールとともに使用する場合、 +そのグループの処理から戻るまでは、ルール処理は停止しません。 +.PP +あるルールは、新規グループの頭でありかつ、 +非デフォルトグループのメンバであることが可能です +(\fBhead\fP と \fBgroup\fP を同一ルール内で同時に使用可能です)。 +.TP +.B "head <n>" +新規グループ (番号 n) を作成することを示します。 +.TP +.B "group <n>" +このルールを、グループ 0 ではなく、グループ (番号 n) に置くことを示します。 +.SH ロギング +.PP +\fBlog\fP アクションまたはオプションにて、パケットのログを行うとき、 +パケットのヘッダが \fBipl\fP パケットロギング擬似デバイスに書き込まれます。 +\fBlog\fP キーワードの直後に、次の修飾語句を (この順序で) 使用できます: +.TP +.B body +パケットの内容の最初の 128 バイトを、ヘッダの後でログすることを示します。 +.TP +.B first +ログが "keep" オプションと共に使用される場合、 +本オプションも指定することを勧めます。 +これにより、トリガとなるパケットのみをログして、 +この後に状態情報にマッチする全パケットをログしないようになります。 +.TP +.B or-block +なんらかの理由でフィルタがログを取れない場合 +(ログ読み取りが非常に遅い場合など)、 +このパケットに対するこのルールのアクションが \fBblock\fP であったと解釈 +させます。 +.TP +.B "level <loglevel>" +このパケットの情報ログに、 +どのログファシリティと優先度を使用するか、 +またはデフォルトファシリティでどの優先度を使用するかを指定します。 +情報ログには、ipmon の -s オプションを使用します。 +.PP +このデバイスに書き込まれるレコードのフォーマットについては +ipl(4) を参照してください。 +このログを読み取って整形するには、ipmon(8) を使用します。 +.SH 使用例 +.PP +\fBquick\fP オプションは次のようなルールに対して都合が良いです: +\fC +.nf +block in quick from any to any with ipopts +.fi +.PP +これは、 +標準的な長さではないヘッダを持つ (IP オプションを持つ) パケットにマッチし、 +この先のルール処理を行わずに、 +マッチが発生したこととパケットをブロックすべきことを記録します。 +.PP +次のような「継続」ルールの解釈により: +.LP +.nf + block in from any to any port < 6000 + pass in from any to any port >= 6000 + block in from any to any port > 6003 +.fi +.PP +範囲 6000-6003 が許され、他は許さないように設定できます。 +最初のルールの効果よりも、後続ルールが優先することに注意してください。 +同じことを行う、他の (容易な) 方法は次の通りです: +.LP +.nf + block in from any to any port 6000 <> 6003 + pass in from any to any port 5999 >< 6004 +.fi +.PP +効果を持たせるためには、 +"block" および "pass" の両方をここに書く必要があります。 +なぜなら、"block" アクションにマッチしないことが通過を意味するわけではなく、 +ルールが効果を持たないことを意味するだけだからです。 +ポートが1024未満のものを許すには、次のようなルールを使用します: +.LP +.nf + pass in quick from any to any port < 1024 +.fi +.PP +これは、最初のブロックの前に置く必要があります。 +le0/le1/lo0 からのすべての内向きパケットを処理し、 +デフォルトでは内向きの全パケットをブロックする +新規グループを作成するには、次のようにします: +.LP +.nf + block in all + block in quick on le0 all head 100 + block in quick on le1 all head 200 + block in quick on lo0 all head 300 +.fi +.PP + +そして、le0 で ICMP パケットのみを許すには、次のようにします: +.LP +.nf + pass in proto icmp all group 100 +.fi +.PP +le0 からの内向きパケットのみがグループ 100 で処理されますので、 +インタフェース名を再度指定する必要がないことに注意してください。 +同様に、次のように TCP などの処理を分解できます: +.LP +.nf + block in proto tcp all head 110 group 100 + pass in from any to any port = 23 group 110 +.fi +.PP +最終行を、グループを使用せずに記述すると、次のようになります: +.LP +.nf + pass in on le0 proto tcp from any to any port = telnet +.fi +.PP +"port = telnet" と記述したい場合には、"proto tcp" を指定する必要があることに +注意してください。 +なぜなら、 +パーザは自己に基づいてルールを解釈し、 +指定されたプロトコルによって全サービス/ポート名を修飾するからです。 +.SH 関連ファイル +/dev/ipauth +.br +/dev/ipl +.br +/dev/ipstate +.br +/etc/hosts +.br +/etc/services +.SH 関連項目 +ipftest(1), iptest(1), mkfilters(1), ipf(4), ipnat(5), ipf(8), ipfstat(8) diff --git a/documentation/manual-pages/ja/man5/ipnat.5 b/documentation/manual-pages/ja/man5/ipnat.5 new file mode 100644 index 0000000000..8b93538d95 --- /dev/null +++ b/documentation/manual-pages/ja/man5/ipnat.5 @@ -0,0 +1,267 @@ +.\" $FreeBSD$ +.TH IPNAT 5 +.SH 名称 +ipnat, ipnat.conf \- IP NAT ファイルの形式 +.SH 解説 +ipnat が受け付けるファイルの形式は、以下の文法で記述されるものです。 +.LP +.nf +ipmap :: = mapblock | redir | map . + +map ::= mapit ifname ipmask "->" dstipmask [ mapport ] mapoptions. +map ::= mapit ifname fromto "->" dstipmask [ mapport ] mapoptions. +mapblock ::= "map-block" ifname ipmask "->" ipmask [ ports ] mapoptions. +redir ::= "rdr" ifname ipmask dport "->" ip [ "," ip ] rdrport rdroptions . + +dport ::= "port" number [ "-" number ] . +ports ::= "ports" number | "auto" . +rdrport ::= "port" number . +mapit ::= "map" | "bimap" . +fromto ::= "from" object "to" object . +ipmask ::= ip "/" bits | ip "/" mask | ip "netmask" mask . +dstipmask ::= ipmask | "range" ip "-" ip . +mapport ::= "portmap" tcpudp portspec . +mapoptions ::= [ tcpudp ] [ "frag" ] [ age ] [ clamp ] . +rdroptions ::= [ tcpudp | protocol ] [ rr ] [ "frag" ] [ age ] [ clamp ] . + +object = addr [ port-comp | port-range ] . +addr = "any" | nummask | host-name [ "mask" ipaddr | "mask" hexnumber ] . +port-comp = "port" compare port-num . +port-range = "port" port-num range port-num . + +rr ::= "round-robin" . +age ::= "age" decnumber [ "/" decnumber ] . +clamp ::= "mssclamp" decnumber . +tcpudp ::= "tcp/udp" | "tcp" | "udp" . + +protocol ::= protocol-name | decnumber . +nummask ::= host-name [ "/" number ] . +portspec ::= "auto" | number ":" number . +ifname ::= 'A' - 'Z' { 'A' - 'Z' } numbers . + +number ::= numbers [ number ] . +numbers ::= '0' | '1' | '2' | '3' | '4' | '5' | '6' | '7' | '8' | '9' . +.fi +.PP +これに加え、# はコメントの開始として使用され、 +NAT ルールと共に行末に登場する (前述) か、 +それだけの行に登場します。 +空行は無視されます。 +.PP +標準的な NAT 機能では、ひとつのルールは \fBmap\fP で始まり、 +その後にインタフェースの指定が続きます。そのインタフェースから +パケットが出て行く際にソースアドレスが書き換えられます。 +.PP +書き換えられるパケットの選択は、もとのソースアドレスとの照合のみで +行なわれます。IP アドレスの指定にはネットマスクを指定する必要が +あります。 +.PP +もとのアドレスと置き換えられるアドレスは、IP番号/ネットマスクの組から +選ばれます。すべて 1 のネットマスクは、ホスト名が正しいことを表します。 +1 が 31 個からなるネットマスク (255.255.255.254) は、ブロードキャスト +アドレスとネットワークアドレスを取ったあとでホスト IP 番号を割り当てる +余裕がないため、正しくないと見なされます。 +.PP +TCP パケットと UDP パケットの再マップの際には、ソースポート番号の変更 +も可能です。TCP, UDP パケットともども、それぞれの規則で選択が可能です。 +これらは、規則のうしろに再マップ先のポート番号の範囲を、 +\fBport-number:port-number\fP の形式で指定します。 +.SH コマンド +IP フィルタの NAT コードが認識するコマンドが 4 個あります: +.TP +.B map +アドレスもしくはネットワークひとつを、統制なしのラウンドロビン法で +他のアドレスに写像するときに用います。 +.TP +.B rdr +ある IP アドレスとポートの組から別の組に、パケットをリダイレクトする +ときに用います。 +.TP +.B bimap +外部 IP アドレスと内部 IP アドレスとの間で双方向 NAT を設定するときに +用います。 +.TP +.B map-block +IP アドレスに基づく静的な変換を設定します。アドレスを絞り込み、目的の範囲に +収まるように変換するアルゴリズムに基づくものです。 +.SH 照合処理 +.PP +基本的な NAT 機能とパケットのリダイレクトにおいては、プロトコルとともに +変更可能性のあるアドレスを用いて、あるパケットを変更せねばならないか +どうかをチェックします。 +それぞれの規則の "->" の左辺は、その規則のパケット\fI照合処理\fP +部分です。 +.PP +パケットの照合処理は、より複雑な比較が可能なように拡張されました。 +変換されるアドレス部分においては、 +IP アドレスとポート番号の比較は、\fBipf\fP で使用可能な式を使用可能です。 +単純な NAT ルールは次のように記述可能です: +.LP +.nf +map de0 10.1.0.0/16 -> 201.2.3.4/32 +.fi +.LP +または +.LP +.nf +map de0 from 10.1.0.0/16 to any -> 201.2.3.4/32 +.fi +.LP +"from" 節または "to" 節の前に感嘆符 ("!") を付けることで、 +その節の否定を表すことができます。但し、\fBmap\fP ルール中の "from" +の否定や、\fBrdr\fP ルール中の "to" の否定は使えない可能性があることに +注意して下さい。このようなルールは次のようになります: +.LP +.nf ++map de0 from 10.1.0.0/16 ! to 10.1.0.0/16 -> 201.2.3.4/32 +.fi +.PP +IP アドレスとポート番号のみ、比較対象にできます。 +これは、すべての NAT ルールで使用可能です。 +.SH コマンド修飾語 +各ルールの最後に、修飾語を使用してルールの動作を変更可能です。 +修飾語は次の通りです: +.TP +protocol +特定のプロトコルを、名前 (/etc/protocols にあるもの) か数値で指定可能です。 +TCP および UDP の両方をサポートするための特殊ケースとして、 +名前 \fBtcp/udp\fP が許されています。 +.TP +.B round-robin +この項を持つルールが成功裏に使用されると、 +このルールは使用可能なルールの底に置かれます。 +これにより、 +適合する左辺を持つ各ルールが順番に一度ずつ使用されるようになります。 +.TP +.B frag +この修飾語は、現在のところ NAT 動作に影響ありません。 +.TP +.B age +NAT 設定全体に対して大域的に使用可能なタイムアウトよりも +厳密なものが使用したい場合、\fB非 TCP\fP においてはこれを使用して +タイムアウトを設定可能です。 +.SH 変換処理 +.PP +"->" の右辺は、それ以前の制約条件との照合が既に成功している場合に、その +パケットに書き込まれるアドレスとポートを指定する部分です。リダイレクトの +場合 (\fBrdr\fP) が最も単純です。新しいデスティネーションアドレスを +その中で指定します。 +\fBmap\fP 規則に対しては、デスティネーションアドレスは、新しいアドレス +の組 (ソースとデスティネーション) が一意的であると知られているアドレス +になります。パケットが TCP か UDP パケットの場合、デスティネーション +ポートとソースポートもこの等式に含めます。 +アドレスの組が既に存在する場合、IP フィルタは、まず \fBportmap\fP で +指定した有効範囲内でポート番号を 1 つ増やします。そうしても一意的な +アドレスの組が得られない場合、指定されたネットマスクの範囲内で +ソースアドレスを 1 つ増やします。一意的なアドレスの組が決して得られない +場合、パケットは変換されません。\fBmap-block\fP では、新規アドレスの組、 +フリーなアドレスの組、一意的なアドレスの組を検索するやりかたがより限定 +されます。ここでは、ポートの有効範囲に加えて、新しいソースアドレスを +何にするかを決定するアルゴリズムを使用します。IP アドレスは決して +変更されませんし、ポート番号も割り当てられた範囲を越えるものは +変更されません。 +.SH カーネルプロキシ +.PP +IP フィルタには、カーネルにロードされるコードの中に組み込まれた単純な +プロキシがいくつか付いてきます。これにより、パケットをユーザプログラムを +通させずに 2 番目のチャネルを開けておくことが可能となります。 +.SH 透過型プロキシ +.PP +真の透過型プロキシ処理 (transparent proxying) は、実際の発信元と +コネクションのアドレスを決定するため、\fB/dev/ipnat\fP 経由で検索を +行なうプロキシプログラムを用いて、localhost (127.0.0.1) のポートに +対応付けるリダイレクト (\fBrdr\fP) 規則を用いて行なう必要があります。 +.SH 負荷分散 +.PP +\fBrdr\fP と組み合わせて 2 個のオプションを使用可能です。 +これにより、原始的な\fIラウンドロビン\fPベースの負荷分散をサポートします。 +最初のオプションは、\fBrdr\fP 用に 2 番目の終点を、次のように指定します: +.LP +.nf +rdr le0 203.1.2.3/32 port 80 -> 203.1.2.3,203.1.2.4 port 80 tcp +.fi +.LP +これにより、203.1.2.3 と 203.1.2.4 へ交互に接続を送ります。 +より多くのサーバに負荷を分散したい場合には、次のようにします: +.LP +.nf +rdr le0 203.1.2.3/32 port 80 -> 203.1.2.3,203.1.2.4 port 80 tcp round-robin +rdr le0 203.1.2.3/32 port 80 -> 203.1.2.5 port 80 tcp round-robin +.fi +.LP +この場合、接続は 203.1.2.3 にまず向けられ、次に 203.1.2.4 に向けられ、 +そして 203.1.2.5 に向けられ、最後に 203.1.2.3 に戻ります。 +これを実現する際、必要に応じて自動的に、 +ルールがリストの先頭から取り除かれて最後に追加されます。 +これは、"ipnat -l" を使用したルール表示には影響せず、 +内部的な適用順序にのみ影響します。 +.SH 使用例 +.PP +本セクションでは、\fBmap\fP コマンドとその変形を扱います。 +.PP +ppp0 インタフェース経由で、内部で使用する IP 番号がネットワーク 10 の +パケットを、ISP (インターネットサービスプロバイダ) が提供してくれた +209.1.2.0 (8 ビットサブネット) に変更する場合、以下の規則を使います。 +.LP +.nf +map ppp0 10.0.0.0/8 -> 209.1.2.0/24 +.fi +.PP +ここで、16,000,000 個以上の IP アドレスを 254 個に絞り込もうとすること +が問題なのは明らかでしょう。スコープを広げるために、TCP と UDP については +ポート再マップを使うこともできます。 +.LP +.nf +map ppp0 10.0.0.0/8 -> 209.1.2.0/24 portmap tcp/udp 1025:65000 +.fi +.PP +これで、ネットワーク 10 で利用可能な空間のうち、不足分は ``アドレス'' +527,566 個分だけになります。これらの規則を結合させるとすると、次の +ような指定が必要となります。 +.LP +.nf +map ppp0 10.0.0.0/8 -> 209.1.2.0/24 portmap tcp/udp 1025:65000 +map ppp0 10.0.0.0/8 -> 209.1.2.0/24 +.fi +.PP +その結果、TCP/UDP パケットの全てはポート変換され、ICMPなど、 +それ以外のプロトコルだけ、IP 番号だけが変換されます。 +場合によっては、与えられた範囲内の全てへの同時アクセスを保証したい +ことがあり、その場合には、実際のポート番号範囲の代わりに +キーワード \fBauto\fP を使用したほうが適切なこともあります。 +しかし、この場合は 24 ビットのアドレス空間を 8 個に絞り込むので、 +IP アドレスごとにポート 1 つがデフォルトです。 +どのようにこれを使用するかについての良い例は次のようになります。 +.LP +.nf +map ppp0 172.192.0.0/16 -> 209.1.2.0/24 portmap tcp/udp auto +.fi +.PP +この例では、IP アドレスのそれぞれにつき、わずかな範囲 (252 個) のポートが +与えられる結果になります。ここでの問題は、\fBmap\fP ディレクティブは +外向きのコネクションに対し利用可能な次のアドレス/ポートの組を +使用することを NAT コードに指示するので、 +その結果、外部アドレス/ポートの組と内部アドレス/ポートの組の間の +関係の識別が容易でなくなることです。 +この問題は次のように、\fBmap-block\fP を使用することで克服できます。 +.LP +.nf +map-block ppp0 172.192.0.0/16 -> 209.1.2.0/24 ports auto +.fi +.PP +例えば、この結果、172.192.0.0/24 は、209.1.2.0/32 に変換され、 +172.192.0.0 から 172.192.0.255 の範囲の各アドレスは、 +それぞれ自分用の 252 ポートを持つことになります。 +先の \fBmap\fP の用法と逆に、 +何らかの理由により (例えば) 172.192.0.2 のユーザが 260 個の連続した +外向きコネクションを必要とする場合、\fBmap-block\fP ならば 252 の範囲に +限定されますが、\fBmap\fP コマンドの場合、次の IP アドレスに\fI移行\fP +することになります。 +.SH 関連ファイル +/dev/ipnat +.br +/etc/services +.br +/etc/hosts +.SH 関連項目 +ipnat(4), hosts(5), ipf(5), services(5), ipf(8), ipnat(8) diff --git a/documentation/manual-pages/ja/man5/kbdmap.5 b/documentation/manual-pages/ja/man5/kbdmap.5 new file mode 100644 index 0000000000..90c7303fb9 --- /dev/null +++ b/documentation/manual-pages/ja/man5/kbdmap.5 @@ -0,0 +1,300 @@ +.\" Copyright (c) 2000 +.\" David Malone +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" %FreeBSD: src/usr.sbin/kbdcontrol/kbdmap.5,v 1.6.2.1 2004/08/24 20:43:10 simon Exp % +.\" +.\" $FreeBSD$ +.\" +.Dd September 11, 2000 +.Dt KBDMAP 5 +.Os +.Sh 名称 +.Nm kbdmap +.Nd kbdcontrol 用のキーボードマップファイルのフォーマット +.Sh 書式 +.Nm +.Sh 解説 +.Nm +ファイルには、キーボード上のキーが +どのように振る舞うべきかが記述されています。 +これらのファイルは +.Xr kbdcontrol 1 +によって読み込むこともできますし、 +.Xr kbdmap 1 +によってデフォルトの +.Nm +ファイルを対話的に選択することもできます。 +.Nm +ファイルはブート時に読み込まれるように +.Xr rc.conf 5 +に指定することもできます。 +また +.Xr kbdcontrol 1 +を使って現在のキーマップを出力することもできます。 +.Pp +ファイルの各行には、キーまたはアクセントを記述します。 +.Ql # +記号は行末までコメントを表します。 +.Pp +キーの記述は、そのキーのスキャンコードから始めます。 +その後にシフトキー、コントロールキー、オルトキーと +組み合わせた時の結果を次の順番で記述します: +無修飾、 +シフト、 +コントロール、 +コントロールとシフト、 +オルト、 +オルトとシフト、 +オルトとコントロール、 +オルトとコントロールとシフト。 +それぞれの修飾キーと組み合わせた時のアクションは、 +以下を指定できます: +.Bl -tag -width Ar +.It ' Ns Ar symbol Ns No ' +キーが生成すべき記号をシングルクォートでくくって指定します。 +.It Ar decnum +生成する +.Tn ASCII +コードを 10 進数で指定します +( +.Xr ascii 7 +参照)。 +例えばスペースには 32 を指定します。 +.It 0x Ns Ar hexnum +生成する +.Tn ASCII +コードを 16 進数で指定します。 +例えばスペースには 0x20 を指定します。 +.It Ar ctrlname +.Tn ASCII +コントロール文字の標準の名称を一つ指定します: +nul, +soh, +stx, +etx, +eot, +enq, +ack, +bel, +bs, +ht, +nl, +vt, +np, +cr, +so, +si, +dle, +dc1, +dc2, +dc3, +dc4, +nak, +syn, +etb, +can, +em, +sub, +esc, +fs, +gs, +rs, +ns, +us, +sp, +del。 +.It Ar accentname +アクセントの名称を指定することで、 +次に押すキーがそのアクセントに対応する文字を生成します。 +後述のアクセントの記述を参照してください。 +アクセントの名称は以下です: +dgra, +dacu, +dcir, +dtil, +dmac, +dbre, +ddot, +duml, +ddia, +dsla, +drin, +dced, +dapo, +ddac, +dogo, +dcar。 +.It fkey Ns Ar N +.Ar N +番目のファンクションキーとして振る舞います。 +ここで +.Ar N +は 10 進数です。 +.It lshift +左シフトキーとして振る舞います。 +.It rshift +右シフトキーとして振る舞います。 +.It clock +キャプスロックキーとして振る舞います。 +.It nlock +数値ロックキーとして振る舞います。 +.It slock +スクロールロックキーとして振る舞います。 +.It lalt|alt +左オルトキーとして振る舞います。 +.It btab +バックワードタブとして振る舞います。 +.It lctrl|ctrl +左コントロールキーとして振る舞います。 +.It rctrl +右コントロールキーとして振る舞います。 +.It ralt +右オルト (altgr) キーとして振る舞います。 +.It alock +オルトロックキーとして振る舞います。 +.It ashift +オルトシフトキーとして振る舞います。 +.It meta +メタキーとして振る舞います。 +.It lshifta|shifta +左シフトキー/オルトロックキーとして振る舞います。 +(訳注 他のキーと一緒に押された時はシフトキー、 +単独で押された時はオルトロックキーとなります。) +.It rshifta +右シフトキー/オルトロックキーとして振る舞います。 +(訳注 lshifta 参照) +.It lctrla|ctrla +左コントロールキー/オルトロックキーとして振る舞います。 +(訳注 他のキーと一緒に押された時はコントロールキー、 +単独で押された時はオルトロックキーとなります。) +.It rctrla +右コントロールキー/オルトロックキーとして振る舞います。 +(訳注 lctrla 参照) +.It lalta|alta +左オルトキー/オルトロックキーとして振る舞います。 +(訳注 他のキーと一緒に押された時はオルトキー、 +単独で押された時はオルトロックキーとなります。) +.It ralta +右オルトキー/オルトロックキーとして振る舞います。 +(訳注 lalta 参照) +.It nscr +次のスクリーンへの切替キーとして振る舞います。 +.It pscr +前のスクリーンへの切替キーとして振る舞います。 +.It scr Ns Ar N +.Ar N +番目のスクリーンへの切替キーとして振る舞います。 +ここで +.Ar N +は 10 進数です。 +.It boot +マシンをリブートします。 +.It halt +マシンを停止します。 +.It pdwn +マシンを停止し電源を落します。 +.It debug +デバッガを起動します。 +.It susp +APM を使いサスペンドします。 +.It saver +スプラッシュ画面とテキスト画面をトグルして +スクリーンセーバを有効にします。 +.It panic +システムをパニックさせます。 +この機能を有効にするには、 +.Xr sysctl 8 +変数 +.Va machdep.enable_panic_key +を 1 に設定する必要があります。 +.It paste +マウスバッファのペーストと同じです。 +.El +.Pp +最後に、キーの記述を完了するために、 +キャプスロックと数値ロックが押された時の結果を +記述するフラグを指定します。 +キャプスロックがそのキーに影響することを示すには +.Ql C +を、数値ロックがそのキーに影響することを示すには +.Ql N +を、キャプスロックと数値ロックの両方が +そのキーに影響することを示すには +.Ql B +を、そしてどちらも影響しない時は +.Ql O +を指定します。 +.Pp +アクセントキーは、次に押されたキーの振る舞いを +装飾するよう働きます。 +アクセントの記述は、 +前述のアクセントの名称の一つから始めます。 +次にそのアクセントの記号が、シングルクォートでくくられるか、 +10 進数または 16 進数の +.Tn ASCII +コードで指定されます。 +この記号は、アクセントキーの次にスペースキーが +押された時に生成されます。 +.Pp +アクセントキーの記述は、 +様々な記号をどのように装飾するかを、 +通常の記号と装飾された記号の対を小括弧でくくったリストによって +続けて指定します。 +どちらの記号も、シングルクォートでくくられるか、 +10 進数または 16 進数の +.Tn ASCII +コードで指定されます。 +.Pp +例として、ある +.Nm +から引用した記述を見てみます: +.Bd -literal -offset indent + 041 dgra 172 nop nop '|' '|' nop nop O + dgra '`' ( 'a' 224 ) ( 'A' 192 ) ( 'e' 232 ) ( 'E' 200 ) + ( 'i' 236 ) ( 'I' 204 ) ( 'o' 242 ) ( 'O' 210 ) + ( 'u' 249 ) ( 'U' 217 ) +.Ed +この引用部は UK キーボード上で +抑音記号キーとして振る舞う +バックティックキーを設定しています。 +バックティックキーの後にスペースキーを押すと +バックティックを生成し、 +バックティックの後に母音を押すと +抑音記号付きの母音に対応する +ISO-8859-1 の記号を生成します。 +.Sh 関連ファイル +.Bl -tag -width /usr/share/syscons/keymaps/* -compact +.It Pa /usr/share/syscons/keymaps/* +標準キーボードマップファイル +.El +.Sh 関連項目 +.Xr kbdcontrol 1 , +.Xr kbdmap 1 , +.Xr keyboard 4 , +.Xr syscons 4 , +.Xr ascii 7 +.Sh 歴史 +このマニュアルページは +.Fx 4.2 +で初めて登場しました。 diff --git a/documentation/manual-pages/ja/man5/link.5 b/documentation/manual-pages/ja/man5/link.5 new file mode 100644 index 0000000000..7792c11ba3 --- /dev/null +++ b/documentation/manual-pages/ja/man5/link.5 @@ -0,0 +1,610 @@ +.\" Copyright (c) 1993 Paul Kranenburg +.\" All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. All advertising materials mentioning features or use of this software +.\" must display the following acknowledgement: +.\" This product includes software developed by Paul Kranenburg. +.\" 3. The name of the author may not be used to endorse or promote products +.\" derived from this software without specific prior written permission +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +.\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +.\" +.\" %FreeBSD: src/share/man/man5/link.5,v 1.28 2004/07/03 18:29:23 ru Exp % +.\" +.\" $FreeBSD$ +.\" +.Dd October 23, 1993 +.Dt LINK 5 +.Os +.Sh 名称 +.Nm link +.Nd ダイナミックローダとリンクエディタインタフェース +.Sh 書式 +.In sys/types.h +.In nlist.h +.In link.h +.Sh 解説 +インクルードファイル +.In link.h +では、ダイナミックにリンクされたプログラムやライブラリに含まれる +数種の構造体が宣言されています。 +その構造体は、リンクエディタとローダ機構のいくつかの構成要素間の +インタフェースを定義します。 +バイナリ中でのこれらの構造体のレイアウトは +多くの点で a.out 形式に類似しており、 +シンボル定義 (付随する文字列テーブルを含む) や外部エンティティへの参照を +解決するのに必要なリロケーションレコードといった、 +よく似た機能を提供します。 +それに加え、ダイナミックロードとリンク処理に固有のいくつかのデータ構造も +記録しています。このようなデータ構造としては、 +リンクエディット処理を完結するのに必要な他のオブジェクトへの参照や、 +異なるプロセス間でコードページの共有を進めるための +.Em 位置独立コード +(Position Independent Code 略して PIC) を機能させるための +間接テーブルがあります。 +ここで述べるデータ構造全体を +.Em ランタイムリロケーションセクション (RRS) +と呼び、ダイナミックにリンクされるプログラムや共有オブジェクトの +標準テキスト及びデータセグメントに埋め込まれます。 +これは、既存の +.Xr a.out 5 +形式には RRS のための場所が他にないからです。 +.Pp +あるプログラムを実行可能とする処理が、 +システムリソースの使用を最適化しつつ正しく完了するよう、 +複数のユーティリティが協調して働きます。 +コンパイラは PIC コードを出力し、 +それから +.Xr ld 1 +によって共有ライブラリが作られます。 +コンパイラはまた、初期化される各データアイテムのサイズ情報を +アセンブラディレクティブ .size を用いて記録します。 +PIC コードは、ある間接テーブルを通じてデータ変数にアクセスする点で +従来のコードと異なっています。 +この表はグローバルオフセットテーブルと呼ばれ、 +慣習によって、予約名 +.Dv _GLOBAL_OFFSET_TABLE_ +によってアクセス可能です。 +ここで用いられるメカニズムの詳細は機種依存ですが、通常は +そのマシンのレジスタ 1 本がこの用途に予約されます。 +このような仕組みの背景にある合理性は、 +実際のロードアドレスとは独立したコードを生成することです。 +実行時には、アドレス空間において様々な共有オブジェクトがロードされるアドレス +に応じて、グローバルオフセットテーブルに含まれる値のみ変更すればよいのです。 +.Pp +同様に、大域的に定義された関数の呼び出しは、 +コアイメージのデータセグメント中に置かれている +プロシージャリンケージテーブル (PLT) を通じて間接的に行われます。 +これもまた、実行時にテキストセグメントを修正せずに済ませるためのものです。 +.Pp +リンクエディタがグローバルオフセットテーブルとプロシージャリンケージテーブルを +配置するのは、 +複数の PIC オブジェクトファイルを結合して +プロセスのアドレス空間にマップするのに適した 1 つのイメージにする時です。 +リンクエディタはまた、実行時のリンクエディタが必要とする全てのシンボルを集め、 +それらをイメージのテキストとデータのビット列と共にストアします。 +もう 1 つの予約シンボル +.Em _DYNAMIC +は、実行時のリンク構造が存在することを示すのに用いられます。 +_DYNAMIC が 0 にリロケートされる場合は、実行時リンクエディタを起動する +必要はありません。 +もし _DYNAMIC が非 0 なら、_DYNAMIC は、必要なリロケーション情報と +シンボル情報の位置を引き出すことができるデータ構造を指しています。 +これは特に、スタートアップモジュール +.Em crt0 +で利用されます。 +慣習として、_DYNAMIC 構造体は、 +それが属するイメージのデータセグメントの最初に置かれます。 +.Sh データ構造 +ダイナミックリンクと実行時リロケーションをサポートするデータ構造は、 +それらの処理の適用対象イメージのテキスト及びデータセグメントの +両方の中にあります。 +テキストセグメントにはシンボル記述や名前といった読み取り専用データが含まれ、 +他方データセグメントにはリロケーション処理で更新する必要のあるテーブル類が +含まれます。 +.Pp +シンボル _DYNAMIC は +.Fa _dynamic +構造体を参照します: +.Bd -literal -offset indent +struct _dynamic { + int d_version; + struct so_debug *d_debug; + union { + struct section_dispatch_table *d_sdt; + } d_un; + struct ld_entry *d_entry; +}; +.Ed +.Bl -tag -width d_version +.It Fa d_version +このフィールドは異なったバージョンのダイナミックリンク実装用に +提供されています。 +.Xr ld 1 +及び +.Xr ld.so 1 +が理解する現在のバージョン番号は、 +.Tn SunOS +4.x リリースで用いられている +.Em LD_VERSION_SUN (3) +と、 +.Fx 1.1 +以来使用されている +.Em LD_VERSION_BSD (8) +です。 +.It Fa d_un +.Em d_version +に応じたデータ構造を参照します。 +.It Fa so_debug +このフィールドは、 +共有オブジェクトのシンボルテーブルをアクセスするためのフックを +デバッガに提供します。 +この共有オブジェクトは、 +実行時リンクエディタの処理の結果ロードされたものです。 +.El +.Pp +.Fa section_dispatch_table +構造体がメインとなる +.Dq ディスパッチャ +テーブルであり、 +イメージ内で様々なシンボル情報やリロケーション情報が置かれるセグメントへの +オフセットを保持します。 +.Bd -literal -offset indent +struct section_dispatch_table { + struct so_map *sdt_loaded; + long sdt_sods; + long sdt_filler1; + long sdt_got; + long sdt_plt; + long sdt_rel; + long sdt_hash; + long sdt_nzlist; + long sdt_filler2; + long sdt_buckets; + long sdt_strings; + long sdt_str_sz; + long sdt_text_sz; + long sdt_plt_sz; +}; +.Ed +.Pp +.Bl -tag -width sdt_filler1 +.It Fa sdt_loaded +ロードされた最初のリンクマップ (後述) へのポインタ。 +このフィールドは +.Nm ld.so +によって設定されます。 +.It Fa sdt_sods +.Em この +オブジェクトが必要とする共有オブジェクト記述子の (リンク) リストの先頭。 +.It Fa sdt_filler1 +使用しないで下さい (SunOS では +ライブラリの検索ルールを指定するのに使用されていました)。 +.It Fa sdt_got +このイメージ中でのグローバルオフセットテーブルの位置。 +.It Fa sdt_plt +このイメージ中でのプロシージャリンケージテーブルの位置。 +.It Fa sdt_rel +実行時のリロケーションを指定する +.Fa relocation_info +構造体 ( +.Xr a.out 5 +参照) +の配列の位置。 +.It Fa sdt_hash +このオブジェクトのシンボルテーブルでシンボル検索を高速化するための +ハッシュテーブルの位置。 +.It Fa sdt_nzlist +シンボルテーブルの位置。 +.It Fa sdt_filler2 +現在使用されていません。 +.It Fa sdt_buckets +.Fa sdt_hash +中のバケット数。 +.It Fa sdt_strings +.Fa sdt_nzlist +に対応するシンボル文字列テーブルの位置。 +.It Fa sdt_str_sz +文字列テーブルのサイズ。 +.It Fa sdt_text_sz +このオブジェクトのテキストセグメントのサイズ。 +.It Fa sdt_plt_sz +プロシージャリンケージテーブルのサイズ。 +.El +.Pp +.Fa sod +構造体は、それを含むオブジェクトのリンクエディット処理を完了するのに +必要な共有オブジェクトを記述します。 +そのようなオブジェクトのリスト ( +.Fa sod_next +で連結されます) +は section_dispatch_table 構造体の +.Fa sdt_sods +によって指し示されます。 +.Bd -literal -offset indent +struct sod { + long sod_name; + u_int sod_library : 1, + sod_reserved : 31; + short sod_major; + short sod_minor; + long sod_next; +}; +.Ed +.Pp +.Bl -tag -width sod_library +.It Fa sod_name +このリンクオブジェクトを記述する文字列の、 +テキストセグメントにおけるオフセット。 +.It Fa sod_library +もし設定されていれば、 +.Fa sod_name +は +.Nm ld.so +が検索することになるライブラリを指定します。 +そのパス名は、あるディレクトリ群 ( +.Xr ldconfig 8 +参照) +で +.Em lib\&<sod_name>\&.so.n.m +にマッチする共有オブジェクトを検索することで得られます。 +もし設定されていなければ、 +.Fa sod_name +は希望する共有オブジェクトに対するフルパス名を指し示す必要があります。 +.It Fa sod_major +ロードすべき共有オブジェクトのメジャーバージョン番号を指定します。 +.It Fa sod_minor +ロードすべき共有オブジェクトの希望するマイナバージョン番号を指定します。 +.El +.Pp +プロセスのアドレス空間にロードされる共有オブジェクト全てを追跡するために、 +実行時リンクエディタは +.Em リンクマップ +と呼ばれる構造体のリストを管理しています。 +これらの構造体は実行時にのみ用いられ、 +実行可能ファイルや共有ライブラリのテキストあるいはデータセグメントには +ありません。 +.Bd -literal -offset indent +struct so_map { + caddr_t som_addr; + char *som_path; + struct so_map *som_next; + struct sod *som_sod; + caddr_t som_sodbase; + u_int som_write : 1; + struct _dynamic *som_dynamic; + caddr_t som_spd; +}; +.Ed +.Bl -tag -width som_dynamic +.It Fa som_addr +このリンクマップに対応する共有オブジェクトがロードされるアドレス。 +.It Fa som_path +ロードされるオブジェクトのフルパス名。 +.It Fa som_next +次のリンクマップへのポインタ。 +.It Fa som_sod +この共有オブジェクトのロードをつかさどる +.Fa sod +構造体。 +.It Fa som_sodbase +最近のバージョンの実行時リンカでは捨てられています。 +.It Fa som_write +このオブジェクトのテキストセグメント (の一部分) が現在書き込み可能である +場合にセットされます。 +.It Fa som_dynamic +このオブジェクトの +.Fa _dynamic +構造体へのポインタ。 +.It Fa som_spd +実行時リンクエディタが管理するプライベートデータと連結するためのフック。 +.El +.Pp +サイズ付きシンボル記述。 +これは単に +.Fa nlist +構造体にフィールド +.Pq Fa nz_size +を 1 つ追加したものです。 +共有オブジェクトのデータセグメントにあるアイテムの +サイズ情報を伝達するのに用いられます。 +この構造体の配列は共有オブジェクトのテキストセグメントに存在し、 +そのアドレスは +.Fa section_dispatch_table +の +.Fa sdt_nzlist +フィールドで指定されます。 +.Bd -literal -offset indent +struct nzlist { + struct nlist nlist; + u_long nz_size; +#define nz_un nlist.n_un +#define nz_strx nlist.n_un.n_strx +#define nz_name nlist.n_un.n_name +#define nz_type nlist.n_type +#define nz_value nlist.n_value +#define nz_desc nlist.n_desc +#define nz_other nlist.n_other +}; +.Ed +.Bl -tag -width nz_size +.It Fa nlist +( +.Xr nlist 3 +参照)。 +.It Fa nz_size +このシンボルで表現されるデータのサイズ。 +.El +.Pp +実行時のリンクエディットで行われるシンボル検索を高速化するため、 +共有オブジェクトのテキストセグメントにハッシュテーブルが含まれています。 +.Fa section_dispatch_table +の +.Fa sdt_hash +フィールドは +.Fa rrs_hash +構造体を指し示します: +.Bd -literal -offset indent +struct rrs_hash { + int rh_symbolnum; /* シンボル番号 */ + int rh_next; /* 次のハッシュエントリ */ +}; +.Ed +.Pp +.Bl -tag -width rh_symbolnum +.It Fa rh_symbolnum +共有オブジェクトのシンボルテーブル ( +.Fa ld_symbols +で与えられます) での当該シンボルのインデックス。 +.It Fa rh_next +衝突が起きたとき、このフィールドはこのハッシュテーブルのバケットにおける +次のエントリのオフセットを保持します。 +最終バケット要素の場合は 0 となります。 +.El +.Fa rt_symbol +構造体は、 +実行時にアロケートされるコモン(commons)と +共有オブジェクトからコピーされるデータアイテムを +追跡するのに用いられます。 +これらのアイテムはリンクリストで管理され、デバッガでの利用のために +.Fa so_debug +構造体 (後述) 中の +.Fa dd_cc +フィールドによって公開されます。 +.Bd -literal -offset indent +struct rt_symbol { + struct nzlist *rt_sp; + struct rt_symbol *rt_next; + struct rt_symbol *rt_link; + caddr_t rt_srcaddr; + struct so_map *rt_smp; +}; +.Ed +.Pp +.Bl -tag -width rt_scraddr +.It Fa rt_sp +シンボル記述。 +.It Fa rt_next +次の rt_symbol の仮想アドレス。 +.It Fa rt_link +ハッシュバケットにおける次の要素。 +.Nm ld.so +の内部で用いられます。 +.It Fa rt_srcaddr +共有オブジェクト中での初期化済データのソース位置。 +.It Fa rt_smp +この実行時シンボルが記述するデータの元のソースとなる共有オブジェクト。 +.El +.Pp +.Fa so_debug +構造体は、 +実行時リンクエディットの結果、当該プロセスのアドレス空間にロードされた +あらゆる共有オブジェクトの情報を得るために、 +デバッガによって利用されます。 +実行時リンクエディタはプロセスの初期化処理の一部として実行されるため、 +共有オブジェクトからシンボルにアクセスしようとするデバッガは、 +crt0 からリンクエディタが呼ばれた後でのみそれが可能となります。 +ダイナミックリンクされているバイナリは +.Fa so_debug +構造体を持っています。この構造体の場所は +.Fa _dynamic +中の +.Fa d_debug +フィールドで指示されます。 +.Bd -literal -offset indent +struct so_debug { + int dd_version; + int dd_in_debugger; + int dd_sym_loaded; + char *dd_bpt_addr; + int dd_bpt_shadow; + struct rt_symbol *dd_cc; +}; +.Ed +.Pp +.Bl -tag -width dd_in_debugger +.It Fa dd_version +このインタフェースのバージョン番号。 +.It Fa dd_in_debugger +当該プログラムがデバッガの制御下にあることを実行時リンカに知らせるために +デバッガによってセットされます。 +.It Fa dd_sym_loaded +共有オブジェクトをロードすることで実行時リンカがシンボルを追加した場合、 +実行時リンカによってセットされます。 +.It Fa dd_bpt_addr +デバッガに制御を移すために実行時リンカによってセットされる +ブレークポイントアドレス。 +このアドレスは、_main 呼び出しの前に、スタートアップモジュール +.Pa crt0.o +によってある適切な場所に決定されます。 +.It Fa dd_bpt_shadow +アドレス +.Fa dd_bpt_addr +にあった元の機械命令を保持します。 +デバッガは、プログラム実行を再開する前にこの機械命令を元に戻すことに +なっています。 +.It Fa dd_cc +デバッガが必要とする可能性のある、実行時にアロケートしたシンボルの +リンクリストへのポインタ。 +.El +.Pp +.Em ld_entry +構造体は +.Nm ld.so +中のサービスルーチン一式を定義します。 +.\" See +.\" .Xr libdl.a +.\" for more information. +.Bd -literal -offset indent +struct ld_entry { + void *(*dlopen)(char *, int); + int (*dlclose)(void *); + void *(*dlsym)(void *, char *); + char *(*dlerror)(void); +}; +.Ed +.Pp +.Fa crt_ldso +構造体は、crt0 中のスタートアップコードと +.Nm ld.so +との間のインタフェースを定義します。 +.Bd -literal -offset indent +struct crt_ldso { + int crt_ba; + int crt_dzfd; + int crt_ldfd; + struct _dynamic *crt_dp; + char **crt_ep; + caddr_t crt_bp; + char *crt_prog; + char *crt_ldso; + struct ld_entry *crt_ldentry; +}; +#define CRT_VERSION_SUN 1 +#define CRT_VERSION_BSD_2 2 +#define CRT_VERSION_BSD_3 3 +#define CRT_VERSION_BSD_4 4 +.Ed +.Bl -tag -width crt_dzfd +.It Fa crt_ba +crt0 によって +.Nm ld.so +がロードされた仮想アドレス。 +.It Fa crt_dzfd +SunOS では、このフィールドは +.Dq Pa /dev/zero +へのオープンされたファイル記述子を保持し、 +0 クリアされたデマンドページを得ます。 +.Fx +ではこのフィールドは -1 を保持します。 +.It Fa crt_ldfd +.Nm ld.so +をロードするために crt0 が用いる、オープンされたファイル記述子 +を保持します。 +.It Fa crt_dp +main の +.Fa _dynamic +構造体へのポインタ。 +.It Fa crt_ep +環境文字列へのポインタ。 +.It Fa crt_bp +メインプログラムがデバッガで実行される場合、 +実行時リンカがブレークポイントを置くアドレス。 +.Fa so_debug +を参照してください。 +.It Fa crt_prog +crt0 で決定されるメインプログラムの名前 (CRT_VERSION_BSD3 のみ)。 +.It Fa crt_ldso +crt0 でマップされる実行時リンカのパス (CRT_VERSION_BSD4 のみ)。 +.El +.Pp +.Fa hints_header +構造体及び +.Fa hints_bucket +構造体は、通常 +.Dq Pa /var/run/ld.so.hints +に置かれるライブラリヒントのレイアウトを定義します。 +ライブラリヒントは、ファイルシステム中で共有オブジェクトイメージの在処を +すばやく見つけるために +.Nm ld.so +によって利用されます。 +ヒントファイルの構成は +.Dq a.out +とそれほど異なりません。つまりヒントファイルは、 +固定長ハッシュバケットのオフセットとサイズを決定するためのヘッダと、 +共通の文字列プールを持っています。 +.Bd -literal -offset indent +struct hints_header { + long hh_magic; +#define HH_MAGIC 011421044151 + long hh_version; +#define LD_HINTS_VERSION_1 1 + long hh_hashtab; + long hh_nbucket; + long hh_strtab; + long hh_strtab_sz; + long hh_ehints; +}; +.Ed +.Bl -tag -width hh_strtab_sz +.It Fa hh_magic +ヒントファイルのマジックナンバ。 +.It Fa hh_version +インタフェースのバージョン番号。 +.It Fa hh_hashtab +ハッシュテーブルのオフセット。 +.It Fa hh_strtab +文字列テーブルのオフセット。 +.It Fa hh_strtab_sz +文字列テーブルのサイズ。 +.It Fa hh_ehints +ヒントファイルで利用可能な最大オフセット。 +.El +.Pp +.Bd -literal -offset indent +/* + * ヒントファイルのハッシュテーブル要素 + */ +struct hints_bucket { + int hi_namex; + int hi_pathx; + int hi_dewey[MAXDEWEY]; + int hi_ndewey; +#define hi_major hi_dewey[0] +#define hi_minor hi_dewey[1] + int hi_next; +}; +.Ed +.Bl -tag -width hi_ndewey +.It Fa hi_namex +ライブラリを指定する文字列のインデックス。 +.It Fa hi_pathx +ライブラリのフルパス名を表す文字列のインデックス。 +.It Fa hi_dewey +共通ライブラリのバージョン番号。 +.It Fa hi_ndewey +.Fa hi_dewey +中の有効エントリ数。 +.It Fa hi_next +ハッシュ衝突の際の次のバケット。 +.El +.Sh 警告 +現在のところ、共有ライブラリ生成をサポートしているのは (GNU) C コンパイラ +のみです。他のプログラミング言語では利用できません。 diff --git a/documentation/manual-pages/ja/man5/linprocfs.5 b/documentation/manual-pages/ja/man5/linprocfs.5 new file mode 100644 index 0000000000..292d579c8a --- /dev/null +++ b/documentation/manual-pages/ja/man5/linprocfs.5 @@ -0,0 +1,94 @@ +.\" %FreeBSD: src/share/man/man5/linprocfs.5,v 1.12 2003/07/03 06:07:26 jkoshy Exp % +.\" Written by Garrett Wollman +.\" This file is in the public domain. +.\" +.\" $FreeBSD$ +.Dd August 10, 1994 +.Dt LINPROCFS 5 +.Os +.Sh 名称 +.Nm linprocfs +.Nd Linux プロセスファイルシステム +.Sh 書式 +.Bd -literal +linproc /compat/linux/proc linprocfs rw 0 0 +.Ed +.Sh 解説 +Linux プロセスファイルシステム、すなわち +.Nm +は、Linux のプロセスファイルシステムのサブセットをエミュレートします。 +いくつかの Linux バイナリが完全動作するために必要です。 +.Pp +.Nm +はプロセス空間の 2 つのレベルのビューを提供します。 +高いレベルでは、プロセスは、先頭に 0 の付かない +10 進数のプロセス ID に従って名前付けされます。 +また、調査要求を行っているプロセスを常に参照する、 +.Pa self +と呼ばれる特別なノードも存在します。 +.Pp +各ノードは、いくつかのファイルを含むノードです: +.Bl -tag -width status +.It Pa exe +プロセステキストが読まれた vnode への参照。 +これはプロセスのシンボルテーブルへのアクセスを得るか、または +プロセスのもう 1 つのコピーを始めるために使われます。 +.It Pa mem +プロセスの完全な仮想メモリイメージ。 +プロセス中に存在するアドレスのみにアクセス可能です。 +このファイルへ読み書きするとプロセスを修正します。 +テキストセグメントへの書き込みは、そのプロセスのみに留まります。 +.El +.Pp +各ノードはプロセスのユーザによって所有され、 +ユーザのプライマリグループに属します。 +.Pa mem +ノードは例外で、 +.Li kmem +グループに属します。 +.Sh 関連ファイル +.Bl -tag -width /compat/linux/proc/self/XXXXXXX -compact +.It Pa /compat/linux/proc +.Nm +の標準マウントポイント。 +.It Pa /compat/linux/proc/cpuinfo +人間が判読しやすい形式の、CPU のベンダとモデルに関する情報。 +.It Pa /compat/linux/proc/meminfo +人間が判読しやすい形式の、システムのメモリ情報。 +.It Pa /compat/linux/proc/pid +プロセス +.Pa pid +のプロセス情報を含んだディレクトリ。 +.It Pa /compat/linux/proc/self +カレントプロセスのプロセス情報を含んだディレクトリ +.It Pa /compat/linux/proc/self/exe +カレントプロセスの実行形式イメージ +.It Pa /compat/linux/proc/self/mem +カレントプロセスの完全な仮想アドレス空間 +.El +.Sh 関連項目 +.Xr mount 2 , +.Xr unmount 2 , +.Xr procfs 5 , +.Xr mount_linprocfs 8 +.Xr pseudofs 8 +.Sh 作者 +.An -nosplit +.Nm +は、 +.An Pierre Beyssac +によって +.Nm procfs +から作られました。 +このマニュアルページは、 +.An Garrett Wollman +が書いた +.Xr procfs 5 +マニュアルページに基づいて、 +.An Dag-Erling Sm\(/orgrav +が書きました。 +.Sh 歴史 +.Nm +は +.Fx 4.0 +ではじめて登場しました。 diff --git a/documentation/manual-pages/ja/man5/loader.conf.5 b/documentation/manual-pages/ja/man5/loader.conf.5 new file mode 100644 index 0000000000..f1d9d91f71 --- /dev/null +++ b/documentation/manual-pages/ja/man5/loader.conf.5 @@ -0,0 +1,217 @@ +.\" Copyright (c) 1999 Daniel C. Sobral +.\" All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" %FreeBSD: src/sys/boot/forth/loader.conf.5,v 1.21 2004/05/16 22:51:36 ru Exp % +.\" +.\" $FreeBSD$ +.\" +.Dd April 18, 1999 +.Dt LOADER.CONF 5 +.Os +.Sh 名称 +.Nm loader.conf +.Nd "システムブートストラップの設定情報" +.Sh 解説 +ファイル +.Nm +は、システムのブートストラップに関する記述的な情報を含みます。 +これを通じて、ブートすべきカーネル、カーネルに渡すパラメータ、 +ロードすべき追加のモジュールを指定可能であり、また、一般的に、 +.Xr loader 8 +で記述されているすべての変数を設定可能です。 +.Pp +.Nm +が自動的に処理されるようにするために、 +ファイル +.Pa /boot/loader.rc +は次の 2 行を含む必要があります。 +.Pp +.Dl include /boot/loader.4th +.Dl start +.Pp +インストール時に +.Pa /boot/loader.rc +が存在しない場合、前述の行を含むものが組み込まれることになります。 +.Sh 文法 +.Nm +の書式は、明らかに +.Xr rc.conf 5 +の書式を受け継いだものであり、 +.Xr sh 1 +を起源とするものですが、特別な方法で扱われる設定があります。 +また、設定の動作がサフィックスによって定義されるものもあり、 +その場合、プレフィックスは、制御対象のモジュールを指定します。 +.Pp +一般的な解釈の規則は次の通りです: +.Bl -bullet +.It +空白と空行は無視されます。 +.It +記号 # は、行の残りがコメントであるという印です。 +.It +各行には 1 個の設定のみ存在可能です。 +.El +.Pp +すべての設定は、次の書式です: +.Pp +.Dl variable="value" +.Pp +特殊な扱いを受ける設定のクラスに属すのでなければ、 +おのおのの設定は +.Xr loader 8 +の環境変数の値を設定します。 +特殊な扱いを受ける設定は、ここに列挙しています。 +ここで、 +.Qq * +で始まる設定は、ロードされるモジュールを定義し、 +任意のプレフィックスを持ちえます。 +そのプレフィックスがモジュールを指定します。 +共通のプレフィックスを持つような設定はすべて、 +同一のモジュールを参照します。 +.Bl -tag -width Ar +.It Ar exec +即時に +.Xr loader 8 +のコマンドを実行します。 +このタイプの設定は、 +.Xr loader 8 +以外のプログラムでは処理できませんので、使用は避けるべきです。 +複数個指定すると、別々に処理されます。 +.It Ar loader_conf_files +現在のファイルのすぐ後に処理すべき、追加の設定ファイルを定義します。 +.It Ar kernel +ロードすべきカーネルの名前です。 +カーネルの名前を設定しないと、 +追加のモジュールはロードされません。 +.It Ar kernel_options +カーネルに渡されるフラグです。 +.It Ar password +実行継続許可前にパスワード確認が要求するパスワードを提供します。 +.It Ar verbose_loading +.Dq YES +に設定すると、モジュールがロードされる際にその名前が表示されます。 +.It Ar *_load +.Dq YES +に設定すると、そのモジュールがロードされます。 +名前を定義しないと (後述)、モジュールの名前はプレフィックスと同じになります。 +.It Ar *_name +モジュールの名前を定義します。 +.It Ar *_type +モジュールのタイプを定義します。 +なにも指定しないと、デフォルトの kld モジュールになります。 +.It Ar *_flags +モジュールに渡されるフラグとパラメータです。 +.It Ar *_before +モジュールのロード前に実行すべきコマンドです。 +この設定の使用は避けるべきです。 +.It Ar *_after +モジュールのロード後に実行すべきコマンドです。 +この設定の使用は避けるべきです。 +.It Ar *_error +モジュールのロードに失敗した場合に実行されるコマンドです。 +ブートストラップ処理を異常終了させる特殊な値 +.Dq abort +以外では、この設定の使用は避けるべきです。 +.El +.Pp +.Em 警告: +開発者はこれらのサフィックスを kernel 環境変数 (変更可能変数) に +一切使ってはいけません。 +さもないと衝突します。 +.Sh デフォルト設定 +ほとんどの +.Nm +のデフォルト設定は無視可能です。 +少数の重要または有用なものを次に示します: +.Bl -tag -width bootfile -offset indent +.It Va bitmap_load +.Pq Dq NO +.Dq YES +に設定すると、ビットマップがロードされ、ブート中に画面に表示されます。 +.It Va bitmap_name +.Pq Dq Pa /boot/splash.bmp +ロードされるビットマップの名前です。 +他の名前を使用することも可能です。 +.It Va console +.Pq Dq vidconsole +.Dq comconsole +シリアルコンソールを選択します。 +.Dq vidconsole +ビデオコンソールを選択します。 +.Dq nullconsole +mute コンソールを選択します。 +(ビデオコンソールもシリアルポートも持たないシステムで有用です。) +.\" mute コンソールなんて言葉ないかな ? oh:2002/12/12 +.\" +selects a mute console +.\" +(useful for systems with neither a video console nor a serial port). +.It Va kernel +.Pq Dq Pa /boot/kernel/kernel +.It Va loader_conf_files +.Pq Dq Pa /boot/loader.conf /boot/loader.conf.local +.It Va splash_bmp_load +.Pq Dq NO +.Dq YES +に設定すると、起動画面モジュールをロードし、 +ブート中に bmp イメージを画面に表示することを可能にします。 +.It Va splash_pcx_load +.Pq Dq NO +.Dq YES +に設定すると、起動画面モジュールをロードし、 +ブート中に pcx イメージを画面に表示することを可能にします。 +.It Va vesa_load +.Pq Dq NO +.Dq YES +に設定すると、vesa モジュールをロードし、 +VGA を越える解像度のビットマップを表示可能とします。 +.El +.Sh 関連ファイル +.Bl -tag -width /boot/defaults/loader.conf -compact +.It Pa /boot/defaults/loader.conf +デフォルト設定 -- このファイルを変更しないでください。 +.It Pa /boot/loader.4th +loader が使用するコマンドを定義し、 +.Nm +を読み込んで処理します。 +.It Pa /boot/loader.conf +ユーザが定義した設定です。 +.It Pa /boot/loader.conf.local +共通の loader.conf と共に使用する、サイトのマシン固有の設定です。 +.It Pa /boot/loader.rc +.Nm +を自動的に処理する指示を含みます。 +.El +.Sh 関連項目 +.Xr boot 8 , +.Xr loader 8 , +.Xr loader.4th 8 +.Sh 歴史 +ファイル +.Nm +は +.Fx 3.2 +ではじめて登場しました。 +.Sh 作者 +このマニュアルページは +.An Daniel C. Sobral Aq dcs@FreeBSD.org +によって書かれました。 diff --git a/documentation/manual-pages/ja/man5/login.access.5 b/documentation/manual-pages/ja/man5/login.access.5 new file mode 100644 index 0000000000..e72d73a9a6 --- /dev/null +++ b/documentation/manual-pages/ja/man5/login.access.5 @@ -0,0 +1,59 @@ +.\" +.\" %FreeBSD: src/usr.bin/login/login.access.5,v 1.14 2004/07/02 22:22:27 ru Exp % +.\" +.\" $FreeBSD$ +.\" +.\" WORD: access granted アクセス許可(許可された状態) +.\" +.Dd April 30, 1994 +.Dt LOGIN.ACCESS 5 +.Os +.Sh 名称 +.Nm login.access +.Nd ログインアクセス制御表 +.Sh 解説 +.Nm +ファイルは、ログインを許可または拒否する +(ユーザ, ホスト) の組や (ユーザ, tty) の組を指定します。 +.Pp +誰かがログインする際に、 +.Nm +から (ユーザ, ホスト) の組にマッチする最初のエントリを探します。 +非ネットワークログインの場合には、 +(ユーザ, tty) の組にマッチする最初のエントリを探します。 +表のエントリ中のパーミッションフィールドは、 +ログインを許可するか拒否するかを決定します。 +.Pp +ログインアクセス制御表の各行は、 +.Ql \&: +文字で区切られる +次のような 3 フィールドから成ります: +.Ar パーミッション : Ns Ar ユーザ : Ns Ar 起点 +.Pp +第 1 フィールドは、"+" (アクセス許可) もしくは "-" (アクセス不許可) の +文字です。 +第 2 フィールドは、ログイン名・グループ名・ALL (常にマッチ) +を 1 つ以上含むリストです。 +第 3 フィールドは、tty 名 (非ネットワークログイン用)・ホスト名・ +ドメイン名 ("." から開始)・ホストアドレス・インターネットのネットワーク番号 +("." で終了)・ALL (常にマッチ)・LOCAL ("." を含まない文字列にマッチ) +を 1 つ以上含むリストです。 +NIS 使用時には、ホストおよびユーザの指定に @netgroupname を使用できます。 +.Pp +EXCEPT 演算子を使用すると、非常に小さいルールを記述できます。 +.Pp +名前がログインしたユーザ名にマッチしない場合のみ、 +グループファイルが検索されます。 +ユーザが明示的にリストされている +グループのみがマッチします。 +このプログラムはユーザのプライマリグループ ID 値を見ません。 +.Sh 関連ファイル +.Bl -tag -width /etc/login.access -compact +.It Pa /etc/login.access +ログインアクセス制御テーブル +.El +.Sh 関連項目 +.Xr login 1 , +.Xr pam 8 +.Sh 作者 +.An Guido van Rooij diff --git a/documentation/manual-pages/ja/man5/login.conf.5 b/documentation/manual-pages/ja/man5/login.conf.5 new file mode 100644 index 0000000000..b9414804e9 --- /dev/null +++ b/documentation/manual-pages/ja/man5/login.conf.5 @@ -0,0 +1,405 @@ +.\" Copyright (c) 1996 David Nugent <davidn@blaze.net.au> +.\" All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, is permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice immediately at the beginning of the file, without modification, +.\" this list of conditions, and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. This work was done expressly for inclusion into FreeBSD. Other use +.\" is permitted provided this notation is included. +.\" 4. Absolutely no warranty of function or purpose is made by the author +.\" David Nugent. +.\" 5. Modifications may be freely made to this file providing the above +.\" conditions are met. +.\" +.\" %FreeBSD: src/lib/libutil/login.conf.5,v 1.52 2004/08/06 12:56:39 roam Exp % +.\" +.\" $FreeBSD$ +.Dd August 6, 2004 +.Dt LOGIN.CONF 5 +.Os +.Sh 名称 +.Nm login.conf +.Nd ログインクラス ケーパビリティ データベース +.Sh 書式 +.Pa /etc/login.conf , +.Pa ~/.login_conf +.Sh 解説 +.Nm +には、ログインクラスについてのさまざまな属性やケーパビリティが +含まれています。 +ログインクラス (ユーザアカウントデータベースである +.Pa /etc/master.passwd +のそれぞれの行について自由に設定できる注釈) は、セッションの +アカウンティングやリソース制限、ユーザ環境設定などを決定します。 +ログインクラスはシステム内のさまざまなプログラムから利用され、 +ユーザのログイン環境を設定するほか、 +ポリシ、アカウンティング及び管理上の制限を設定します。 +ログインクラスはまた、 +システムや利用可能な種々の認証機構に対するユーザ認証手段を提供します。 +ここに記述した以外の属性は、サードパーティによる packages で利用可能です +.Pp +システムのユーザクラスケーパビリティデータベースである +.Pa /etc/login.conf +の中の "default" という特別なレコードは、 +.Pa /etc/master.passwd +内に有効なログインクラスを持たない root 以外のすべてのユーザに +よって自動的に使われます。有効なログインクラスを持たない uid が 0 の +ユーザは、"root" レコードが存在する場合はそのレコードが、 +存在しない場合は "default" レコードがログインクラスとして使われます。 +.Pp +.Fx +においては、個々のユーザは +.Pa .login_conf +というファイルをホームディレクトリに作成することができます。 +このファイルは (/etc/login.conf と) 同じフォーマットで、 +レコード id が "me" である 1 エントリのみで構成されます。 +もし .login.conf が存在するならば、このファイルは +.Xr login 1 +によって使用され、システムのログインケーパビリティデータベースによって +指定されたユーザ環境設定を上書き設定します。 +その際、ログインケーパビリティのサブセット、 +典型的には承認やリソース制限そしてアカウンティングを含まないもの +のみが上書きされます。 +.Pp +クラスケーパビリティデータベースのレコードは、コロンで区切られた +いくつかのフィールドから構成されています。 +各レコードの最初のフィールドは、レコードを特定するための +1 つまたは複数の名前で、それらは '|' 文字で区切られます。 +その最初の名前が、最も一般化された短縮名称です。 +最後の名前は、ログインケーパビリティエントリをより分かりやすく説明した +長い名前であるべきで、他の名前はその同義語です。 +すべての名前は小文字かつ空白を含まないようにすべきですが、 +最後の名前は可読性を考慮して、大文字やブランクを含んでいてもよいでしょう。 +.Pp +ケーパビリティデータベースのフォーマットについての詳細な説明は +.Xr getcap 3 +を参照してください。 +.Sh ケーパビリティ +データベース内のそれぞれの行に含まれるフィールドは、 +.Xr getcap 3 +の慣習に従い、ブール型、文字列型 +.Ql \&= +数値型 +.Ql \&# +があります。 +しかしながら数値データのところは、数値型が拒否され文字列型が +受け入れられることがあったり、両方の書式が受け入れられることもあります。 +値は次のカテゴリに分類されます。 +.Bl -tag -width "program" +.It bool +名前が存在する場合、ブール値は真になります。 +そうでない場合、偽になります。 +.It file +データファイルへのパス名 +.It program +実行可能ファイルへのパス名 +.It list +コンマや空白で区切られた値のリスト (または値の組) +.It path +普通の csh の慣習に従った、空白やコンマで区切られたパス名のリスト +(先頭のユーザ名を伴う/伴わないチルダはホームディレクトリに展開される等) +.It number +10 進数 (デフォルト)、16 進数 (0x で始まる)、または 8 進数 (0 で始まる) の +数値型の値。数値型の場合、設定できる値は 1 つだけです。 +数値型は文字列型のフォーマットでも指定できる場合があります +(ケーパビリティタグ '#' の代わりに '=' で値が区切られているなど)。 +どの方法が使われた場合でも、データベース中のすべての行は修正したい行の値を +正確に上書きするために、同じ方法を用いなければなりません。 +.It size +サイズを表す文字。単位のデフォルトの解釈はバイトで、サフィックスに +よって別の単位を指定できます。 +.Bl -tag -offset indent -compact -width xxxx +.It b +512 バイトブロックの明示的な指定 +.It k +キロバイトの指定 (1024 バイト) +.It m +1 メガバイトの乗数の指定 (1048576 バイト) +.It g +ギガバイト単位の指定。そして +.It t +テラバイトの記述。 +.El +サイズの値は数値であり、サフィックスの大文字小文字は重要ではありません。 +連続した値は足し込まれます。 +.It time +時間の期間。デフォルトの単位は秒。 +プレフィックスによって別の単位を指定できます。 +.Bl -tag -offset indent -compact -width xxxx +.It y +1 年を 365 日で数えた年数の指定 +.It w +週の数の指定 +.It d +日数 +.It h +時間数 +.It m +分数 +.It s +秒数 +.El +連続した値は足し込まれます。 +たとえば 2 時間 40 分は 9600s、160m または 2h40m と +表現することができます。 +.El +.Pp +特別な +.Em tc=value +表記を使用することにより、通常の約束事であるケーパビリティエントリの +補間が可能です。 +.Sh リソース制限 +.Bl -column coredumpsize indent indent +.It Sy "名称 型 注 解説 +.It "coredumpsize size コアダンプサイズの最大値制限 +.It "cputime time CPU 使用制限 +.It "datasize size データサイズの最大値制限 +.It "filesize size ファイルサイズの最大値制限 +.It "maxproc number プロセス数の最大値制限 +.It "memorylocked size コアメモリロック可能量の最大値制限 +.It "memoryuse size コアメモリ使用量の最大値制限 +.It "openfiles number プロセスごとにオープンできるファイル数の最大値制限 +.It "sbsize size 最大のソケットバッファサイズ +.It "vmemoryuse size プロセスあたりの最大総 VM 使用量 +.It "stacksize size スタックサイズの最大値制限 +.El +.Pp +これらのリソース制限エントリは、実際には最大値と現在の +制限値の両方を指定します ( +.Xr getrlimit 2 +を参照してください)。 +普通は現在の制限値 (ソフトリミット) が使われますが、 +ユーザは現在の制限値を最大制限値 (ハードリミット) まで増やすことが +許されています。 +最大制限値と現在の制限値はケーパビリティ名に各々 -max 及び -cur を +追加することによって指定できます。 +.Sh 環境 +.Bl -column ignorenologin indent xbinxxusrxbin +.It Sy "名称 型 注 解説 +.It "charset string $MM_CHARSET 環境変数の明示的な設定値 +.It "hushlogin bool false ~/.hushlogin ファイルがある場合と同じ +.It "ignorenologin bool false nologin によってログインを禁止されません +.It "ftp-chroot bool false FTP 接続を、 +.Xr chroot 2 +を使用してユーザの +.Ev HOME +ディレクトリへ制限します。 +詳細は +.Xr ftpd 8 +を参照してください。 +.It "label string MAC ポリシの定義。 +.Xr maclabel 7 +参照 +.It "lang string $LANG 環境変数を指定した値に設定します +.It "manpath path マニュアルページのデフォルト検索パス +.It "nocheckmail bool false ログイン時にメールのステータスを表示します +.It "nologin file このファイルが存在する場合、ファイルの内容が画面に表示され、そのログインセッションは終了されます +.It "path path /bin /usr/bin デフォルトコマンド検索パス +.It "priority number 優先度 (nice) レベルの初期値 +.It "requirehome bool false ログインのために有効なホームディレクトリが必要 +.It "setenv list コンマで区切られた環境変数とその設定値のリスト +.It "shell prog パスワードファイルで指定されているシェルより優先して実行されるセッションシェル。SHELL 環境変数の値は、パスワードファイルで指定されているものになります。 +.It "term string 他の手段によって決定できない場合のデフォルトの端末タイプ +.It "timezone string $TZ 環境変数のデフォルト値 +.It "umask number 022 umask の初期値。続く数字が 8 進数と解釈されるように、常に 0 から始めます +.It "welcome file /etc/motd ウェルカムメッセージが入っているファイル +.El +.Sh 認証 +.Bl -column passwd_prompt indent indent +.It Sy "名称 型 注 解説 +.\" .It "approve program Program to approve login. +.It "copyright file 追加のコピーライト情報を含んだファイル +.It "host.allow list クラス内のユーザがアクセス可能なリモートホストワイルドカードのリスト +.It "host.deny list クラス内のユーザがアクセス不可なリモートホストワイルドカードのリスト +.It "login_prompt string +.Xr login 1 +が与えるログインプロンプト +.It "login-backoff number 3 この回数のログイン試行がなされた後、 +後続する試行に対してバックオフ遅延が追加されます。 +.It "login-retries number 10 ログイン失敗までに可能な、 +ログイン試行回数。 +.It "passwd_format string md5 新規パスワードが使用する +暗号フォーマット。 +有効な値は "md5", "des", "blf" です。 +NIS クライアントが、 +.Fx +ではない NIS サーバを使用する場合、 +おそらく "des" を使用すべきでしょう。 +.It "passwd_prompt string +.Xr login 1 +が表示するパスワードプロンプト +.It "times.allow list ログインが許されている時間帯のリスト +.It "times.deny list ログインが許されない時間帯のリスト +.It "ttys.allow list クラス内のユーザがアクセスに使用できる端末と端末グループのリスト +.It "ttys.deny list クラス内のユーザがアクセスに使用不可な端末と端末グループのリスト +.It "warnexpire time 失効しそうなアカウントに対する事前の注意を +行なう時間 +.It "warnpassword time 失効しそうなパスワードに対する事前の +注意を行なう時間 +.\".It "widepasswords bool false Use the wide password format. The wide password +.\" format allows up to 128 significant characters in the password. +.El +.Pp +これらのフィールドは、ログイン認証システムの中で +.Xr passwd 1 +や、その他のプログラムから使用される予定です。 +.Pp +環境変数を設定するケーパビリティは、その中の文字 +.Ql \&~ +と +.Ql \&$ +の両方がスキャンされ、これらはそれぞれ +ユーザのホームディレクトリ及びユーザ名に置換されます。 +環境変数中にこれらの文字をそのまま含める場合には、 +その前にバックスラッシュ '\\' をつけてエスケープします。 +.Pp +.Em host.allow +と +.Em host.deny +エントリはコンマで区切られたリストで、システムへのリモートアクセスの +チェックに使われます。 +これらはホスト名か IP アドレスまたはその両方を含むリストからなり、 +それらに対してリモートログインのチェックが行われます。 +このリストの各項目は、ワイルドカード一致用にシェルプログラムが使用しているのと +同じ書式のワイルドカードを含むことができます +(実装の詳細は +.Xr fnmatch 3 +を参照してください)。 +ホストのチェックは、リモートシステムのインターネットアドレス +と (もし有効なら) ホスト名の両方をつきあわせて行われます。 +両方のリストが空かもしくは指定されていない場合、あらゆるリモートホスト +からのログインは許可されます。 +host.allow が 1 つかそれ以上のホストを含む場合、リスト中の +各項目のどれかにマッチしたリモートシステムのみがログインを許されます。 +host.deny が 1 つかそれ以上のホストを含む場合、そのリストのどれかに +マッチしたホストからのログインが禁止されます。 +.Pp +.Em times.allow +と +.Em times.deny +エントリはコンマで区切られた期間のリストであり、この期間はクラス内の +ユーザがログインを許されます。 +これらは 1 つ以上の日のコード指定と、これに続けて 24 時間表記の開始時刻と +終了時刻をハイフンまたはダッシュで区切ったものとして表現されます。 +たとえば MoThSa0200-1300 は、月、木、土の +午前 2 時から午後 1 時と解釈されます。 +これらの時間指定リストの両方が空だった場合、クラス内のユーザはいつでもアクセス +可能になります。 +.Em times.allow +が指定されている場合、ログインは指定された期間のみ許可されます。 +もし +.Em times.deny +が指定されている場合、 +.Em times.allow +の中で期間が指定されているかどうかに関わらず、指定された期間は +ログインできなくなります。 +.Pp +.Xr login 1 +が強制することは、これらのエントリにより許可された期間内に実際の +ログインが行なわれることのみである点に注意して下さい。 +セッションの生存期間に関して更なる規制をかけるには、別のデーモンを用意し、 +許可されている期間から許可されていない期間への +遷移を監視する必要があります。 +.Pp +.Em ttys.allow +と +.Em ttys.deny +エントリは、クラス内のユーザがシステムにアクセスするために使う +コンマで区切られた (/dev/ プレフィックスを除く) 端末デバイスと、 +端末グループ (ttygroup) のリストです (ttygroup の詳細は +.Xr getttyent 3 +と +.Xr ttys 5 +を参照して下さい)。 +どちらのエントリも存在しない場合、ユーザが使用するログインデバイスの選択には +制限はありません。 +.Em ttys.allow +のみ指定されている場合、ユーザの使えるデバイスは指定されたグループ +またはデバイスリストのみに制限されます。 +.Em ttys.deny +のみ指定されている場合、ユーザは指定されたデバイスやデバイス +グループを使用できません。 +両方が与えられていてかつどちらも空でない場合、ユーザは ttys.allow +で指定されていて、ttys.deny では指定されていないデバイス群のみ +使用できます。 +.Pp +.Em minpasswordlen +および +.Em minpasswordcase +の機能は、パスワードの品質制限を強制するためのものです。 +.Nm +でサポートされていましたが、現在は +.Xr pam_passwdqc 8 +PAM モジュールにとってかわられました。 +.Sh 予約済ケーパビリティ +下記ケーパビリティは、記述された目的のために予約済であり、 +サードパーティソフトウェアによってサポートされているかもしれません。 +ベースシステムでは実装されていません。 +.Bl -column host.accounted indent indent +.It Sy "名称 型 注 解説 +.It "accounted bool false このクラス内の全ユーザの +セッション時間アカウンティングを有効化 +.It "autodelete time アカウント失効後自動で削除されるまでの時間 +.It "bootfull bool false セッション終了時の「ttygroup が一杯の場合にのみブート」戦略を +有効にする +.It "daytime time 1 日あたりのログイン最大時間 +.It "expireperiod time 期限切れまでの割り当て時間 +.It "graceexpire time 失効したアカウントの猶予日数 +.It "gracetime time 追加された、猶予ログイン許可時間 +.It "host.accounted list ログインセッションがアカウントされる +リモートホストワイルドカードのリスト +.It "host.exempt list ログインセッションのアカウンティング +を免除されたリモートホストワイルドカードのリスト +.It "idletime time ログアウトまでの最大アイドル時間 +.It "minpasswordlen number 6 ローカルパスワード文字列長の最小値 +.It "mixpasswordcase bool true +すべて小文字のパスワードが入力された場合、 +.Xr passwd 1 +がユーザに警告します +.It "monthtime time 月毎の最大ログイン時間 +.It "passwordtime time 次回パスワード無効日を指定するために +.Xr passwd 1 +が使用 +.It "refreshtime time アカウントのリフレッシュ許可時間 +.It "refreshperiod str リフレッシュが行なわれる頻度 +.It "sessiontime time セッション毎の最大ログイン時間 +.It "sessionlimit number すべてのグループに対する tty 上の +同時最大ログイン数 +.It "ttys.accounted list ログインアカウントが有効な tty と ttygroup のリスト +.It "ttys.exempt list ログインアカウントが無効な tty と ttygroup のリスト +.It "warntime time 時間切れになりそうな場合に対する事前の注意を +行なう時間 +.It "weektime time 1 週間毎の最大ログイン時間 +.El +.Pp +.Em ttys.accounted +と +.Em ttys.exempt +フィールドは、先に述べた +.Em ttys.allow +と +.Em ttys.deny +と同じような方法で状態を操作します。 +.Em host.accounted +と +.Em host.exempt +のリストも同様です。 +.Sh 関連項目 +.Xr cap_mkdb 1 , +.Xr login 1 , +.Xr chroot 2 , +.Xr getcap 3 , +.Xr getttyent 3 , +.Xr login_cap 3 , +.Xr login_class 3 , +.Xr pam 3 , +.Xr passwd 5 , +.Xr ttys 5 , +.Xr ftpd 8 , +.Xr pam_passwdqc 8 diff --git a/documentation/manual-pages/ja/man5/magic.5 b/documentation/manual-pages/ja/man5/magic.5 new file mode 100644 index 0000000000..1daa5dba41 --- /dev/null +++ b/documentation/manual-pages/ja/man5/magic.5 @@ -0,0 +1,253 @@ +.TH MAGIC 5 "Public Domain" +.\" install as magic.4 on USG, magic.5 on V7 or Berkeley systems. +.\" +.\" $FreeBSD$ +.SH 名称 +.Nm magic +magic \- file コマンドのマジック番号ファイル +.SH 解説 +このマニュアルページでは +.BR file (1) +コマンド バージョン "4.10" で使用されるマジックファイルのフォーマットに +ついて説明します。 +.BR file +コマンドは、他のテストと共に、ファイルがある +.IR "マジック番号" +で始まっているかどうかをテストして、ファイルのタイプを識別します。 +ファイル +.I /usr/share/misc/magic +では、どのマジック番号をテストするか、 +あるマジック番号が見つかったときにどのようなメッセージを出力するか、 +また、そのファイルから抽出するべき追加情報について指定しています。 +.PP +このファイルの各行ではテストすべき項目について指定しています。 +テストは、ファイル中のある特定のオフセットで始まるデータを +1 バイト、2 バイトもしくは 4 バイトの数値あるいは文字列と +比較して行います。 +もしテストが成功するとメッセージが出力されます。 +各行は以下のフィールドから構成されます。 +.IP offset \w'message'u+2n +テストするファイルのデータのオフセットをバイト数で指定する数字です。 +.IP type +テストするデータの型です。指定できる値は +.RS +.IP byte \w'message'u+2n +1 バイトの値。 +.IP short +(ほとんどのシステムにおいて) 2 バイトの値。 +そのマシンの固有のバイト順で指定します。 +.IP long +(ほとんどのシステムにおいて) 4 バイトの値。 +そのマシンの固有のバイト順で指定します。 +.IP string +バイトの文字列。 +文字列タイプの指定には、後ろに /[Bbc]* を付けることが可能です。 +``B'' フラグは、ターゲットの空白を圧縮します。 +圧縮対象には、少なくともひとつの空白文字が含まれることが必要です。 +マジックに +.I n +個の連続する空白がある場合、 +マッチするためには、 +ターゲットには少なくとも +.I n +個の連続する空白があることが必要です。 +``b'' フラグは、すべての空白を省略可能な空白として扱います。 +最後に ``c'' フラグは、大文字小文字を区別しないマッチングを指定します。 +すなわち、マジック中の小文字は、 +ターゲット中の小文字と大文字の両方にマッチします。 +一方、マジック中の大文字は、ターゲット中の大文字にのみマッチします。 +.IP date +UNIX 日時として解釈される 4 バイトの値。 +.IP ldate +UNIX 日時として解釈される 4 バイトの値。 +ただし UTC ではなくローカル日時として解釈されます。 +.IP beshort +(ほとんどのシステムにおいて) 2 バイトの値。 +ビッグエンディアンのバイト順です。 +.IP belong +(ほとんどのシステムにおいて) 4 バイトの値。 +ビッグエンディアンのバイト順です。 +.IP bedate +Unix 日時として解釈される (ほとんどのシステムにおいて) 4 バイトの値。 +ビッグエンディアンのバイト順です。 +.IP leshort +(ほとんどのシステムにおいて) 2 バイトの値。 +リトルエンディアンのバイト順です。 +.IP lelong +(ほとんどのシステムにおいて) 4 バイトの値。 +リトルエンディアンのバイト順です。 +.IP ledate +UNIX 日時として解釈される (ほとんどのシステムにおいて) 4 バイトの値。 +リトルエンディアンのバイト順です。 +.IP leldate +UNIX 日時として解釈される (ほとんどのシステムにおいて) 4 バイトの値。 +リトルエンディアンのバイト順です。 +ただし UTC ではなくローカル日時として解釈されます。 +.RE +.PP +数字の型にはオプションとして +.B & +と数値を続けることができ、 +これにより比較を行う前に AND をとる数値を指定します。 +型の前に +.B u +を付加すると比較は符号なしで行われます。 +.IP test +ファイル中の値と比較される値。 +型が数字の場合、この値は C 言語の形式で指定されます。 +これが文字列の場合、 +通常のエスケープ記法 (たとえば改行では\en) が可能な C 言語文字列として +指定されます。 +.IP +数値の前には実行される操作を示す文字を付加することができます。 +その文字には +ファイルの値が指定された値と等価であることを指定する +.BR = +、ファイルの値が指定された値より小さいことを指定する +.BR < +、ファイルの値が指定された値より大きいことを指定する +.BR > +、指定された値の中でセットされているすべてのビットが +ファイルでの値ですべてセットされていることを指定する +.BR & +、指定された値の中でセットされているどれかのビットが +ファイルでの値でオフであることを指定する +.BR ^ +、何らかの値がマッチすることを指定する +.BR x +があります。 +これらの文字がない場合は +.BR = +が指定されているものとみなされます。 +.IP +数値は C 言語の形式で指定されます。 +例えば +.B 13 +は 10 進数、 +.B 013 +は 8 進数、 +.B 0x13 +は 16 進数となります。 +.IP +文字列値については、 +ファイル中のバイト文字列は指定されたバイト文字列に +マッチしなければなりません。 +オペレータ +.BR = +と +.B < +と +.B > +( +.BR & +を除く) +が文字列に適用できます。 +マッチングに使用される長さは +マジックファイルでの文字列の引数の長さとなります。 +これは +.B >\e0 +とすることにより、 +その行はどの文字列にもマッチすることが可能であり、 +おそらくその文字列が出力されることを意味します +(すべての文字列はヌル文字列より長いため)。 +.IP message +比較が成立したときに出力されるメッセージです。 +文字列に +.BR printf (3) +指定形式が含まれている場合は、ファイルから得た値 (指定されたマスクを +適用したもの) が、そのメッセージをフォーマット文字列として用いて出力さ +れます。 +.PP +いくつかのファイルフォーマットは、ファイルタイプと共に出力される追加情報 +を含んでいます。 +文字 +.B > +で始まる行は追加テストと出力されるメッセージを指定します。 +その行での +.B > +の数はテストのレベルを指定します。 +行頭に +.B > +がない行はレベル 0 とみなされます。 +レベル +.IB n \(pl1 +の各行はマジックファイル中でその行より前にあるもっとも近いレベル +.IB n +の行の制御下にあります。 +レベル +.I n +での行のテストが成功した場合、それに続く行で指定されたすべてのレベル +.IB n \(pl1 +のテストが実施され、 +それらのテストが成功するとメッセージが出力されます。 +次のレベル +.I n +の行でこれが終了します。 +最後の +.B > +に続く最初の文字が +.B ( +であれば、その括弧の後の文字列は間接オフセットとして解釈されます。 +これは括弧の後の数字がそのファイル中のオフセットとして使用されることを +意味します。そのオフセットでの値が読み込まれ、再度ファイルのオフセット +として使用されます。間接オフセットは +.BI (( x [.[bslBSL]][+\-][ y ]) +の形式をとります。 +値 +.I x +はファイル中でのオフセットとして使われます。 +型指定子 +.B [bslBSL] +によりそれぞれバイト、short もしくは long として読み込まれます。 +大文字の型は、値をビッグエンディアンとして解釈し、 +小文字の型は、値をリトルエンディアンとして解釈します。 +その数字に値 +.I y +が加算され、その結果はファイルの中でのオフセットとして使用されます。型 +指定子がない場合は long がデフォルトの型となります。 +.PP +オフセットは、その前にあるフィールドの長さに依存するため、 +正確な値が分からない場合があります。 +そのような場合は最後の上位レベルのフィールドの最後からの +相対的なオフセットを指定することができます +(もちろんこれは下位レベルのテスト、すなわち +.Em > +.B > +で始まるテストでのみ可能です)。 +この場合の相対オフセットは +.B & +をオフセットのプレフィックスとして使用して指定します。 +.SH バグ +フォーマット +.IR long , +.IR belong , +.IR lelong , +.IR short , +.IR beshort , +.IR leshort , +.IR date , +.IR bedate , +.I ledate +はシステムに依存します。 +テストされるファイルは通常それらの長さが不変であるシステムのものであり、 +これらはおそらくバイト数 (2B とか 4B とか) として指定すべきでょう。 +.PP +間接オフセットで使用されるエンディアンを指定したデータは +(現在は) サポートされていません。 +.SH 関連項目 +.BR file (1) +\- このファイルを読み込むコマンド +.\" +.\" From: guy@sun.uucp (Guy Harris) +.\" Newsgroups: net.bugs.usg +.\" Subject: /etc/magic's format isn't well documented +.\" Message-ID: <2752@sun.uucp> +.\" Date: 3 Sep 85 08:19:07 GMT +.\" Organization: Sun Microsystems, Inc. +.\" Lines: 136 +.\" +.\" Here's a manual page for the format accepted by the "file" made by adding +.\" the changes I posted to the S5R2 version. +.\" +.\" Modified for Ian Darwin's version of the file command. +.\" @(#)$Id: magic.5,v 1.17 2004-09-21 20:40:05 metal Exp $ diff --git a/documentation/manual-pages/ja/man5/mailer.conf.5 b/documentation/manual-pages/ja/man5/mailer.conf.5 new file mode 100644 index 0000000000..6b4e08d064 --- /dev/null +++ b/documentation/manual-pages/ja/man5/mailer.conf.5 @@ -0,0 +1,101 @@ +.\" $NetBSD: mailer.conf.5,v 1.2 1999/05/29 18:18:30 christos Exp % +.\" %FreeBSD: src/share/man/man5/mailer.conf.5,v 1.9 2004/07/03 18:29:23 ru Exp % +.\" +.\" Copyright (c) 1998 +.\" Perry E. Metzger. All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. All advertising materials mentioning features or use of this software +.\" must display the following acknowledgment: +.\" This product includes software developed for the NetBSD Project +.\" by Perry E. Metzger. +.\" 4. The name of the author may not be used to endorse or promote products +.\" derived from this software without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +.\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +.\" +.\" $FreeBSD$ +.\" The following requests are required for all man pages. +.Dd December 16, 1998 +.Dt MAILER.CONF 5 +.Os +.Sh 名称 +.Nm mailer.conf +.Nd +.Xr mailwrapper 8 +の設定ファイル +.Sh 解説 +.Pa /etc/mail/mailer.conf +はいくつかのペアが含まれています。 +それぞれのペアの 1 番目の要素は +.Xr mailwrapper 8 +を起動するプログラムの名前です。 +通常、このプログラムは +.Pa /usr/sbin/sendmail +へのシンボリックリンクです (大抵のシステムでは、 +.Xr newaliases 1 +と +.Xr mailq 1 +はそのように設定されているでしょう)。 +それぞれのペアの 2 番目の要素は最初の名前が起動された時に、 +実際に実行されるプログラムの名前です。 +ファイルにはどの行にでも最初の列に # を示すことにより、 +コメントを含めることができます。 +.Sh 使用例 +以下は伝統的な sendmail 起動動作のための +.Nm +設定例です。 +.Bd -literal +# /usr/libexec/sendmail/sendmail という名前 "実際の" sendmail を実行します +sendmail /usr/local/sbin/sendmail +send-mail /usr/local/sbin/sendmail +mailq /usr/local/sbin/sendmail +newaliases /usr/local/sbin/sendmail +.Ed +.Pp +この例では、sendmail の代わりに、sendmail のように動作する Postfix を +起動する方法を示しています。 +.Bd -literal +# postfix を用いて sendmail をエミュレートします +sendmail /usr/libexec/postfix/sendmail +send-mail /usr/libexec/postfix/sendmail +mailq /usr/libexec/postfix/sendmail +newaliases /usr/libexec/postfix/sendmail +.Ed +.Sh 関連ファイル +/etc/mail/mailer.conf +.Sh 関連項目 +.Xr mail 1 , +.Xr mailq 1 , +.Xr newaliases 1 , +.Xr mailwrapper 8 , +.Xr sendmail 8 +.Sh 歴史 +.Nm +は +.Nx 1.4 +で登場しました。 +.Sh 作者 +.An Perry E. Metzger Aq perry@piermont.com +.Sh バグ +このプログラムは、互換のためだけに存在しています。このプログラムのかわりに、 +どういう手段でメールを送るかを決める標準的なコマンドをつくり、そして +.Xr mailq 1 +のような "異なる名前で実行されると振る舞いが異なる" という動作は +すべてなくしてしまうべきです。 diff --git a/documentation/manual-pages/ja/man5/make.conf.5 b/documentation/manual-pages/ja/man5/make.conf.5 new file mode 100644 index 0000000000..936f93aafc --- /dev/null +++ b/documentation/manual-pages/ja/man5/make.conf.5 @@ -0,0 +1,818 @@ +.\" Copyright (c) 2000 +.\" Mike W. Meyer +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" %FreeBSD: src/share/man/man5/make.conf.5,v 1.89.2.4 2004/10/09 18:38:58 dougb Exp % +.\" +.\" $FreeBSD$ +.\" +.Dd October 5, 2004 +.Dt MAKE.CONF 5 +.Os +.Sh 名称 +.Nm make.conf +.Nd システムビルド情報 +.Sh 解説 +.Nm +ファイルには +.Fx +のソースや ports アプリケーションの制御に関する設定が含まれています。 +通常 +.Nm +ファイルは、システム管理者が、 +これらの値をデフォルトから変更したい場合に作成します。 +.Pp +.Nm +の用途は、コマンド実行やコンパイル動作を直接行うことではなく、 +.Pa /usr/src , +.Pa /usr/ports , +.Pa /usr/doc +などにある様々な makefile にインクルードされることです。 +そのような makefile では、内部の動作が +.Nm +の与える条件によって変化するようになっているのです。 +.Pp +.Pa /etc/make.conf +ファイルはそれぞれ適切な +.Pa Makefile +からインクルードされます。 +各々の Makefile の中では、 +利用可能なすべてのオプションに対し、デフォルトの設定が与えられています。 +.Pa /etc/make.conf +で指定する必要があるオプションは、 +システム管理者がデフォルトから変更したいと思ったものだけです。 +.Pp +ビルドの手続きは、大きく 4 つの領域に分けられます。 +world、カーネル、ドキュメント、ports です。 +.Nm +で設定された変数はこれらの領域の 1 つ、2 つ、あるいは全てに適用されます。 +変数は、特定のビルドに対して +.Xr make 1 +の +.Fl D +オプションを用いて指定することもできます。 +.Pp +以下のリストでは、それぞれ指定したビルドの途中で用いることのできる +各変数の名前と簡単な説明を記述します。 +.Vt bool +と指定されている変数では、その値は意味を持ちません。 +変数が設定されていれば (たとえ値が +.Dq Li FALSE +や +.Dq Li NO +でも)、変数が設定されているものとして扱われます。 +.Pp +次のリストは、すべてのビルド (あるいはビルド以外の目的で使われる +.Pa Makefile ) +で用いられる変数の名前と簡単な説明です。 +.Bl -tag -width Ar +.It Va ALWAYS_CHECK_MAKE +.Pq Vt bool +ソースツリー (通常は +.Pa /usr/src ) +のトップレベル makefile に対し、 +.Xr make 1 +が最新であるか常に確認するよう指示します。 +通常これは、古いバージョンの +.Fx +からのアップグレードを扱えるようにするために、 +world および buildworld ターゲットに対してのみ実行されます。 +.It Va CFLAGS +.Pq Vt str +C のコードをコンパイルするときのコンパイラの設定を制御します。 +.Fl O +と +.Fl O2 +以外の最適化レベルはサポートされていません。 +.Va BDECFLAGS +は、 +.An "Bruce Evans" Aq bde@FreeBSD.org +が開発や変更のテスト用に勧めている +.Xr gcc 1 +設定です。 +これは、設定すれば、以下のように使用可能です。 +.Pp +.Bd -literal -offset indent +CFLAGS+=${BDECFLAGS} +.Ed +.It Va CPUTYPE +.Pq Vt str +生成コードが対象とするプロセッサを制御します。 +特別なコード (現在のところ OpenSSL のみ) に対する +プロセッサ固有の最適化を制御し、 +.Va CFLAGS +および +.Va COPTFLAGS +の値を変更して +.Xr gcc 1 +への適切な最適化ディレクティブを含むようにします。 +.Va CFLAGS +および +.Va COPTFLAGS +の自動設定は、それぞれ +.Va NO_CPU_CFLAGS +および +.Va NO_CPU_COPTFLAGS +で上書きできます。 +認識される +.Va CPUTYPE +オプションについては、 +.Pa /usr/share/examples/etc/make.conf +を参照してください。 +.It Va NO_CPU_CFLAGS +.Pq Vt str +この変数を設定すると、コンパイル時に自動的に CPU 固有コンパイラフラグが +.Va CFLAGS +へ追加されることを妨げます。 +.It Va NO_CPU_COPTFLAGS +.Pq Vt str +この変数を設定すると、コンパイル時に自動的に CPU 固有コンパイラフラグが +.Va COPTFLAGS +へ追加されることを妨げます。 +.It Va CVS_UPDATE +.Pq Vt bool +.Dq Li "make update" +で ports を更新するときに +.Xr cvs 1 +を用いる場合、設定します。 +.It Va CXXFLAGS +.Pq Vt str +C++ のコードをコンパイルするときのコンパイラの設定を制御します。 +.Va CXXFLAGS +は最初は +.Va CFLAGS +の値に設定されます。 +この +.Va CXXFLAGS +の値に追加を行いたい場合は、 +.Dq Li = +ではなく +.Dq Li += +を用いてください。 +.It Va INSTALL +.Pq Vt str +デフォルトのインストールコマンドです。 +ターゲットと異なるか存在しないファイルのみをインストールする場合、 +次の例を用いてください。 +.Bd -literal -offset indent +INSTALL="install -C" +.Ed +.Pa ( /usr/share/mk +にあるものを含めて) makefile によっては、 +与えられたインストールコマンドに対して +固定のオプションを与えてしまうものがあることに注意してください。 +.It Va LOCAL_DIRS +.Pq Vt str +この変数には +.Pa /usr/src +で make を行うときに入るべきディレクトリをすべてリストします。 +.It Va MAKE_SHELL +.Pq Vt str +.Xr make 1 +が makefile 中のコマンドスクリプトを処理するために +内部的に使用するシェルを制御します。 +.Xr sh 1 , +.Xr ksh 1 , +.Xr csh 1 +すべてがサポートされています。 +.Pp +.Dl "MAKE_SHELL?=sh" +.It Va MTREE_FOLLOWS_SYMLINKS +.Pq Vt str +.Xr mtree 8 +にシンボリックリンクを追跡させたい場合は、これを +.Dq Fl L +に設定します。 +.It Va NO_DOCUPDATE +.Pq Vt bool +.Dq Li "make update" +で doc ツリーを更新させない場合これを設定します。 +.It Va NO_PORTSUPDATE +.Pq Vt bool +.Dq Li "make update" +で ports ツリーを更新させない場合これを設定します。 +.It Va SUP_UPDATE +.Pq Vt bool +.Dq Li "make update" +による ports の更新に +.Xr cvsup 1 +を使う場合これを設定します。 +.It Va SUP +.Pq Vt str +.Dq Li "make update" +で用いられる +.Xr cvsup 1 +コマンドの置き場所です。 +.It Va SUPFLAGS +.Pq Vt str +.Dq Li "make update" +を行うとき +.Xr sup 1 +に与えるフラグ。 +デフォルトは +.Op Fl g L Ar 2 +です。 +.It Va SUPHOST +.Pq Vt str +.Dq Li "make update" +を行うときに用いる sup サーバのホスト名です。 +.It Va SUPFILE +.Pq Vt str +.Dq Li "make update" +を行うとき、最初に用いる +.Ar supfile +です。 +デフォルトは +.Pa /usr/share/examples/cvsup/standard\-supfile +です。 +.It Va SUPFILE1 +.Pq Vt str +.Dq Li "make update" +を行うとき、二番目に用いる +.Ar supfile +です。 +デフォルトは +.Pa /usr/share/examples/cvsup/secure\-supfile +です。 +.It Va SUPFILE2 +.Pq Vt str +.Dq Li "make update" +を行うとき、三番目に用いる +.Ar supfile +です。 +デフォルトは +.Pa /usr/share/examples/cvsup/secure\-supfile +です。 +.It Va PORTSSUPFILE +.Pq Vt str +.Dq Li "make update" +を行うときの ports 用の +.Ar supfile +です。 +デフォルトは +.Pa /usr/share/examples/cvsup/ports\-supfile +です。 +.It Va DOCSUPFILE +.Pq Vt str +.Dq Li "make update" +を行うときのドキュメント用の +.Ar supfile +です。 +デフォルトは +.Pa /usr/share/examples/cvsup/doc\-supfile +です。 +.El +.Pp +次のリストは、カーネルのビルドで用いられる変数の名前と簡単な説明です。 +.Bl -tag -width Ar +.It Va BOOT_COMCONSOLE_PORT +.Pq Vt str +ブートブロックが、キーボード/ビデオカードの代わりにシリアルコンソールを +用いるよう設定された場合に、コンソールとして用いるポートアドレスです。 +.It Va BOOT_COMCONSOLE_SPEED +.Pq Vt int +ブートブロックが、キーボード/ビデオカードの代わりにシリアルコンソールを +用いるよう設定された場合に、コンソールで用いるボーレートです。 +.It Va BOOTWAIT +.Pq Vt int +カーネルがデフォルトカーネルのブートを開始する前に、 +コンソールのキーが押されるのを待つ時間を制御します。 +値はだいたいミリ秒単位となります。 +ディスクからブートする前のキー入力の認識は BIOS が行うので、 +これが 0 に設定されていた場合でも、 +ユーザの選択したブートパラメータを与えることは可能です。 +.It Va COPTFLAGS +.Pq Vt str +カーネルをコンパイルするときのコンパイラの設定を制御します。 +.Op Fl O +を越えた最適化レベル +.Pq Op Fl O2 , No ...\& +は、動作が保証されていません。 +.It Va KERNCONF +.Pq Vt str +.Dq Li "${MAKE} buildkernel" +によるビルドと +.Dq Li "${MAKE} installkernel" +によるインストールとで、どのカーネル設定を用いるかを制御します。 +例えば +.Bd -literal -offset indent +KERNCONF=MINE DEBUG GENERIC OTHERMACHINE +.Ed +.Pp +とすると、 +.Pa MINE , DEBUG , GENERIC , OTHERMACHINE +といった各設定ファイルに対応するカーネルをビルドし、 +.Pa MINE +に対応するカーネルをインストールします。 +デフォルトは +.Pa GENERIC +です。 +.It Va LOADER_TFTP_SUPPORT +.Pq Vt bool +buildkernel が影響するオプションではありませんが、他に良い場所がありません。 +デフォルトでは +.Xr pxeboot 8 +ローダがカーネルを NFS 経由で取得します。 +これを定義して +.Pa /usr/src/sys/boot +を再コンパイルすると、カーネルを TFTP 経由で取得するようになります。 +これにより、 +.Xr pxeboot 8 +がカスタム BOOTP ディスクレスカーネルをロードし、サーバの +.Pa / +をマウントしますが、サーバのカーネルはロードしません。 +.It Va MODULES_OVERRIDE +.Pq Vt str +モジュールすべてではなく一部をビルドしたい場合、 +モジュールリストをここに設定します。 +.It Va NO_KERNELCONFIG +.Pq Vt bool +.Dq Li "${MAKE} buildkernel" +の際に +.Xr config 8 +を実行しない場合には、これを設定します。 +.It Va NO_KERNELDEPEND +.Pq Vt bool +.Dq Li "${MAKE} buildkernel" +の際に +.Dq Li "${MAKE} depend" +を実行しない場合には、これを設定します。 +.It Va NO_MODULES +.Pq Vt bool +カーネルといっしょにモジュールをビルドしない場合に設定します。 +.El +.Pp +次のリストは、world のビルドで用いられる変数の名前と簡単な説明です。 +.Bl -tag -width Ar +.It Va COMPAT1X +.Pq Vt bool +.Fx +1 互換ライブラリをインストールする場合に設定します。 +.It Va COMPAT20 +.Pq Vt bool +.Fx 2.0 +互換ライブラリをインストールする場合に設定します。 +.It Va COMPAT21 +.Pq Vt bool +.Fx 2.1 +互換ライブラリをインストールする場合に設定します。 +.It Va COMPAT22 +.Pq Vt bool +.Fx 2.2 +互換ライブラリをインストールする場合に設定します。 +.It Va COMPAT3X +.Pq Vt bool +.Fx +3 互換ライブラリをインストールする場合に設定します。 +.It Va COMPAT4X +.Pq Vt bool +.Fx +4 互換ライブラリをインストールする場合に設定します。 +.It Va MAKE_IDEA +.Pq Vt bool +IDEA 暗号化コードをビルドする場合に設定します。 +このコードは米国やヨーロッパの多くの国々で特許が取得されています。 +合法的に IDEA を使えるかどうか決めるのは +.Em あなたの責任 +です。 +.It Va NO_DYNAMICROOT +.Pq Vt bool +.Pa /bin +と +.Pa /sbin +を動的にリンクしたくない場合に設定します。 +.It Va NO_KERBEROS +.Pq Vt bool +Kerberos 5 (KTH Heimdal) をビルドしたくない場合に設定します。 +.It Va ENABLE_SUID_K5SU +.Pq Vt bool +ksu ユーティリティを使用したい場合に設定します。 +設定しないと、本ユーティリティはユーザ ID 設定ビットが +設定されずにインストールされます。 +.It Va ENABLE_SUID_NEWGRP +.Pq Vt bool +ユーザ ID 設定ビットを設定して +.Xr newgrp 1 +をインストールする場合に、これを設定します。 +設定しないと、 +.Xr newgrp 1 +はユーザのグループを変更できません。 +.It Va ENABLE_SUID_SSH +.Pq Vt bool +.Xr ssh 1 +をユーザ ID 設定ビットをオンにしてインストールする場合に、これを設定します。 +.It Va MODULES_WITH_WORLD +.Pq Vt bool +カーネルと同時にではなく、 +システムと同時にモジュールをビルドする場合に設定します。 +.It Va NO_BLUETOOTH +.Pq Vt bool +Bluetooth 関連のカーネルモジュール、プログラム、ライブラリを +ビルドしない場合に設定します。 +.It Va NO_BOOT +.Pq Vt bool +ブートブロックとローダをビルドしない場合に設定します。 +.It Va NO_CVS +.Pq Vt bool +CVS をビルドしない場合に設定します。 +.It Va NO_CXX +.Pq Vt bool +.Xr g++ 1 +および関連ライブラリをビルドしない場合に設定します。 +.It Va NO_FORTRAN +.Pq Vt bool +.Xr g77 1 +と関連ライブラリをビルドしない場合に設定します。 +.It Va NO_GDB +.Pq Vt bool +.Xr gdb 1 +をビルドしない場合に設定します。 +.It Va NO_I4B +.Pq Vt bool +isdn4bsd パッケージをビルドしない場合に設定します。 +.It Va NO_IPFILTER +.Pq Vt bool +IP Filter パッケージをビルドしない場合に設定します。 +.It Va NO_PF +.Pq Vt bool +PF ファイアウォールパッケージをビルドしない場合に設定します。 +.It Va NO_AUTHPF +.Pq Vt bool +.Xr authpf 8 +をビルドしない場合に設定します。 +.It Va NO_TOOLCHAIN +.Pq Vt bool +プログラム開発に使用するプログラム、 +すなわちコンパイラやデバッガ等をビルドしない場合に設定します。 +.It Va NOINET6 +.Pq Vt bool +IPv6 ネットワークに関連するプログラムやライブラリを +ビルドしない場合に設定します。 +.It Va NOATM +.Pq Vt bool +ATM ネットワークに関連するプログラムやライブラリを +ビルドしない場合に設定します。 +.It Va NO_USB +.Pq Vt bool +.Xr usbd 8 +および関連プログラムをビルドしない場合に設定します。 +.It Va NO_LPR +.Pq Vt bool +.Xr lpr 1 +と関連プログラムをビルドしない場合に設定します。 +.It Va NO_ACPI +.Pq Vt bool +.Xr acpiconf 8 , +.Xr acpidump 8 +および関連プログラムをビルドしない場合に設定します。 +.It Va NO_VINUM +.Pq Vt bool +.Xr vinum 8 +と関連プログラムをビルドしない場合に設定します。 +.It Va NO_MAILWRAPPER +.Pq Vt bool +MTA セレクタである +.Xr mailwrapper 8 +をビルドしない場合に設定します。 +.It Va NOMAN +マニュアルページをビルドしない場合に設定します。 +.Pq Vt bool +.It Va NO_OBJC +.Pq Vt bool +Objective C のサポートをビルドしない場合に設定します。 +.It Va NO_OPENSSH +.Pq Vt bool +OpenSSH をビルドしない場合に設定します。 +.It Va NO_OPENSSL +.Pq Vt bool +OpenSSL をビルドしない場合に設定します +(同時に +.Va NO_KERBEROS +と +.Va NO_OPENSSH +も設定されたことになります)。 +.It Va NO_SENDMAIL +.Pq Vt bool +.Xr sendmail 8 +と関連プログラムをビルドしない場合に設定します。 +.It Va NO_SHAREDOCS +.Pq Vt bool +.Bx 4.4 +の古い文書をビルドしない場合に設定します。 +.It Va NO_TCSH +.Pq Vt bool +.Pa /bin/csh +(これは +.Xr tcsh 1 +です) をビルド・インストールしない場合に設定します。 +.It Va NOCLEAN +.Pq Vt bool +.Dq Li "make buildworld" +の途中で clean を行わない場合に設定します。 +何をやっているかわからない人は設定すべきではありません。 +.It Va NOCLEANDIR +.Pq Vt bool +.Dq Li "${MAKE} cleandir" +の代わりに +.Dq Li "${MAKE} clean" +を実行する場合に設定します。 +.It Va NOCRYPT +.Pq Vt bool +crypto コードを一切ビルドしない場合に設定します。 +.It Va NOGAMES +.Pq Vt bool +ゲームをビルドしない場合に設定します。 +.It Va NOINFO +.Pq Vt bool +.Xr info 5 +各ファイルを作成・インストールしない場合に設定します。 +.It Va NOLIBC_R +.Pq Vt bool +.Nm libc_r +.Pf ( Nm libc +のリエントラント版) をビルドしない場合に設定します。 +.It Va NOLIBPTHREAD +.Pq Vt bool +.Nm libpthread +(M:N スレッド) ライブラリをビルドしない場合に設定します。 +.It Va NOLIBTHR +.Pq Vt bool +.Nm libthr +(1:1 スレッド) ライブラリをビルドしない場合に設定します。 +.It Va NOMANCOMPRESS +.Pq Vt bool +man ページのインストールの際に圧縮を行わない場合に設定します。 +.It Va NOPROFILE +.Pq Vt bool +profile 版ライブラリをコンパイルしない場合に設定します。 +.It Va NOSHARE +.Pq Vt bool +.Pa share +サブディレクトリをビルドしない場合に設定します。 +.It Va NO_BIND +.Pq Vt bool +BIND をビルドしない場合に設定します。 +以下のどの *_BIND_* 変数が定義されていたとしても、 +BIND を一部分たりともビルドしません。 +.It Va NO_BIND_DNSSEC +.Pq Vt bool +DNSSEC 関連バイナリ +.Xr dnssec-keygen 8 , +.Xr dnssec-signzone 8 +のビルドおよびインストールをしない場合に設定します。 +.It Va NO_BIND_ETC +.Pq Vt bool +デフォルトのファイルを +.Pa /var/named/etc/namedb +へインストールしない場合に設定します。 +.It Va NO_BIND_LIBS_LWRES +.Pq Vt bool +軽量リゾルバライブラリを +.Pa /usr/lib +にインストールしない場合に設定します。 +しかし、ビルドシステムのみに使用されるライブラリは、 +必要に応じてビルドされます。 +.It Va NO_BIND_MTREE +.Pq Vt bool +.Xr mtree 8 +を使用して +.Pa /var/named +以下に chroot ディレクトリ構造を作成せず、さらに +.Pa /etc/namedb +のシンボリックリンクを chroot 環境に作成しない場合に設定します。 +一般的には、このオプションは +.Vt NO_BIND_ETC +とともに使用されるべきです。 +.It Va NO_BIND_NAMED +.Pq Vt bool +.Xr named 8 , +.Xr named.reload 8 , +.Xr named-checkconf 8 , +.Xr named-checkzone 8 , +.Xr rndc 8 , +.Xr rndc-confgen 8 +のビルドおよびインストールをしない場合に設定します。 +.It Va NO_BIND_UTILS +.Pq Vt bool +BIND のユーザランドユーティリティ +.Xr dig 1 , +.Xr host 1 , +.Xr nslookup 1 , +.Xr nsupdate 8 +のビルドおよびインストールをしない場合に設定します。 +.It Va WITH_BIND_LIBS +.Pq Vt bool +BIND のライブラリとインクルードファイルをインストールする場合に設定します。 +.It Va PPP_NOSUID +.Pq Vt bool +.Xr ppp 8 +を suid root プログラムとしてはインストールしない場合に設定します。 +.It Va SENDMAIL_MC +.Pq Vt str +インストール時に用いるデフォルトの +.Xr m4 1 +設定ファイルです。 +この値には +.Pa .mc +ファイルのフルパスを与えます。 +例えば +.Pa /etc/mail/myconfig.mc +です。 +make install すると、既存の +.Pa /etc/mail/sendmail.cf +を上書きしてしまうので、注意して使ってください。 +.Va SENDMAIL_CF +はもう推奨されなくなりました。 +.It Va SENDMAIL_SUBMIT_MC +.Pq Vt str +インストール時に用いるメール提出用デフォルト +.Xr m4 1 +設定ファイルです。 +この値には +.Pa .mc +ファイルのフルパスを与えます。 +例えば +.Pa /etc/mail/mysubmit.mc +です。 +インストールによって既存の +.Pa /etc/mail/submit.cf +が上書きされてしまいますので、注意して使用してください。 +.It Va SENDMAIL_ADDITIONAL_MC +.Pq Vt str +ビルド時に +.Pa .cf +ファイルに変換される追加分の +.Pa .mc +ファイル (複数指定可) です。 +値には、これらの +.Pa .mc +ファイルへのフルパスを与えます。 +例えば +.Pa /etc/mail/foo.mc +.Pa /etc/mail/bar.mc +など。 +.It Va SENDMAIL_CF_DIR +.Pq Vt str +.Pa .mc +ファイルから +.Pa .cf +ファイルをビルドするために使用する +.Xr m4 1 +設定ファイルのデフォルトの場所を +オーバライドします。 +.It Va SENDMAIL_M4_FLAGS +.Pq Vt str +.Pa .mc +ファイルから +.Pa .cf +ファイルを作成するときに +.Xr m4 1 +に渡されるフラグ。 +.It Va SENDMAIL_CFLAGS +.Pq Vt str +.Xr sendmail 8 +をビルドするときにコンパイルコマンドに渡すフラグです。 +.Va SENDMAIL_* +各フラグを用いれば、SASL サポートをその設定と共に指定できます。 +例えば次のようにします。 +.Bd -literal -offset indent +SENDMAIL_CFLAGS=-I/usr/local/include -DSASL +SENDMAIL_LDFLAGS=-L/usr/local/lib +SENDMAIL_LDADD=-lsasl +.Ed +.It Va SENDMAIL_LDFLAGS +.Pq Vt str +.Xr sendmail 8 +をビルドするときに +.Xr ld 1 +コマンドに渡すフラグです。 +.It Va SENDMAIL_LDADD +.Pq Vt str +.Xr sendmail 8 +をビルドするときに +.Xr ld 1 +コマンドの末尾に追加するフラグです。 +.It Va SENDMAIL_DPADD +.Pq Vt str +.Xr sendmail 8 +をビルドするときに追加する依存関係です。 +.It Va SENDMAIL_SET_USER_ID +.Pq Vt bool +設定すると、 +.Xr sendmail 8 +をグループ ID 設定ではなく、 +root にユーザ ID 設定したバイナリとしてインストールし、 +.Pa /etc/mail/submit.{cf,mc} +をインストールしません。 +このフラグの使用は推奨できません。 +可能であれば、 +.Pa /etc/mail/README +に書かれている代りの方法を採用すべきです。 +.It Va SENDMAIL_MAP_PERMS +.Pq Vt str +このモードのエイリアスおよびマップのデータベースファイルが、 +.Pa /etc/mail/Makefile +を使用して作成されます。 +デフォルト値は 0640 です。 +.It Va TOP_TABLE_SIZE +.Pq Vt int +.Xr top 1 +は、ユーザ名用にハッシュ表を使用します。 +ハッシュの大きさはローカルユーザ数に合うように調整可能です。 +テーブルの大きさは、 +.Pa /etc/passwd +の行数の約 2 倍の素数であるべきです。 +デフォルト数は 20011 です。 +.It Va WANT_FORCE_OPTIMIZATION_DOWNGRADE +.Pq Vt int +高い最適化レベルを強制的に低くするように、システムのコンパイラをビルドします。 +.Xr gcc 1 +.Fl O2 +以上の高い最適化レベルは、しばしば既知の最適化バグを引き起こすことが +知られています \(em Alpha プラットフォームでは、さらにひどいです。 +ここで割り当てられた値が、最も高い最適化レベルの値として使用されます。 +.El +.Pp +次のリストは、ドキュメントのビルドで用いられる変数の名前と簡単な説明です。 +.Bl -tag -width Ar +.It Va DISTDIR +.Pq Vt str +distfiles が保存されている場所です。 +通常これは +.Va PORTSDIR +の +.Pa distfiles +です。 +.It Va DOC_LANG +.Pq Vt str +ビルド・インストール対象の言語とエンコーディングのリストです。 +.It Va PRINTERDEVICE +.Pq Vt str +システム文書のデフォルトのフォーマットです。 +これはプリンタに依存します。 +単純なプリンタなら +.Dq Li ascii +を設定します。 +PostScript プリンタやグラフィックスプリンタ + ghostscript フィルタなら +.Dq Li ps +を設定します。 +両方設定することもできます。 +.El +.Sh 関連ファイル +.Bl -tag -width ".Pa /usr/share/examples/etc/make.conf" -compact +.It Pa /etc/make.conf +.It Pa /usr/doc/Makefile +.It Pa /usr/share/examples/etc/make.conf +.It Pa /usr/src/Makefile +.It Pa /usr/src/Makefile.inc1 +.El +.Sh 関連項目 +.Xr gcc 1 , +.Xr install 1 , +.Xr make 1 , +.Xr ports 7 , +.Xr lpd 8 , +.Xr sendmail 8 +.Sh 歴史 +.Nm +ファイルは +.Fx 4.0 +以前のいつかに登場しました。 +.Sh 作者 +このマニュアルページは +.An "Mike W. Meyer" Aq mwm@mired.org +が書きました。 +.Sh バグ +このマニュアルページは現在の +.Nm +で利用できるオプションに比べると、古くなることが時々あるかもしれません。 +現在利用できる最新のオプションについては、 +.Pa /usr/share/examples/etc/make.conf +ファイルを調べてください。 +.Sh 警告 +.Ev MAKEOBJDIRPREFIX +と +.Ev MAKEOBJDIR +は環境変数であり、 +.Nm +中ではなく、make の環境の中に設定すべきであることに注意してください。 diff --git a/documentation/manual-pages/ja/man5/motd.5 b/documentation/manual-pages/ja/man5/motd.5 new file mode 100644 index 0000000000..c74a1ac3c5 --- /dev/null +++ b/documentation/manual-pages/ja/man5/motd.5 @@ -0,0 +1,45 @@ +.\" %NetBSD: motd.5,v 1.2 1994/12/28 18:58:53 glass Exp % +.\" +.\" This file is in the public domain. +.\" %FreeBSD: src/share/man/man5/motd.5,v 1.5 2001/07/14 19:41:09 schweikh Exp % +.\" +.\" $FreeBSD$ +.Dd February 13, 1997 +.Dt MOTD 5 +.Os +.Sh 名称 +.Nm motd +.Nd 今日のメッセージを含むファイル +.Sh 解説 +通常、ユーザがログインした後のシェル実行前に、 +.Xr login 1 +は +.Pa /etc/motd +ファイルを表示します。 +このファイルは、一般的にはシステムに関する重要なアナウンスのために使用します。 +システム起動時に、カーネルバージョン文字列を含む行が +このファイルの前に付きます。 +.Pp +個々のユーザはこのファイルの表示を抑制することができます。 +そのためには、 +.Dq Pa .hushlogin +という名前のファイルをホームディレクトリに置くか、 +.Xr login.conf 5 +で制御します。 +.Sh 関連ファイル +.Bl -tag -width $HOME/.hushlogin -compact +.It Pa /etc/motd +今日のメッセージ。 +.It Pa $HOME/.hushlogin +.Pa /etc/motd +の出力を抑制。 +.El +.Sh 使用例 +.Bd -literal +FreeBSD 2.1.6.1-RELEASE (GENERIC) #0: Sun Dec 29 03:08:31 PST 1996 + +/home is full. Please cleanup your directories. +.Ed +.Sh 関連項目 +.Xr login 1 , +.Xr login.conf 5 diff --git a/documentation/manual-pages/ja/man5/msdosfs.5 b/documentation/manual-pages/ja/man5/msdosfs.5 new file mode 100644 index 0000000000..a4397b7a8b --- /dev/null +++ b/documentation/manual-pages/ja/man5/msdosfs.5 @@ -0,0 +1,80 @@ +.\" %FreeBSD: src/share/man/man5/msdosfs.5,v 1.4 2003/02/24 22:53:23 ru Exp % +.\" Written by Tom Rhodes +.\" This file is in the public domain. +.\" +.\" $FreeBSD$ +.\" +.\" WORD: MS-DOS based MS-DOS ベースの +.\" WORD: partition number パーティション番号 +.\" WORD: mount point マウントポイント +.\" WORD: advised 推奨される +.\" +.Dd December 26, 2002 +.Dt MSDOSFS 5 +.Os +.Sh 名称 +.Nm msdosfs +.Nd MS-DOS ファイルシステム +.Sh 書式 +.Cd "options MSDOSFS" +.Sh 解説 +.Nm +ドライバは +.Fx +カーネルが +.Tn MS-DOS +ベースのファイルシステムを +読み書きできるようにするためのものです。 +.Pp +最も一般的な使用法は、次の通りです: +.Pp +.Dl "mount_msdosfs /dev/ad0sN /mnt" +.Pp +ここで +.Ar N +はパーティション番号で、 +.Pa /mnt +はマウントポイントです。 +ユーザによっては、 +.Pa /dos +ディレクトリを作成して +.Nm +のマウントポイントにすることもあります。 +こうすることでファイルシステムを明確にして、 +よりアクセスしやすくする助けになります。 +.Pp +また、 +.Pa /etc/fstab +に次のようなエントリを定義することもできます: +.Bd -literal +/dev/ad0sN /dos msdosfs rw 0 0 +.Ed +.Pp +これによって +システム起動時に +.Tn MS-DOS +ベースのパーティションを +.Pa /dos +マウントポイントにマウントするようになります。 +.Pa /mnt +を永続的なマウントポイントとして使用することは推奨されていません。 +ここは、フロッピや ZIP ディスクの一時的なマウントポイントにするための +場所だからです。 +.Fx +のディレクトリ構成につきましては +.Xr hier 7 +を参照してください。 +.Sh 関連項目 +.Xr mount 2 , +.Xr unmount 2 , +.Xr mount 8 , +.Xr mount_msdosfs 8 , +.Xr umount 8 +.Rs +.%T "The FreeBSD Handbook" +.%O "http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/" +.Re +.Sh 作者 +このマニュアルページは +.An Tom Rhodes Aq trhodes@FreeBSD.org +によって書かれました。 diff --git a/documentation/manual-pages/ja/man5/netconfig.5 b/documentation/manual-pages/ja/man5/netconfig.5 new file mode 100644 index 0000000000..4e536d398e --- /dev/null +++ b/documentation/manual-pages/ja/man5/netconfig.5 @@ -0,0 +1,142 @@ +.\" $NetBSD: netconfig.5,v 1.2 2000/11/08 13:18:28 lukem Exp $ +.\" $NetBSD: netconfig.5,v 1.2 2000/11/08 13:18:28 lukem Exp $ +.\" %FreeBSD: src/lib/libc/rpc/netconfig.5,v 1.1 2001/03/19 12:49:51 alfred Exp % +.\" $FreeBSD$ +.\" WORD: +.\" WORD: transport トランスポート +.\" WORD: configuration data base 設定データベース +.\" WORD: transport names トランスポート名 +.\" WORD: semantics セマンティクス +.\" WORD: format フォーマット +.\" WORD: connectionless コネクションレス +.\" WORD: connection-oriented コネクション指向 +.\" WORD: ordered 順序付き +.\" WORD: see below 下記参照(下には何もなくてどこを見ろと言うのか..) +.\" WORD: unused 未使用 +.\" WORD: parse 構文解析 +.\" WORD: names of the libraries ライブラリ名の並び +.\" +.Dd November 17, 2000 +.Dt NETCONFIG 5 +.Os +.Sh 名称 +.Nm netconfig +.Nd ネットワーク設定データベース +.Sh 書式 +.Pa /etc/netconfig +.Sh 解説 +.Nm +ファイルでは、 +.Dq トランスポート名 +のリストを定義して、それぞれのセマンティクスやプロトコルを記述しています。 +.Fx +では、このファイルは RPC ライブラリのコードだけが使用しています。 +.Pp +エントリは次のようなフォーマットになっています: +.Pp +.Ar network_id semantics flags family protoname device libraries +.Pp +エントリを構成するフィールドは次の通りです: +.Bl -tag -width network_id +.It Ar network_id +記述するトランスポートの名称 +.It Ar semantics +トランスポートのセマンティクスを記述します。 +これは次のうちの一つです: +.Bl -tag -width tpi_cots_ord -offset indent +.It Sy tpi_clts +コネクションレストランスポート +.It Sy tpi_cots +コネクション指向トランスポート +.It Sy tpi_cots_ord +コネクション指向順序付きトランスポート +.It Sy tpi_raw +素のコネクション +.El +.It Ar flags +このフィールドはブランクか( +.Dq Li - +と指定します)、 +または +.Dq Li v +を含みます。 +.Dq Li v +を含むときは +.Xr getnetconfig 3 +関数で見ることが出来るということを表します。 +.It Ar family +トランスポートのプロトコルファミリで、 +現在は次のうちの一つです: +.Bl -tag -width loopback -offset indent +.It Sy inet6 +IPv6 +.Pq Dv PF_INET6 +プロトコルファミリ +.It Sy inet +IPv4 +.Pq Dv PF_INET +プロトコルファミリ +.It Sy loopback +.Dv PF_LOCAL +プロトコルファミリ +.El +.It Ar protoname +トランスポートのプロトコル名で、 +現在は +.Sy udp , +.Sy tcp +のどちらかか、もしくは空です。 +.It Ar device +.Fx +では、このフィールドは常に空です。 +.It Ar libraries +.Fx +では、このフィールドは常に空です。 +.El +.Pp +このファイル内のエントリの順序によって、指定されたネットワークタイプに対する +RPC ライブラリコードのトランスポートの優先順位が決まります。 +例えば、サンプルとしてネットワーク設定ファイルが下のようになっていたとします: +.Bd -literal -offset indent +udp6 tpi_clts v inet6 udp - - +tcp6 tpi_cots_ord v inet6 tcp - - +udp tpi_clts v inet udp - - +tcp tpi_cots_ord v inet tcp - - +rawip tpi_raw - inet - - - +local tpi_cots_ord - loopback - - - +.Ed +.Pp +このとき、ネットワークタイプとして +.Sy udp +を使用して RPC ライブラリ関数を呼び出すと +.Xr ( rpc 3 +参照)、 +まず最初に +.Sy udp6 +を試してから +.Sy udp +を試します。 +.Pp +.Xr getnetconfig 3 +や、その関連の関数はこのファイルを構文解析して次のようなフォーマットの +構造体を返します: +.Bd -literal +struct netconfig { + char *nc_netid; /* ネットワーク ID */ + unsigned long nc_semantics; /* セマンティクス (下記参照) */ + unsigned long nc_flag; /* フラグ (下記参照) */ + char *nc_protofmly; /* プロトコルファミリ */ + char *nc_proto; /* プロトコル名 */ + char *nc_device; /* ネットワークデバイスのパス名 (未使用) */ + unsigned long nc_nlookups; /* 参照するライブラリの数 (未使用) */ + char **nc_lookups; /* ライブラリ名の並び (未使用) */ + unsigned long nc_unused[9]; /* 予約 */ +}; +.Ed +.Sh 関連ファイル +.Bl -tag -width /etc/netconfig -compact +.It Pa /etc/netconfig +.El +.Sh 関連項目 +.Xr getnetconfig 3 , +.Xr getnetpath 3 diff --git a/documentation/manual-pages/ja/man5/netgroup.5 b/documentation/manual-pages/ja/man5/netgroup.5 new file mode 100644 index 0000000000..fc5594f5dd --- /dev/null +++ b/documentation/manual-pages/ja/man5/netgroup.5 @@ -0,0 +1,182 @@ +.\" Copyright (c) 1992, 1993 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 4. Neither the name of the University nor the names of its contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" @(#)netgroup.5 8.2 (Berkeley) 12/11/93 +.\" %FreeBSD: src/usr.sbin/mountd/netgroup.5,v 1.13 2004/08/07 04:27:51 imp Exp % +.\" $FreeBSD$ +.\" +.Dd December 11, 1993 +.Dt NETGROUP 5 +.Os +.Sh 名称 +.Nm netgroup +.Nd ネットワークグループを定義する +.Sh 書式 +.Nm +.Sh 解説 +.Nm +ファイルは +ネットワークへの同じようなアクセス権を与えられた +.Sy (host, user, domain) +の形式の値の組を指定します。 +.Pp +このファイル中のそれぞれの行は、ネットグループ名とそれに続くネットグループの +メンバリストで構成されます。 +それぞれのメンバは、他のネットグループ名か、次のような値の組に +する事ができます。 +.Bd -literal -offset indent +(host, user, domain) +.Ed +.Pp +ここで +.Sy host , +.Sy user , +.Sy domain +は、それぞれの構成要素に対応する文字列名です。 +コンマで区切られたフィールドはどれも、空にする事で ``ワイルドカード'' を、 +``-'' にする事で ``値無し'' を指定する事ができます。 +メンバリストは空白またはコンマで区切る事ができ、文字 ``\e'' を行の最後 +に使う事によって行を継続できます。 +1 行は 1024 文字までに制限されています。 +.Nm +データベースにアクセスするためには、通常 +.Xr getnetgrent 3 +の中の関数が使われます。 +.Pp +# で始まる行はコメントとして扱われます。 +.Sh NIS/YP の相互作用 +他の多くのプラットフォームでは、 +.Nm +はもっぱら +.Tn NIS +と一緒に用いられ、ローカルの +.Pa /etc/netgroup +ファイルは無視されます。 +.Fx +では +.Tn NIS +かローカルファイルの +.Nm +のどちらかを使うようにする事が出来ます。しかし、 +この機能は慎重に使うべきです。 +現在の +.Nm +システムは、 +.Fn innetgr 3 +を用いた照会に関する部分が極めて非効率です。 +これは、問い合わせのあったその場で +.Nm +のメンバ情報を計算するためです。 +それに比べて、 +.Tn NIS +の +.Nm +データベースは +.Fn innetgr 3 +が素早く照会を完了させるためのキー項目を持った 3 つのマップ +(netgroup と netgroup.byuser と netgroup.byhost) によって構成されています。 +.Fx +の +.Nm +システムは、次の方法で +.Tn NIS +の +.Nm +マップと互いに作用し合う事が出来ます: +.Bl -bullet -offset indent +.It +もし +.Pa /etc/netgroup +ファイルが存在しなかった場合、または存在しても空の場合、または存在しても +.Sq + +しか書かれていない場合で、これらのいずれかの場合に加えて +.Tn NIS +が動いている場合は、 +.Nm +は +.Tn NIS +だけを使って照会を行ないます。このとき、 +.Fn innetgr 3 +は、netgroup.byuser マップと netgroup.byhost マップを最大限に利用して +高速検索を行ないます (これは、SunOS とそれに類するプラットホームの +実装とほとんど同じです)。 +.It +もし +.Pa /etc/netgroup +が存在し、かつローカルの +.Nm +情報のみを含んでいる ( +.Tn NIS +の +.Sq + +がない) 場合、 +そのローカルの +.Nm +情報のみが使用されます ( +.Tn NIS +の情報は無視されます)。 +.It +もし、 +.Pa /etc/netgroup +が存在し、かつローカルの netgroup データ +.Pa および +.Tn NIS +の +.Sq + +トークンの両方が含まれている場合、ローカルのデータと +.Tn NIS +の netgroup マップは 1 つにつながれた +.Nm +データベースの様に処理されます。この構成は最も柔軟ですが、 +最も非効率です。特に、このデータベースが大きい場合は +.Fn innetgr 3 +による照会は極端に遅くなります。 +.El +.Sh 関連ファイル +.Bl -tag -width /etc/netgroup -compact +.It Pa /etc/netgroup +ネットグループデータベース +.El +.Sh 関連項目 +.Xr getnetgrent 3 , +.Xr exports 5 +.Sh 互換性 +このファイルフォーマットは、さまざまなベンダと互換性がありますが、 +すべてのベンダが同一のフォーマットを使っているわけではないようです。 +.Sh バグ +ネットグループのメンバの組に基づいたアクセス制限の解釈は、さまざまな +ネットワークアプリケーション任せになっています。 +また、ドメイン指定を +.Bx +環境に適用する方法も不明確です。 +.Pp +.Nm +データベースは逆引きスピードアップのため、 +.Xr passwd 5 +の様にハッシュ化された +.Xr db 3 +データベースに格納されるべきです。 diff --git a/documentation/manual-pages/ja/man5/netid.5 b/documentation/manual-pages/ja/man5/netid.5 new file mode 100644 index 0000000000..97dc200999 --- /dev/null +++ b/documentation/manual-pages/ja/man5/netid.5 @@ -0,0 +1,92 @@ +.\" Copyright (c) 1996 Mats O Jansson <moj@stacken.kth.se> +.\" All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. All advertising materials mentioning features or use of this software +.\" must display the following acknowledgement: +.\" This product includes software developed by Mats O Jansson +.\" 4. The name of the author may not be used to endorse or promote products +.\" derived from this software without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS +.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY +.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" %FreeBSD: src/libexec/mknetid/netid.5,v 1.3 2002/12/24 13:41:46 ru Exp % +.\" +.\" $FreeBSD$ +.\" WORD: record レコード +.Dd January 13, 1996 +.Dt NETID 5 +.Os +.Sh 名称 +.Nm netid +.Nd +.Tn YP +ネットワーク・資格証明ファイル +.Sh 解説 +.Nm +フォーマットのファイルはほとんどありません。 +その一つは +.Tn YP +マップ +.Pa netid.byname +に使われるものです。 +このフォーマットはかなり単純なものです。 +各行は 2 つの項目 (キーと値) からなります。 +.Xr mknetid 8 +によって 3 種類のレコードが作られます。 +.Pp +1 つ目の種類は、ある UID がどの GID を持っているかに関する情報です: +.Pp +.Sm off +.Li unix . Ao Ar uid Ac @ Aq Ar yp-domain +.Sm on +.Sm off +.Ao Ar uid Ac : Ao Ar gid Ac , Aq Ar gid +.Sm on +.Pp +2 つ目の種類は、ホストに関する情報です: +.Pp +.Sm off +.Li unix . Ao Ar hostname Ac @ Aq Ar yp-domain +.Sm on +.Sm off +.Li 0 : Aq Ar hostname +.Sm on +.Pp +3 つ目の種類は、 +.Nm +ファイル中の、上記 2 種類以外のレコードのことです。 +.Sh 使用例 +設定ファイルは以下のようなものになるでしょう: +.Bd -literal +unix.10714@kaka 10714:400,10 +unix.jodie@kaka 0:jodie +.Ed +.Sh 関連ファイル +.Bl -tag -width ".Pa /etc/netid" -compact +.It Pa /etc/netid +.Xr mknetid 8 +によって自動生成されない行向け +.El +.Sh 関連項目 +.Xr mknetid 8 , +.Xr yp 8 +.Sh 作者 +.An Mats O Jansson Aq moj@stacken.kth.se diff --git a/documentation/manual-pages/ja/man5/networks.5 b/documentation/manual-pages/ja/man5/networks.5 new file mode 100644 index 0000000000..4b6c12766e --- /dev/null +++ b/documentation/manual-pages/ja/man5/networks.5 @@ -0,0 +1,89 @@ +.\" Copyright (c) 1983, 1991, 1993 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. All advertising materials mentioning features or use of this software +.\" must display the following acknowledgement: +.\" This product includes software developed by the University of +.\" California, Berkeley and its contributors. +.\" 4. Neither the name of the University nor the names of its contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" @(#)networks.5 8.1 (Berkeley) 6/5/93 +.\" %FreeBSD: src/share/man/man5/networks.5,v 1.9 2004/07/03 18:29:23 ru Exp % +.\" +.\" $FreeBSD$ +.\" +.Dd June 5, 1993 +.Dt NETWORKS 5 +.Os +.Sh 名称 +.Nm networks +.Nd ネットワーク名のデータベース +.Sh 解説 +.Nm +ファイルは、 +.Tn DARPA +インターネットを含む既知のネットワークの情報を保持します。 +各ネットワーク毎に、以下の情報を表す 1 行が存在します。 +.Bd -unfilled -offset indent +公式ネットワーク名 +ネットワーク番号 +別名 +.Ed +.Pp +各項目は任意個の空白文字やタブ文字で分けられます。 +``#'' はコメント開始を表し、 +行末までの文字はファイルを検索するルーチンに解釈されません。 +このファイルは通常 +Network Information Control Center +.Pq Tn NIC +が管理する公式ネットワークデータベースから生成しますが、 +非公式な別名や未知のネットワークに関する情報を最新とするために、 +ローカルでの変更が必要になるかもしれません。 +.Pp +ネットワーク番号は、 +インターネットアドレス操作ライブラリ +.Xr inet 3 +の +.Xr inet_network 3 +ルーチンが使用する、伝統的な ``.'' (ドット) 表記で指定します。 +ネットワーク名は、フィールド区切り文字・改行文字・コメント文字以外の、 +任意の表示可能文字からなります。 +.Sh 関連ファイル +.Bl -tag -width /etc/networks -compact +.It Pa /etc/networks +.Nm +は +.Pa /etc +にあります。 +.El +.Sh 関連項目 +.Xr getnetent 3 +.Sh バグ +静的ファイルの代わりに、ネームサーバを使用すべきです。 +.Sh 歴史 +.Nm +ファイルフォーマットは +.Bx 4.2 +に登場しました。 diff --git a/documentation/manual-pages/ja/man5/nologin.5 b/documentation/manual-pages/ja/man5/nologin.5 new file mode 100644 index 0000000000..4f1c18740f --- /dev/null +++ b/documentation/manual-pages/ja/man5/nologin.5 @@ -0,0 +1,65 @@ +.\" Copyright (c) 1993 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 4. Neither the name of the University nor the names of its contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" @(#)nologin.8 8.1 (Berkeley) 6/19/93 +.\" %FreeBSD: src/usr.sbin/nologin/nologin.5,v 1.14 2004/08/07 04:27:52 imp Exp % +.\" +.\" $FreeBSD$ +.\" +.Dd June 19, 1993 +.Dt NOLOGIN 5 +.Os +.Sh 名称 +.Nm nologin +.Nd ログインを拒否する +.Sh 解説 +.Xr login 1 +等のプログラムは、 +.Pa /var/run/nologin +ファイルがあるとログインを拒否します。 +このプログラムはユーザに +.Pa /var/run/nologin +の内容を表示し、終了します。 +これにより、一時的にシステム全体でログインを防ぐことを簡単に実現します。 +.Pp +アカウント毎にログインを無効にしたい場合は、 +.Xr nologin 8 +を調べてください。 +.Sh セキュリティ +ユーザ root の +.Xr login 1 +では無視されます。 +.Sh 関連ファイル +.Bl -tag -width ".Pa /var/run/nologin" -compact +.It Pa /var/run/nologin +.El +.Sh 関連項目 +.Xr login 1 , +.Xr rlogin 1 , +.Xr telnet 1 , +.Xr nologin 8 , +.Xr shutdown 8 diff --git a/documentation/manual-pages/ja/man5/nsswitch.conf.5 b/documentation/manual-pages/ja/man5/nsswitch.conf.5 new file mode 100644 index 0000000000..0f11e06976 --- /dev/null +++ b/documentation/manual-pages/ja/man5/nsswitch.conf.5 @@ -0,0 +1,316 @@ +.\" $NetBSD: nsswitch.conf.5,v 1.14 1999/03/17 20:19:47 garbled Exp $ +.\" %FreeBSD: src/share/man/man5/nsswitch.conf.5,v 1.10.2.1 2005/04/24 20:33:06 bz Exp % +.\" +.\" Copyright (c) 1997, 1998, 1999 The NetBSD Foundation, Inc. +.\" All rights reserved. +.\" +.\" This code is derived from software contributed to The NetBSD Foundation +.\" by Luke Mewburn. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. All advertising materials mentioning features or use of this software +.\" must display the following acknowledgement: +.\" This product includes software developed by Luke Mewburn. +.\" 4. The name of the author may not be used to endorse or promote products +.\" derived from this software without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +.\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +.\" BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS +.\" OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +.\" ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR +.\" TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE +.\" USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +.\" +.\" $FreeBSD$ +.Dd April 23, 2005 +.Dt NSSWITCH.CONF 5 +.Os +.Sh 名称 +.Nm nsswitch.conf +.Nd ネームサービススイッチの設定ファイル +.Sh 解説 +.Nm +ファイルは C ライブラリでの +.Xr nsdispatch 3 +(ネームサービス +スイッチディスパッチャ) ルーチンをどのように作動させるかを +設定します。 +.Pp +この設定ファイルは、host, user (password), group などに関する +情報を持つ様々なデータベースを調べるための +プロセスをコントロールします。 +各データベースは (ローカルファイル、DNS、 +.Tn NIS +のような) ソースから生成され、 +そのソースを指定する順を +.Nm +で設定します。 +.Pp +.Nm +の各エントリはデータベース名と、スペースで区切られた +ソースのリストで構成されています。 +各ソースには、リストの次のソースを使うか、現在のソースで終わりにするか +決める基準を後ろに書けます。 +.\" 書けます、という言葉に optional の意味を訳出 +各基準は、1 つもしくは、それ以上のステータスコードと、 +そのステータスコードが発生した際に行う動作から成り立ってます。 +.Ss ソース +以下のソースが実装されています: +.Pp +.Bl -tag -width Source -compact +.It Sy ソース +.Sy 解説 +.It files +.Pa /etc/hosts +や +.Pa /etc/passwd +などのローカルファイル。 +.It dns +インターネットドメインネームシステム。 +.Dq hosts +や +.Sq networks +は、 +.Sy IN +クラスを使用し、その他全ては +.Sy HS +クラス (Hesiod) を使用します。 +.It nis +NIS (以前は YP) +.It compat +.Dq passwd +と +.Dq group +のデータベースの +.Sq +/- +をサポートします。 +これがある場合、エントリのソースは、これのみです。 +.El +.Ss データベース +以下のデータベースは、以下の C ライブラリ関数によって使用されます: +.Pp +.Bl -tag -width databases___ -compact +.It Sy データベース +.Sy 使用先 +.It group +.Xr getgrent 3 +.It hosts +.Xr gethostbyname 3 +.It networks +.Xr getnetbyname 3 +.It passwd +.Xr getpwent 3 +.It shells +.Xr getusershell 3 +.El +.Ss ステータスコード +以下のステータスコードが利用可能です: +.Pp +.Bl -tag -width statuscode______ -compact +.It Sy ステータスコード +.Sy 解説 +.It success +要求したエントリが見つかりました。 +.It notfound +このソースには、エントリがありませんでした。 +.It tryagain +ソースがビジー状態です。再試行可能です。 +.It unavail +ソースの応答がないか、エントリが壊れています。 +.El +.Ss アクション +それぞれのステータスコードにおいて、以下のアクションが可能です: +.Pp +.Bl -tag -width continue__ -compact +.It Sy アクション +.Sy 解説 +.It continue +次のソースを試行。 +.It return +現在の結果で戻る。 +.El +.Ss ファイルフォーマット +.Nm +の +.Tn BNF +構文は以下の通りです: +.Pp +.Bl -tag -width <criterion> -compact +.It <entry> +::= +<database> ":" [<source> [<criteria>]]* +.It <criteria> +::= +"[" <criterion>+ "]" +.It <criterion> +::= +<status> "=" <action> +.It <status> +::= +"success" | "notfound" | "unavail" | "tryagain" +.It <action> +::= +"return" | "continue" +.El +.Pp +各エントリはファイル内の新しい行からスタートします。 +行中の +.Sq # +は、行末までコメントとされます。 +空行は無視されます。 +行末に +.Sq \e +がある場合は改行を無視し、 +次の行を現在の行の続きとします。 +全てのエントリは、大文字と小文字を区別しません。 +.Pp +デフォルト基準は +.Dq success +の場合は return になり、それ以外の場合は continue になります。 +(つまり、 +.Li "[success=return notfound=continue unavail=continue tryagain=continue]" ) +.Ss compat モード: +/- シンタックス +歴史的なマルチソース実装において、 +.Sq + +と +.Sq - +文字は、ユーザパスワードと +グループ情報を +.Tn NIS +から取り込むよう、指定するために使われます。 +.Tn NIS +などで配布されているソースにアクセスする別の方法を +.Nm +は提供しますが、ソースに単一の +.Dq compat +を指定すると歴史的な動作方法を提供します。 +.Pp +.Dq passwd_compat: source +を指定すると +.Sq +/- +経由でアクセスされた情報を代替の +ソースに使用することができます。 +この場合の +.Dq source +には、 +.Sq dns , +.Sq nis +と +.Sq files , +.Sq compat +以外のその他のソースがあてはまります。 +.Ss 注釈 +歴史的な、多くのデータベースには、 +.Fn getXXXent +形式の列挙関数があります。 +(各サイズが不明な) +データベースがローカルファイルのときは、理にかなっていますが、 +多数のソースの場合は、 +ほとんど意味がないか、妥当ではありません。 +このインタフェースはまだ互換性のために用意されていますが、 +ソースが完全なエントリを提供できないかもしれません。 +または、似通った情報を保持している複数のソースを指定した場合、 +重複したエントリが返されるかもしれません。 +.Pp +以前の実装と、現在の実装との互換性を確実にするために +.Dq compat +ソースは指定するデータベースに、単独で存在しなければなりません。 +.Ss デフォルトソースのリスト +あらゆる設定上において +何らかの理由で +.Nm +が存在していないか、または +欠けていたり壊れたエントリがあった場合 +.Xr nsdispatch 3 +は要求されたデータベースには +.Dq files +のエントリをデフォルトとします。 +例外は以下の通りです: +.Pp +.Bl -tag -width passwd_compat -compact +.It Sy データベース +.Sy デフォルトソースのリスト +.It group +compat +.It group_compat +nis +.It hosts +files dns +.It passwd +compat +.It passwd_compat +nis +.El +.Sh 関連ファイル +.Bl -tag -width /etc/nsswitch.conf -compact +.It Pa /etc/nsswitch.conf +.Nm +ファイルは +.Pa /etc +にあります。 +.El +.Sh 例 +ホスト情報を +.Pa /etc/hosts +その後 DNS で検索し、ユーザ情報を +.Tn NIS +その後 files で検索するには以下を使用してください: +.Pp +.Bl -tag -width passwd: -compact +.It hosts: +files dns +.It passwd: +nis [notfound=return] files +.It group: +nis [notfound=return] files +.El +.Pp +.Dq [notfound=return] +の基準は、"NIS が notfound を返した場合、files は検索しない" +という設定になります。 +NIS サーバがダウンしている時を除いて、NIS のみを +正式な情報として取り扱います。 +.Sh 注 +システムが +.Va NO_NIS +でコンパイルされている場合 +.Sq nis +のエントリは外してください。 +.Sh 関連項目 +.Xr nsdispatch 3 , +.Xr resolv.conf 5 , +.Xr named 8 , +.Xr ypbind 8 +.Sh 歴史 +.Nm +ファイルフォーマットは +.Fx 5.0 +ではじめて登場しました。 +これは +.Nx 1.4 +ではじめて登場した +.Nx +プロジェクトからインポートされました。 +.Sh 作者 +Luke Mewburn +.Aq lukem@netbsd.org +は +.Tn ULTRIX +.Xr svc.conf 5 +と +.Tn Solaris +.Xr nsswitch.conf 4 +マニュアルページからのアイディアを元に、 +この自由に再配布可能なネームサービス +スイッチの実装を記述しました。 diff --git a/documentation/manual-pages/ja/man5/ntp.conf.5 b/documentation/manual-pages/ja/man5/ntp.conf.5 new file mode 100644 index 0000000000..2bd0565b2c --- /dev/null +++ b/documentation/manual-pages/ja/man5/ntp.conf.5 @@ -0,0 +1,1960 @@ +.\" +.\" %FreeBSD: src/usr.sbin/ntp/doc/ntp.conf.5,v 1.16 2004/07/03 18:35:51 ru Exp % +.\" $FreeBSD$ +.\" +.Dd January 13, 2000 +.\" WORD: dotted-quad form ドットで 4 つの部分に区切られた形式 +.\" WORD: association アソシエーション[NTP] +.\" WORD: key identifier 鍵の識別子 +.\" WORD: key cache 鍵のキャッシュ +.\" WORD: key file 鍵ファイル +.\" WORD: reference clock 参照クロック +.\" WORD: time server タイムサーバ +.\" WORD: symmetric active 対称的アクティブ +.\" WORD: manycast メニーキャスト +.\" WORD: mobilize (アソシエーションを)行使する[NTP] +.Dt NTP.CONF 5 +.Os +.Sh 名称 +.Nm ntp.conf +.Nd ネットワークタイムプロトコル (NTP) デーモンの設定ファイル +.Sh 書式 +.Nm /etc/ntp.conf +.Sh 解説 +.Nm +設定ファイルは、 +.Xr ntpd 8 +デーモンの初期始動時に、同期用時刻供給源、モード、その他関連情報を +指定するために読み込みます。 +通常は、この設定ファイルは +.Pa /etc +ディレクトリにインストールされますが、どのディレクトリにもインストール +可能です +(デーモンの +.Fl c +コマンドラインオプションを参照)。 +.Pp +ファイルのフォーマットは、他の +.Ux +設定ファイルと似ています。 +コメントは、文字 +.Ql # +からはじまり、行末まで続きます。 +また、空行は無視されます。 +設定コマンドは、先頭のキーワードと、 +その後に続く引数のリストからなります。 +引数にはオプションのものもあります。 +各引数は空白で区切られています。 +コマンドは、複数の行にまたがることはできません。 +引数として、ホスト名、 +ドットで 4 つの部分に区切られた形式の数値で書かれたホストアドレス、 +整数、浮動小数点で表現された数値 (秒で時間を指定した場合)、 +テキスト文字列があります。 +.Pp +このマニュアルページの残りでは、設定と制御オプションについて述べます。 +.Qq "NTP の設定と NTP サブネットの設定に関する注意" +のページ ( +.Pa /usr/share/doc/ntp +にある +HTML 文書の一部として入手可能です) +では、これらオプションについて更に進んだ議論があります。 +一般的な +.Sx 設定オプション +の議論に加えて、 +サポートされている機能と、その機能を制御するためのオプションについて +述べた、次のようなセクションがあります: +.Bl -bullet -offset indent +.It +.Sx 認証機能のサポート +.It +.Sx モニタ機能のサポート +.It +.Sx アクセス制御機能のサポート +.It +.Sx 参照クロック機能のサポート +.El +.Pp +これらのセクションの後に +.Sx その他のオプション +について述べたセクションもあります。 +利用可能なオプションは豊富にありますが、 +必要なオプションは、 +.Ic server , +.Ic peer , +.Ic broadcast , +.Ic manycastclient +コマンドだけです。 +.Sh 設定オプション +次に述べるのは、NTPv4 の設定コマンドについてです。 +これらのコマンドは、基本的な機能は NTPv3 のときと同じですが、 +場合によっては、新たな機能や引数を持ったものがあります。 +コマンドには、2種類のクラスがあります。 +設定コマンドは、リモートサーバまたは通信相手または参照時計との +永続的なアソシエーションの設定を行ないます。 +補助コマンドは、さまざまな関連操作を制御する環境変数を設定します。 +.Ss 設定コマンド +コマンドのキーワードおよび必要とされる IP アドレスの種類によって、 +さまざまなモードが決定されます。 +アドレスは次のような種類にクラス分けされます。 +(s) リモートサーバあるいは通信相手 (IP クラス A, B, C のいずれか)、 +(b) ローカルインタフェースのブロードキャストアドレス、 +(m) マルチキャストアドレス (IP クラス D)、 +あるいは、 (r) 参照時間アドレス (127.127.x.x) です。 +以下では、各コマンドに適用可能なオプションだけを記載していることに +注意してください。 +記載していないオプションを使用してもエラーにならないかもしれませんが、 +その結果、妙なことをしたり、 +破壊的なことをしでかしたりすることがあります。 +.Bl -tag -width indent +.It Xo Ic server Ar address +.Op Cm key Ar key \&| Cm autokey +.Op Cm burst +.Op Cm iburst +.Op Cm version Ar version +.Op Cm prefer +.Op Cm minpoll Ar minpoll +.Op Cm maxpoll Ar maxpoll +.Xc +.It Xo Ic peer Ar address +.Op Cm key Ar key \&| Cm autokey +.Op Cm version Ar version +.Op Cm prefer +.Op Cm minpoll Ar minpoll +.Op Cm maxpoll Ar maxpoll +.Xc +.It Xo Ic broadcast Ar address +.Op Cm key Ar key \&| Cm autokey +.Op Cm version Ar version +.Op Cm prefer +.Op Cm minpoll Ar minpoll +.Op Cm ttl Ar ttl +.Xc +.It Xo Ic manycastclient Ar address +.Op Cm key Ar key \&| Cm autokey +.Op Cm version Ar version +.Op Cm prefer +.Op Cm minpoll Ar minpoll +.Op Cm maxpoll Ar maxpoll +.Op Cm ttl Ar ttl +.Xc +.El +.Pp +これら 4 つのコマンドは、使用するタイムサーバ名またはアドレスと、 +動作を行うモードを指定するものです。 +.Ar address +は、DNS 名でも +ドットで 4 つの部分に区切られた形式の IP アドレスでも良いです。 +アソシエーションの振る舞いに関するさらなる情報は、 +.Qq "アソシエーション管理" +のページにあります。 +.Bl -tag -width indent +.It Ic server +タイプ s および r のアドレス用です。 +このコマンドは、リモートサーバまたはローカルのラジオ時計との +永続的クライアントモードの +アソシエーションを行使します。 +このモードでは、ローカル時計がリモートサーバに同期することは +ありますが、 +リモートサーバがローカル時計に同期することは決してありません。 +このコマンドは、タイプ b または m のアドレスに対して +使用すべきでは +.Em ありません。 +.It Ic peer +タイプ s のアドレス専用です。 +このコマンドは、指定したリモートの通信相手との間で +永続的対称アクティブ (symmetric-active) モードの +アソシエーションを行使します。 +このモードでは、ローカル時計がリモートの通信相手に同期することが +あります。 +また、リモートの通信相手がローカル時計に同期することもあります。 +この性質は、さまざまな故障の生じ方によっては、ローカル側と +リモート側のどちらもがより良い時刻源になりえるような、 +サーバのネットワークで有益です。 +このコマンドは、タイプ b, m あるいは r のアドレスに対して +使用すべきでは +.Em ありません。 +.It Ic broadcast +タイプ b および m のアドレス専用です。 +このコマンドは、 +永続的ブロードキャストモードのアソシエーションを行使します。 +複数のローカルブロードキャストインタフェース (サブネット) +および / あるいは、複数のマルチキャストグループを指定するため、 +複数のコマンドを使用できます。 +ローカルのブロードキャストメッセージは、指定されたサブネットに +関連づけられたインタフェースだけに到達するということに注意して +ください。 +ただし、マルチキャストメッセージは全てのインタフェースに到達します。 +ブロードキャストモードでは、ローカルサーバは、指定したアドレスに +待機しているクライアント群に対して定期的にブロードキャストメッセージを +送信します。 +このときのアドレスは、通常は、ローカルネットワーク (の 1 つ) の +ブロードキャストアドレス、もしくは NTP に割り当てられた +マルチキャストアドレスです。 +IANA は、マルチキャストグループのアドレス 224.0.1.1 をNTP 専用に +割り当てています。 +しかし、メッセージを収容するために、その他の競合しないアドレスも +管理境界内で使用できます。 +もともと、この仕様は、ローカルサーバが送信側として動作する時のみ +適用されるものです。 +ブロードキャストクライアントとして動作させたい場合は、後に説明する +.Ic broadcastclient +もしくは +.Ic multicastclient +コマンドの項を参照してください。 +.It Ic manycastclient +タイプ m のアドレス専用です。 +このコマンドは、指定されたマルチキャストアドレスに対して +メニーキャストクライアントモードのアソシエーションを行使します。 +この場合、 +使用するメニーキャストサーバで +.Ic manycastserver +コマンドで指定したアドレスと一致するアドレスを +指定することが必要です。 +IANA が割り当てた 224.0.1.1 というマルチキャストアドレスは、 +使用すべきではありません。 +ただし、これらのメッセージがインターネット上の広大な領域に +撒き散らされ、それによって膨大な量のリプライが送り手に +集中しないように、何か特別な手段を講じている場合は別です。 +.Ic manycastserver +コマンドは、ローカルサーバがクライアントモードで動作することを指定します。 +ローカルサーバは、ブロードキャスト / マルチキャストメッセージを送った結果 +発見したリモートサーバとともに、クライアントモードで動作します。 +クライアントは、指定した +.Ar address +に関連するグループアドレスへ、要求メッセージを送ります。 +そして、特に有効にされたサーバがこの要求メッセージに応答します。 +クライアントは、最も正確な時間を提供するサーバを選択し、以後は、 +.Ic server +コマンドを使用した場合と同様の動作を継続します。 +それ以外のサーバは、まるで応答を受信しなかったかのように無視します。 +.El +.Pp +オプション: +.Bl -tag -width indent +.It Cm autokey +サーバもしくは通信相手との間で送受信したパケットの全てが、 +.Sx 認証オプション +の項で説明する autokey 方式を使用して暗号化された +認証フィールドを含むようになります。 +.It Cm burst +サーバが到達可能な場合、 +ポーリング間隔ごとに、通常のパケット 1 個の代わりに、 +パケット 8 個をバースト的に送信します。 +最初のパケットと2 個目のパケットの間隔は約 16 秒としてあります。 +これはモデムによる電話接続が完了するまでの時間を取るためです。 +それ以後のパケットの間隔は約 2 秒です。 +この動作は、 +.Ic server +コマンドと s アドレスを使った時刻管理を質的に改善するために +設計されました。 +.It Cm iburst +サーバに到達できない場合、ポーリング間隔ごとに、通常の +パケット 1 個の代わりに、パケット 8 個をバースト的に送信します。 +サーバに到達できない限り、モデムの電話接続が完了するように、 +パケットの間隔は約 16 秒としてあります。 +サーバが到達可能になると、パケットの間隔は約 2 秒になります。 +この動作は、 +.Xr ntpd 8 +が +.Fl q +オプション付きで起動されたとき、 +.Ic server +コマンドと s アドレスによる初期同期確立を高速化するために設計されました。 +.It Cm key Ar key +サーバもしくは通信相手との間で送受信したパケットの全てが、 +1から65534の間 (両端を含む) の値の +鍵識別子 +.Ar key +を使用して暗号化された認証フィールドを含むようになります。 +デフォルトでは、暗号化されたフィールドは含まれません。 +.It Cm minpoll Ar minpoll +.It Cm maxpoll Ar maxpoll +このオプションは、NTP メッセージに対する最小および最大のポーリング間隔 +を、秒単位で 2 の指数の値で指定します。 +最大ポーリング間隔のデフォルトは 10 (1024秒) ですが、 +.Cm maxpoll +オプションを使用することで、上限である 17 (36.4 時間) まで +増やすことができます。 +最小ポーリング時間はのデフォルトは 6 (64 秒) ですが、 +.Cm minpoll +オプションを使用することで、下限である 4 (16 秒) まで +減らすことができます。 +.It Cm prefer +サーバに望ましいものとしての印をつけます。 +他の条件で差がなければ、この印のついたサーバは、 +正しく動作しているホストの中から同期用に選択されます。 +さらなる情報が必要なら、 +.Qq "緩和のルールと prefer キーワード" +のページを参照してください。 +.It Cm ttl Ar ttl +このオプションは、ブロードキャストサーバモードと +メニーキャストクライアントモードでのみ使用します。 +このオプションは、ブロードキャストサーバとマルチキャストサーバの上で +使用する生存時間 +.Cm ttl +を指定し、リング検索をメニーキャストクライアントパケットに拡張する +最大 +.Cm ttl +を指定します。 +デフォルトの値は 127 ですが、適切な値を選択するのはちょっとした +黒魔術のようなものですので、システム管理者との間の調整が必要です。 +.It Cm version Ar version +送出する NTP パケットで使用するバージョン番号を指定します。 +バージョン 1-4 から選択します。 +バージョン 4 がデフォルトです。 +.El +.Ss 補助コマンド +.Bl -tag -width indent +.It Ic broadcastclient +このコマンドは、任意のローカルインタフェース (タイプ b) に対する +ブロードキャストサーバメッセージの受信を可能にします。 +最初のメッセージを受信する際に、ブロードキャストクライアントは、 +サーバとの間でクライアントサーバ間の短いやりとりを用いて、 +名目上の (nominal) サーバ伝播遅延を測定します。 +そのあと、ブロードキャストクライアントモードに入ります。 +このモードで、その後に受信するブロードキャストメッセージに同期します。 +偶然、あるいは故意にこのモードで両者決裂に至ることを避けるため、 +サーバとクライアントはどちらも、 +.Sx 認証オプション +の項で説明する対称鍵認証または公開鍵認証を用いて +動作しなくてはならないことに注意してください。 +.It Ic manycastserver Ar address ... +このコマンドは、(1個または複数の) 指定した +マルチキャストグループアドレス (タイプ m) +に対するメニーキャストクライアントメッセージの受信を可能にします。 +少なくとも 1 個のアドレスを必要とします。 +しかし、リプライの伝播を制限し、最初の送信側に大量のメッセージが +殺到しないように、なんらかの方策を特別に用意しない限り、 +IANA が割り当てた NTP マルチキャストアドレス +224.0.1.1 を使用してはいけません。 +偶然、あるいは故意にこのモードで両者決裂に至ることを避けるため、 +サーバとクライアントはどちらも、 +.Sx 認証オプション +の項で説明する対称鍵認証または公開鍵認証を用いて +動作しなくてはならないことに注意してください。 +.It Ic multicastclient Ar address ... +このコマンドは、(1個または複数の) 指定した +マルチキャストグループアドレス (タイプ m) +に対するマルチキャストサーバメッセージの受信を可能にします。 +最初のメッセージを受信する際に、マルチキャストクライアントは、 +サーバとの間でクライアントサーバ間の短いやりとりを用いて、 +名目上の (nominal) サーバ伝播遅延を測定します。 +そのあと、ブロードキャストクライアントモードに入ります。 +このモードで、その後に受信するマルチキャストメッセージに同期します。 +偶然、あるいは故意にこのモードで両者決裂に至ることを避けるため、 +サーバとクライアントはどちらも、 +.Sx 認証オプション +の項で説明する対称鍵認証または公開鍵認証を用いて +動作しなくてはならないことに注意してください。 +.El +.Sh 認証機能のサポート +認証機能のサポートによって、NTP クライアントは、サーバが +本当に既知で信頼できるものであり、偶然であれ意図的であれ、 +サーバのふりをしてクライアントをだまそうとする侵入者ではないことを +確認できます。 +NTPv3 仕様 RFC-1305 は、受け取った NTP パケットを +暗号により認証するための方式を定義しています。 +もともと、この機能は、Cipher Block Chaining (CBC) モードで機能する +Data Encryption Standard (DES) +アルゴリズムを使用して (一般的に、DES-CBC と +呼ばれる方式です) 実現されていました。 +後に、秘密鍵を使用した RSA Message Digest 5 (MD5) +アルゴリズムを用いて (一般的に、 +keyed-MD5 と呼ばれています) 改良がなされました。 +どちらのアルゴリズムもメッセージダイジェスト、つまり、 +片方向ハッシュを計算します。 +これは、サーバが正しい秘密鍵と鍵の識別子を持っているか否かを +検証するのに使用できます。 +.Pp +NTPv4 は、NTPv3 の方式を +保持しています。 +この方式は、対称鍵暗号化と説明するのが適切でしょう。 +それに加えて、公開鍵暗号化に基づく新しい Autokey 方式も +提供しています。 +一般に、公開鍵暗号化は対称鍵暗号化よりも安全であると +考えられています。 +この方式の安全性が、両サーバそれぞれで生成され外部に持ち出されない +秘密の値 1 個に基づくからです。 +Autokey を使うことで、鍵配布/管理機能が含むものは全て公開値のみです。 +値が公開されているので、鍵配布と保管が単純化されます。 +.Pp +認証機能はアソシエーションそれぞれに対して個別に設定されます。 +.Sx "設定オプション" +の項で説明されるように、 +認証機能は、 +.Ic peer , +.Ic server , +.Ic broadcast , +.Ic manycastclient +コマンドの +.Cm key +サブコマンドまたは +.Cm autokey +サブコマンドを利用して設定されます。 +以下で説明する認証機能オプションは、1 組の鍵を指定し、 +設定するアソシエーションそれぞれに対する鍵を選択し、 +設定操作を管理します。 +.Pp +.Cm auth +フラグは、新しいアソシエーションまたはリモート設定コマンドが +暗号化認証を必要とするかどうかを制御します。 +このフラグの有効/無効の設定は、 +.Ic enable +および +.Ic disable +設定コマンドを使用して行なうことができます。 +また、他のマシンで +.Xr ntpdc 8 +プログラムを動かして、リモートから設定コマンドを送り行なうことも +できます。 +このフラグが有効に設定されていれば +(デフォルトは有効に設定されています)、 +新規のブロードキャストクライアントアソシエーション、 +新規の対称パッシブアソシエーション、 +リモート設定コマンドは +対称鍵方式または、公開鍵方式のいずれかを用いて +暗号的に認証されなければなりません。 +このフラグが無効に設定されていれば、暗号的に認証されていなくても +これらの操作は有効です。 +後者のモードで操作を行うと、悪者ハッカー (訳注: クラッカー) +がクライアントの時刻管理処理に +重大な混乱をもたらすことが可能であるという、重大な脆弱性を招く +ことは理解しておいてください。 +.Pp +ファイアウォールと多数のブロードキャストクライアントが存在する +ネットワークでは、認証機能を無効にしておくことも許容できるかも +しれません。 +というのは、無効にすることで鍵の配布を行なわずにすみますし、 +ネットワークの管理が単純になるからです。 +しかし、設定ファイルがホスト名を含む場合、または、 +サーバかクライアントがリモートから設定される場合、 +DNS と、それとは別の名前解決プロセスを用いて +ホスト名を解決します。 +偽物のネームサーバメッセージから守るために、 +内部で生成された鍵を使用して名前解決メッセージを認証しています。 +この鍵は、通常、ユーザからは見えません。 +しかし、暗号化機能のサポートが無効にされている場合、 +この名前解決プロセスが失敗してしまいます。 +この問題の解決策は、ホスト名の代わりに IP アドレスを指定する +(こちらはあまりお勧めしません) か、または、 +.Cm auth +フラグを有効にして名前解決プロセスを行ない、 +名前解決プロセスが完了してから +.Cm auth +フラグを無効にするかのどちらかです。 +.Pp +マルチキャストサポートが利用可能な場所での代替案として魅力的なもの +は、メニーキャストモードです。 +このモードでは、クライアントは定期的にサーバを流し釣りします。 +このモードでの暗号化認証は、公開鍵方式を +以下に説明するように使用します。 +このメニーキャストモードの主な利点は、クライアントはサーバを +通常の動作の間に発見するので、サーバになり得るマシンに +事前に設定する必要がないことと、クライアント全てで同じ +設定ファイルを利用できることです。 +.Pp +NTP 配布ソフトウェアの構築前に +.Sy rsaref20 +ソフトウェアをインストールしておいた場合、 +デフォルトの対称鍵暗号化サポートに加えて、公開鍵暗号化のサポートも +利用可能です。 +公開鍵暗号化は、正確性と安定性を犠牲にせずに、安全なサーバ認証を +提供します。 +対称鍵暗号化、公開鍵暗号化両方に対するセキュリティモデルと +プロトコル方式は、以下に説明します。 +.Ss "対称鍵方式" +RFC-1305 仕様では、本来、65,534 個の鍵の中の任意の 1 個を使い、 +アソシエーションを認証することが可能です。 +鍵それぞれは 32 ビットの鍵識別子により区別されます。 +ここで使われるサーバとクライアントは、 +メッセージを認証するための鍵および鍵識別子を合意しておく +必要があります。 +鍵およびそれに関連する情報は、鍵ファイル中で指定します。 +通常、このファイルは、 +.Pa ntp.keys +と呼ばれます。 +このファイルは安全な手続きを用いて交換/格納する必要がありますが、 +この手続きは、NTP プロトコル自体の範疇を超えています。 +本来の NTP アソシエーションに使用される鍵に加えて、追加の鍵を +.Xr ntpq 8 +および +.Xr ntpdc 8 +ユーティリティプログラム用のパスワードとして使用できます。 +.Pp +.Xr ntpd 8 +が初めて起動すると、 +ntpd は、 +.Ic keys +コマンドで指定した鍵ファイルを読み込み、鍵キャッシュに鍵を +設置します。 +一方、鍵は使用する前に +.Ic trusted +コマンドでアクティブにしておくことが必要です。 +これにより、例えば、いくつかの鍵の束をインストールし、 +.Xr ntpdc 8 +を使用して鍵の束をリモートからアクティブにしたり、非アクティブに +したりできます。 +また、これにより、鍵の安全性が損なわれてしまった場合に使用できる +鍵の取消機能も提供されます。 +.Ic requestkey +コマンドは、 +.Xr ntpdc 8 +ユーティリティ用にパスワードとして使用される鍵を選択します。 +それに対して、 +.Ic controlkey +コマンドは、 +.Xr ntpq 8 +ユーティリティ用にパスワードとして使用される鍵を選択します。 +.Ss 公開鍵方式 +RFC-1305 に記載されている、もとからある NTPv3 の認証方式は +継続してサポートされています。 +しかしながら、NTPv4 では、 +Autokey と呼ばれる認証方式が追加され、それを利用できます。 +この認証機構は、MD5 メッセージダイジェスト、RSA 公開鍵署名、 +Diffie-Hellman 鍵合意アルゴリズムを使用します。 +これらは NTPv4 配布ソフトウェアには含まれていませんが、 +いくつかのソースコードが存在します。 +この機能を有効にするためには、 +.Pa README.rsa +ファイルに説明してあるように、 +.Sy rsaref20 +パッケージをインストールしておかねばなりません。 +一度インストールすると、configure と構築プロセスがそれを +自動的に検出し、必要なルーチンをコンパイルします。 +Autokey 方式は、サポートするさまざまな NTP モードに対応して +いくつかの動作モードを持っています。 +すべてのモードでタイムスタンプ付き RSA 署名を使用し、 +暗号化の値の送信元を検証します。 +すべてのモードで、クライアント、サーバそれぞれで独立に計算できる +特殊なクッキーを 1 個使用します。 +対称モードでは、このクッキーは Diffie-Hellman 鍵合意アルゴリズムを +用いて組み立てられます。 +それ以外のモードでは、このクッキーは +IP アドレスとサーバのみが知っている秘密の値とで組み立てられます。 +それに加えて、すべてのモードで S-KEY 方式と良く似た方式を使用します。 +その方式では、疑似乱数鍵のリストを生成し、逆順で使用します。 +これらの方式は、幹部向け要約、現状、要約スライド、文献リスト +ともども、 +.Qq "自主認証(Autonomos Authentication)" +のページで説明します。 +.Pp +Autokey 方式で使用する暗号化の値は、 +.Xr ntp-genkeys 8 +プログラムで生成するファイルの中に組み込まれています。 +それらは、対称秘密鍵、公開鍵/秘密鍵の組、合意パラメータです。 +これらファイルの形式の説明は、 +.Xr ntp.keys 5 +マニュアルページを参照してください。 +これらのファイルには、 +.Sy rsaref20 +パッケージのアルゴリズムにより生成された暗号化の値が +印字可能な ASCII 文字の形式で含まれています。 +すべてのファイル名には NTP 秒のタイムスタンプと、その後ろに +デフォルトの名前とが含まれます。 +これらのデフォルトの名前は以下で与えます。 +ファイルデータはシステムクロックを種とする乱数値に由来しており、 +ファイル名にタイムスタンプが含まれているため、 +これらのファイルを生成するごとに、 +異なるファイル内容とファイル名で生成されます。 +.Pp +.Pa ntp.keys +ファイルは DES/MD5 秘密鍵を含みます。 +このファイルを同じセキュリティ区画に属する他のサーバやクライアントに +配布する際には、安全な手段で配布せねばなりません。 +また、このファイルは root のみが見られるようにしなければなりません。 +このファイルは Autokey 方式では使用しませんが、 +.Xr ntpdc 8 , +.Xr ntpq 8 +ユーティリティが使用する +いくつかのリモート設定コマンドを認証する際に必要です。 +.Pa ntpkey +ファイルは RSA 秘密鍵を保持します。 +このファイルを生成したマシンでのみ利用できます。 +他のデーモンやアプリケーションプログラムと共用することは +決してありません。 +ですから、root のみが見られるようにしなければなりません。 +.Pp +.Pa ntp_dh +ファイルは、合意パラメータを保持します。 +このパラメータは対称 (アクティブ、パッシブ) モードでのみ使用します。 +対称モードアソシエーションを開始する通信相手同士で同じパラメータを +共有することが必要ですが、どちらの +.Pa ntp_dh +ファイルから得られたパラメータかは問題になりません。 +通信相手の一方がパラメータを保持する場合、他方は +Autokey プロトコルを用いてそのパラメータを取得します。 +通信相手が双方ともパラメータを保持している場合、双方は +最も新しいコピーを使用します。 +通信相手がパラメータを持っていない場合、 +設定されたアソシエーションまたは未設定のアソシエーション +のいずれかについて、 +全てのアソシエーションがパラメータを要求します。 +しかし、どちらかの通信相手がパラメータを受信するまでは、 +アソシエーションの処理を進めることはできません。 +一度ロードされると、パラメータは要求に応じて他のクライアントや +サーバに提供することができます。 +.Pa ntp_dh +ファイルのデータは公開値なので、このファイルは +安全でない手段を用いて配布することもできます。 +.Pp +.Pa ntpkey_ Ns Ar host +ファイルは RSA 公開鍵を含みます。 +ここで、 +.Ar host +はホストの名前です。 +ホストはそれぞれ自分自身の +.Pa ntpkey_ Ns Ar host +ファイルを持っています。 +通常、このファイルは、Autokey プロトコルを用い他のホストに提供されます。 +.Ic server +アソシエーション、または、 +.Ic peer +アソシエーションは、特定のサーバまたは通信相手に関連した +公開鍵を要求します。 +この公開鍵は、ローカルファイルから直接ロードされるか、 +Autokey プロトコルを用いてサーバから間接的にロードされます。 +これらのファイルのデータは公開値であるため、 +これらのファイルは安全でない手段を用いて幅広く配布/保管することが +できます。 +.Pp +.Pa ntpkey_certif_ Ns Ar host +ファイルはオプションで、そのホストに対する PKI 証明データを含みます。 +これはホスト名と RSA 公開鍵の結び付きを提供します。 +現在の実装では、この証明データが存在すれば、クライアントはそれを +取得しますが、その内容は無視されます。 +.Pp +インタフェースごとの名前付けが幅広く使用されているため、 +設定され行使中のアソシエーションで使用されるホスト名は、 +.Ux +の +.Xr gethostname 3 +ライブラリ関数を使って決定されます。 +.Xr ntp-genkeys 8 +プログラムと Autokey プロトコルは、ともにこのルーチンが返す名前を +用いて公開鍵ファイルの名前を派生させます。 +どのサーバもクライアントも固有の公開鍵と秘密鍵をロードする必要が +ありますが、それぞれのクライアントアソシエーションまたは通信相手 +アソシエーションに対する公開鍵は、Autokey プロトコルを用いて +サーバまたは通信相手から取得することができます。 +しかし、現在の開発段階では、 サーバまたは通信相手の認証の確実性と +サーバ名、アドレス、公開鍵の暗号との結合は、 +認証局 (certificate authority) や +信用の輪 (web of trust) により確立されたところにまで達していません。 +.Ss "閏秒表" +NIST は、1972 年以後、歴史的に全ての閏秒の挿入の発生を示す表を +提供しています。 +この閏秒表は、挿入発生それぞれだけでなく、 +協定世界時 (Coordinated Universal Time:UTC) に関する +国際原子時 (International Atomic time:TAI) のオフセットもあわせて +記載しています。 +ちなみに、協定世界時は NTP により伝播されているものです。 +この表は、NIST 国家時刻サーバから FTP を使い ASCII ファイル +.Pa pub/leap-seconds +として直接取得することができます。 +.Pp +厳密にはセキュリティ機能ではありませんが、Autokey 方式は +サーバまたは通信相手から安全に閏秒表を取り出す手段を提供しています。 +サーバは、 +.Ic crypto +コマンドで指定したファイルから、閏秒表を直接ロードします。 +クライアントは、サーバから Autokey プロトコルを使い間接的に +取得します。 +一度ロードされると、閏秒表は要求に応じ他のクライアントやサーバに +提供できます。 +.Ss 鍵の管理 +デフォルトで、全ての鍵ファイルは、 +.Pa /usr/local/etc +に置かれます。 +このディレクトリは通常、 +ネットワークで NFS マウントされた共有ファイルシステムの中にあり、 +個々のマシンに別々にインストールする手間を省くことができます。 +このデフォルトは、 +.Ic keysdir +設定コマンドを用いて上書きすることができます。 +しかし、ここは秘密鍵ファイルを置く場所としては良いとはいえません。 +マシンそれぞれが自分のファイルを必要とするからです。 +このファイルをインストールするのに適当な場所は +.Pa /etc +です。 +ここは、通常、共用ファイルシステムに存在しません。 +.Pp +推奨するやり方は、 +ファイルをインストールした時のタイムスタンプ拡張子を保持し、 +(タイムスタンプ拡張子のない) デフォルト名から実ファイルへの +リンクを作ることです。 +これにより、新規ファイルの生成をリンクを張り変えることで有効に +できます。 +しかし、 +.Xr ntpd 8 +は、拡張値を取り出す瞬間にリンク名を解釈し、要求された時点で +公開鍵とホスト名とともにリンク名を送付します。 +これにより、クライアントはファイルと生成時刻が常に現在であると +検証することができます。 +しかし、各ファイルの実際の場所は +.Ic crypto +設定コマンドにより上書きされる可能性があります。 +.Pp +暗号化鍵と関連パラメータ全ては、例えば、1ヶ月に1回ぐらいの頻度で +定期的かつ自動的に再生成する必要があります。 +.Xr ntp-genkeys 8 +プログラムは、一度に生成するファイル全てに対し +同じタイムスタンプ拡張子を使います。 +ですから、ファイル生成のそれぞれは区別され、データ監視の際に +ファイル生成を認識できます。 +公開鍵/秘密鍵の組は全てのサーバとクライアントにより +生成されねばなりませんが、公開鍵と合意パラメータを、 +同じセキュリティ区画内の全てのマシンに対しわざわざ +コピーする必要はありません。 +これらは、Autokey プロトコルを使い自動的に取得できるからです。 +しかし、プライマリサーバの全ては同じ合意パラメータファイルを持つ +必要があります。 +これを達成するために推奨する方法は、プライマリサーバの 1 つに +そのファイルを生成させ、その後で、同じセキュリティ区画内の +他のプライマリサーバに対し +.Ux +.Xr rdist 1 +コマンドを用いてコピーすることです。 +Autokey プロトコルの将来のバージョンでは、合意プロトコルが +この処理を自動的に行なう機能の提供を含むことになります。 +.Pp +サーバとクライアントは新規のファイル世代の生成を +次のように行なうことができます。 +全てのマシンは起動時に古いファイル世代をロードしており、 +正常に動作しています。 +指定した間隔で、各マシンは新規の公開鍵/秘密鍵の組を生成し、 +デフォルトファイル名から新規ファイル名へのリンクを作成します。 +その後で、 +.Xr ntpd 8 +は再起動され、新規の生成をロードします。 +その結果、クライアントはもはや認証を正しく行なうことが +できなくなります。 +Autokey プロトコルがそう設計されているので、 +数分後にクライアントはタイムアウトし、 +プロトコルを最初から開始します。 +その結果新規の世代をロードし、以前通り動作を続けることが +できるようになっています。 +同様の手続きが合意パラメータファイルに対しても使用できます。 +しかし、この場合、このファイルを持つすべてのマシンが同じコピーを +持つように十分用心しておく必要があります。 +.Ss "認証コマンド" +.Bl -tag -width indent +.It Ic autokey Op Ar logsec +Autokey プロトコルで使用するセッション鍵のリストを +再生成する時間間隔を指定します。 +各アソシエーション用の鍵リストのサイズは、この時間間隔と現在の +ポーリング間隔に依るということに注意してください。 +デフォルト値は 12 です (4096 秒、つまり、約 1.1 時間です)。 +指定した時間間隔以上のポーリング間隔に対しては、 +セッション鍵のリストは単一エントリを持ち、メッセージを +送るごとに再生成されます。 +.It Ic controlkey Ar key +.Xr ntpq 8 +ユーティリティプログラムで使用する鍵の識別子を指定します。 +このプログラムは、RFC-1305 で定義された標準プロトコルを使用します。 +.Ar key +引数は、鍵のキャッシュ中の信頼された鍵に対する鍵識別子です。 +値の範囲は、1 から 65534 で両端を含みます。 +.It Xo Ic crypto +.Op Cm flags Ar flags +.Op Cm privatekey Ar file +.Op Cm publickey Ar file +.Op Cm dhparms Ar file +.Op Cm leap Ar file +.Xc +このコマンドは NTP デーモンを構築する際に +RSA ライブラリを含め設定することが必要です。 +このコマンドは公開鍵暗号化を有効にし、必要な RSA 秘密鍵ファイルと +公開鍵ファイルをロードし、存在するなら Diffie-Hellman 合意パラメータ +ファイルもロードします。 +ファイルを指定しないでいた場合、デフォルトの名前は以下に説明するように +使われます。 +次に示すのはサブコマンドです。 +.Bl -tag -width indent +.It Cm privatekey Ar file +RSA 秘密鍵ファイルの場所を指定します。 +指定がない場合のデフォルトは、 +.Pa /usr/local/etc/ntpkey +です。 +.It Cm publickey Ar file +RSA 公開鍵ファイルの場所を指定します。 +指定がない場合のデフォルトは、 +.Pa /usr/local/etc/ntpkey_ Ns Ar host +です。 +ここで、 +.Ar host +は鍵を生成したマシンの名前です。 +.It Cm dhparms Ar file +Diffie-Hellman パラメータファイルの場所を指定します。 +指定がない場合のデフォルトは、 +.Pa /usr/local/etc/ntpkey_dh +です。 +.It Cm leap Ar file +閏秒表ファイルの場所を指定します。 +指定がない場合のデフォルトは、 +.Pa /usr/local/etc/ntpkey_leap +です。 +.El +.It Ic keys Ar keyfile +DES/MD5 秘密鍵ファイルの場所を指定します。 +このファイルは、対称鍵モードで動作しているときに +.Xr ntpd 8 , +.Xr ntpq 8 , +.Xr ntpdc 8 +が使用する鍵と鍵識別子を含みます。 +.It Ic keysdir Ar path +このコマンドは NTP デーモンを構築する際に +RSA ライブラリを含め設定することが必要です。 +秘密鍵ファイル、合意パラメータファイル、公開鍵ファイルに対する +デフォルトのディレクトリパスを指定します。 +設定ファイルにこのコマンドが出てこなかったとき、 +このデフォルトは +.Pa /usr/local/etc +です。 +.It Ic requestkey Ar key +.Xr ntpdc 8 +ユーティリティプログラムで使用する鍵の識別子を指定します。 +このプログラムでは、 +.Xr ntpd 8 +の現在の実装に特有の専用プロトコルを使用します。 +.Ar key +引数は、信頼された鍵に対する鍵の識別子です。 +その値は 1 から 65534 の範囲です (両端を含む)。 +.It Ic revoke Ar logsec +Autokey 方式で使用するある暗号化値の再計算の間隔を、 +秒数を 2 の指数で指定します。 +この方式のアルゴリズムによる総当たり攻撃を +そらすために、これらの値を頻繁に更新する必要があります。 +しかし、いくつかの値の更新は比較的高価な処理です。 +デフォルトの時間間隔は 16 です (65,536 秒、つまり約 18 時間です)。 +指定した間隔以上のポーリング間隔に対して、 +メッセージを送るごとに新しい値が再計算されます。 +.It Ic trustedkey Ar key ... +通信相手を対称鍵暗号化を使い認証する目的で、信頼する +暗号化鍵の識別子を指定します。 +また +.Xr ntpq 8 +および +.Xr ntpdc 8 +プログラムで使用される鍵も指定します。 +認証手続きが要求することは、この目的のために、 +ローカルとリモートのサーバとが同じ鍵および鍵の識別子を +共有していることですが、 +異なったサーバには、異なった鍵を使用可能です。 +.Ar key +引数は 32 ビット符号なし整数で、1から65,534までの範囲の値です。 +.El +.Sh モニタ機能のサポート +.Xr ntpd 8 +には、サーバおよびクライアントの時間計測のパフォーマンスを長時間 +連続して記録するのに適した、包括的なモニタ機能が含まれています。 +現在サポートされている統計の種類のリストと実行例については、 +後で述べる +.Ic statistics +コマンドを参照してください。 +統計ファイルは、ファイル世代集合と、配布物の中の +.Pa ./scripts +ディレクトリにあるスクリプトを使用して管理されています。 +これらの機能と、 +.Ux +の +.Xr cron 8 +ジョブを使用して、 +データが自動的に要約され、時間を遡った分析を行うときのために +保存されます。 +.Ss モニタ機能のコマンド +.Bl -tag -width indent +.It Ic statistics Ar name ... +統計レコードの書き込みを有効にします。 +現在のところ、4 種類の +.Ar name +の統計がサポートされています。 +.Bl -tag -width indent +.It Cm loopstats +ループフィルタの統計情報の記録を有効にします。 +ローカル時計の更新を行うたびに、 +loopstats という名前のファイル世代集合に次の形式の行を出力します: +.Bd -literal +50935 75440.031 0.000006019 13.778190 0.000351733 0.013380 6 +.Ed +.Pp +最初の 2 つのフィールドは、日付 (ユリウス暦に修正済) と +時刻 (UTC 午前 0 時からの秒数) です。 +次の 5 つのフィールドは、 +秒単位の時間オフセット、 100 万分の 1 (PPM) 単位の周波数オフセット、 +秒単位の RMS ジッタ、100 万分の 1 (PPM) 単位の Allan 偏差、 +時計学習アルゴリズムの時定数です。 +.It Cm peerstats +通信相手に関する統計情報の記録を有効にします。 +これには、設定されたものと現在有効なものとの両方について、 +NTP サーバの通信相手の全て、特別な時刻信号の通信相手の全て +に対する統計レコードが含まれます。 +有効な更新が行われる度に、peerstats という名前のファイル世代集合の +現在の要素に次の形式の行を追加します: +.Bd -literal +48773 10847.650 127.127.4.1 9714 -0.001605 0.00000 0.00142 +.Ed +最初の 2 つのフィールドは、日付 (ユリウス暦に修正済)、 +時刻 (UTC で午前 0 時からの秒数) です。 +次の 2 つのフィールドは、それぞれドットで 4 つの部分に区切られた +形式の記法で書かれた通信相手のアドレスおよびステータスです。 +ステータスフィールドは、RFC 1305 の NTP 仕様の追記 A で述べている +フォーマットを用いて、16 進数で符号化されています。 +最後の 3 つのフィールドは、オフセット、遅延、RMS ジッタで、 +すべて秒単位です。 +.It Cm clockstats +時計ドライバの統計情報の記録を有効にします。 +時計ドライバからの更新を受ける度に、clockstats という名前の +ファイル世代集合に、次の形式の行を追加出力します: +.Bd -literal +49213 525.624 127.127.4.1 93 226 00:08:29.606 D +.Ed +最初の 2 つのフィールドは、日付 (ユリウス暦に修正済) および時刻 +(UTC で午前 0 時からの秒数) です。 +次のフィールドは、ドットで 4 つの部分に区切られた形式の記法で書かれた +時計のアドレスを示しています。 +最後のフィールドは、時計から受け取った最後のタイムコードを +意味のある ASCII フォーマットにデコードしたものです。 +時計ドライバによっては、これ以外に追加でそこそこの情報を集め、 +あわせて表示するものがあります。 +さらなる情報については、各時計特有の情報を参照してください。 +.It Cm rawstats +そのままのタイムスタンプ (raw-timestamp) の統計情報を +記録できるようにします。 +これには、設定されたものと現在有効なものとの両方について、 +NTP サーバの通信相手の全て、特別な時刻信号の通信相手の全て +に対する統計レコードが含まれます。 +通信相手または時計ドライバから受け取った NTP メッセージは +それぞれ、rawstats という名前のファイル世代集合に +次のような形式で 1 行付け足します: +.Bd -literal +50928 2132.543 128.4.1.1 128.4.1.20 3102453281.584327000 3102453281.58622800031 02453332.540806000 3102453332.541458000 +.Ed +最初の 2 つのフィールドは、日付 (ユリウス暦に修正済) および時刻 +(UTC で午前 0 時からの秒数) です。 +次の 2 つのフィールドは、 +通信相手あるいは時計のアドレスと、 +ローカルアドレスを示しています。 +これらはドットで 4 つの部分に区切られた記法で書かれています。 +最後の 4 つのフィールドは、 +生起、受信、送信、最終の 4 種類の NTP タイムスタンプを +順に示したものです。 +タイムスタンプの値は受け取ったままのものであり、さまざまな +データ平滑化や緩和アルゴリズムが処理する前のものです。 +.El +.It Ic statsdir Ar directory_path +統計ファイルを作るディレクトリのフルパスを指定します (下記参照)。 +このキーワードにより、ファイル世代集合のための +.Ic filegen +ファイル名のプレフィックスの変更 (これがなければ固定のままです) +が可能となります。 +これは、統計ログを扱うのに便利です。 +.It Xo Ic filegen Ar name +.Op Cm file Ar filename +.Op Cm type Ar typename +.Op Cm link \&| Cm nolink +.Op Cm enable \&| Cm disable +.Xc +ファイル世代集合 +.Ar name +の設定を変更します。 +ファイル世代集合は、サーバの活動期間を通じて +継続的に大きくなっていくファイルを扱う手段を提供します。 +サーバの統計はこのようなファイルの典型例です。 +ファイル世代集合は、実際のデータを格納するのに用いられる +ファイル集合へのアクセスを提供します。 +どんな時点でも、ファイル集合の高々 1 つの要素に対してだけ +書き込みが行われます。 +指定した type は、ファイル集合の新しい要素に、データがいつ、 +どのように出力されるのかを指定します。 +この方法で、 +.Xr ntpd 8 +の動作を妨げる危険を冒すことなく、 +現在使用されていないファイル集合の要素に格納されている情報を、 +管理操作のために使用できます (最も重要な操作: +新たな出力データ用の空きを作るために、これら要素を削除できます)。 +このコマンドは、リモートで動作している +.Xr ntpdc 8 +プログラムから送信可能であることに注意してください。 +.Bl -tag -width indent +.It Ar name +これは、統計レコードのタイプです。 +.Ic statistics +コマンドの項で示すものと同じです。 +.It Cm file Ar filename +これは、統計レコード用のファイル名です。 +集合のメンバのファイル名は、次の 3 つの要素の結合、 +すなわちプレフィックス、ファイル名、サフィックスからできています。 +.Bl -tag -width indent +.It prefix +ファイル名のパスであり、定数です。 +これは、 +.Ic filegen +オプションを使っても変更されることはありません。 +パスは、サーバが定義します。 +通常は、コンパイル時に定数として指定します。 +しかし、別のコマンドを使って、個々のファイル世代集合に対し +設定することも可能です。 +例えば、 +.Cm loopstats +および +.Cm peerstats +生成時に使われるプレフィックスは、 +前に説明した +.Ic statsdir +オプションを使用して設定可能です。 +.It filename +この文字列は、そのまま先に述べたプレフィックスの後ろに結びつきます +(間に +.Ql / +(スラッシュ) は入りません)。 +これは、 +.Ic filegen +ステートメントの +.Ar file +引数を使用することで変更できます。 +この中身には、 +.Ql \&.. +という要素を使用することはできません。 +それは、プレフィックスで示されたファイルシステムの階層外を +filename が参照してしまうのを防ぐためです。 +.It suffix +この部分は、ファイル集合の要素ひとつひとつを反映しています。 +これは、ファイル集合の種類に依存して生成されます。 +.El +.It Cm type Ar typename +ファイル世代集合は、タイプによって特徴づけされます。 +次のような種類がサポートされています: +.Bl -tag -width indent +.It none +このファイル集合はごく普通のファイル 1 つです。 +.It pid +.Xr ntpd 8 +サーバが生成されるごとに、ファイル集合の要素が 1 つ +使用されます。 +このタイプは、動作中にファイル集合のメンバに何の変更も +施すことはありませんが、異なる +.Xr ntpd 8 +サーバの生成に属しているファイルを分けるのに簡単な方法を +提供します。 +ファイル集合のメンバのファイル名は、プレフィックスと +filename +文字列をつないだものに +.Ql \&. +(ドット) を付け加え、 +.Xr ntpd 8 +サーバのプロセスのプロセス ID を 10 進数で表現したものを +付け加えたものです。 +.It day +1 日ごとにファイル世代集合の要素が 1 つ生成されます。 +1 日とは、UTC 時刻で 0:00 から 24:00 までの期間と定義されています。 +ファイル集合メンバのサフィックスには、 +.Qq \&. +(ドット) と日付を +.Ar YYYYMMdd +形式で表したものが含まれています。 +ここで、 +.Ar YYYY +は、4 桁で表した西暦年です (例えば、1992)。 +.Ar MM +は、2 桁の月です。 +.Ar dd +は、2 桁の日です。 +つまり、1992 年 12 月 10 日に書かれた情報は全て、 +.Sm off +.Pa Ar prefix / Ar filename / 19921210 +.Sm on +という名前のファイルに書かれることになります。 +.It week +どの要素も 1 年のうちのある週に関連するデータを含みます。 +ここで、週という用語は、年の始まりからの日数の 7 の商により +定義されます。 +このようなファイル世代集合の要素は、ファイル集合の +filename +のベースに、次のようなサフィックスをつけることで区別されます: +ドット、4 桁の西暦年、文字 +.Ql W , +2 桁の週番号です。 +例えば、1992 年 1 月 10 日からの情報は、サフィックス +.Pa .1992W1 +を持つファイルに出力されます。 +.It month +1 月に 1 つのファイル世代集合の要素が作成されます。 +ファイル名のサフィックスは、ドット、4 桁の西暦年、2 桁の月から +なります。 +.It year +1 年に 1 つのファイル世代集合の要素が作成されます。 +ファイル名のサフィックスは、ドットと 4 桁の西暦年からなります。 +.It age +この型のファイル世代集合は、サーバが 24 時間活動するごとに新たな要素に +変わります。 +ファイル名のサフィックスは、ドット、文字 +.Ql a , +8 桁の数から +なります。 +この数は、対応する 24 時間の始めからサーバが実行されている +秒数であるようになります。 +情報は、ファイル世代集合が +.Ic enable +に設定されているときのみ、その集合に +書き込まれます。 +出力は、 +.Ic disable +に指定することで抑制されます。 +.El +.It Cm link \&| Cm nolink +ファイル世代集合の現在の要素に、決まった名前でアクセスできると +便利です。 +この機能は、 +.Cm link +を指定することで有効になり、 +.Cm nolink +を使用すると無効になります。 +.Cm link +が指定されると、現在のファイル集合の要素から、 +サフィックスを持たないファイルへのハードリンクが作成されます。 +すでにその名前を持つファイルが存在し、そのファイルへのリンク数が +1 であるとき、そのファイル名を、ドット、文字 +.Ql C +そして +.Xr ntpd 8 +サーバプロセスのプロセス ID を後ろに付け加えたものに変更します。 +ファイルへのリンク数が 1 よりも大きい場合は、 +ファイルはアンリンクされます。 +これによって、現在のファイルは、一定の名前でアクセスできます。 +.It Cm enable \&| Cm disable +情報記録機能を有効または無効にします。 +.El +.El +.Sh アクセス制御機能のサポート +.Xr ntpd 8 +は、一般的な用途のアドレスおよびマスクベースの制限リストを +実装しています。 +この制限リストは、アドレスおよびマスクでソートされており、 +マッチするか否かをみるのに、この順序で探索が行われます。 +この結果、最後にマッチしたものが、入力パケットと +関連付けられた制限フラグを定義します。 +入力パケットの送り主のアドレスがマッチに使われます。 +32 ビットのアドレスと、制限用のエントリに関連付けられた +マスクとの AND をとり、それからエントリのアドレスと比較をして +マッチが行われます +(エントリのアドレスもマスクと AND が取られています)。 +さらなる情報や例については、 +.Qq "NTP の設定と NTP サブネットの設定に関する注意" +のページにあります。 +.Pp +アクセス制限機能は、オリジナルの NSFnet バックボーン +タイムサーバに対するアクセスポリシと一致するように実装されました。 +この機能は、望まないものや落ちてしまったリモートのタイムサーバが +自分のタイムサーバに影響を与えないようにするには有効かも +しれませんが、この機能を、標準の NTP 認証機能の代用になると +考えるべきではありません。 +送り元アドレスに基づいた制限というのは、やる気十分のクラッカー +には簡単に回避されてしまいます。 +.Ss 死の接吻パケット +もともと、サービスを拒否されたパケットは、単純に捨てられるだけで、 +統計カウンタを増やす以外に一切の動作を生じさせることはありません。 +クライアントに明示的に送信停止を要求し、またシステムオペレータに +メッセージを残すサーバメッセージなどの、より前向きな応答が +必要となることがときどきあります。 +この目的のために、特にパケット形式が作られました。 +それを称して、死の接吻 (kiss-of-death) パケットと言います。 +.Cm kod +フラグが設定されており、サービスが拒否されるか、クライアントが +限界値を越えたとき、サーバはパケットを返し、leap ビットを +非同期に設定し、階層を 0 に設定し、ASCII 文字列 "DENY" を +参照ソース識別子フィールドに設定します。 +.Cm kod +フラグが設定されていない場合、サーバは単にパケットを捨てるだけです。 +.Pp +死の接吻パケットを受信したクライアントまたは通信相手は、一連の +健全性チェックを行ない、セキュリティの露出 (exposure) を最小限に +押えます。 +このパケットが、そのサーバから受信した最初のパケットである場合、 +クライアントは、そのサーバの条件ではアクセスは拒否されたと想定します。 +そのクライアントは階層と参照識別子の通信相手変数とを更新し、 +通信相手フラッシュ変数のアクセス拒否 (テスト 4) ビットを設定します。 +このビットが設定されている場合、クライアントはそのサーバに対し +パケットを送信しません。 +そのサーバから受信した最初のパケットでなかった場合、クライアントは +サーバ側で限界値を越えたと想定します。 +しかし、通信相手変数は更新しません。 +いずれの場合でも、メッセージをシステムログに送出します。 +.Ss アクセス制御コマンド +.Bl -tag -width indent +.It Xo Ic restrict numeric_address +.Op Cm mask Ar numeric_mask +.Op Ar flag ... +.Xc +.Ar numeric_address +引数は、ホストあるいはネットワークのアドレスです。 +これは、ドットで 4 つの部分に区切られた形式で表現されます。 +.Cm mask +引数も、ドットで 4 つの部分に区切られた形式で表現されます。 +デフォルトは 255.255.255.255 です。 +これは、 +.Ar numeric_address +が個別のホストのアドレスとして扱われるものであることを +意味しています。 +デフォルトエントリ +(アドレス 0.0.0.0, マスク 0.0.0.0) +は常に含まれており、既定のソートアルゴリズムでは、 +常にリストの先頭のエントリとなります。 +.Ar numeric_address +は、通常ドットで 4 つの部分に区切られた形式で与えられますが、 +mask オプションを伴わないテキスト文字列 +.Ql default +は、 +デフォルトエントリを示すために使用できることに注意して下さい。 +現在の実装では、 +.Cm flag +は常にアクセスを制限します。 +すなわち、フラグを持たないエントリは、サーバへの自由なアクセスが +与えられることを示すことになります。 +フラグは直交的ではなく、より制限の強いフラグは、 +より制限の弱いフラグを冗長にすることもしばしばです。 +フラグは、一般に 2 つのカテゴリに分類されます。 +時間サービスを制限するものと、情報問い合わせやサーバを +実行時に再設定しようとするのを制限するものです。 +次のフラグのうち、1 つ以上を指定できます: +.Bl -tag -width indent +.It Cm kod +アクセスが拒否された場合、死の接吻パケットを送信します。 +.It Cm ignore +このエントリにマッチするホストからのすべてのパケットを無視します。 +このフラグが指定されると、問い合わせも時間サーバへのポーリングも +応答されなくなります。 +.It Cm noquery +NTP のモード 6 と 7 のすべてのパケット (つまり情報問い合わせと +設定要求) を無視します。 +時間サービスは影響を受けません。 +.It Cm nomodify +サーバの状態を変えようとするモード 6 と 7 のすべてのパケット +(つまり実行時再設定) を無視します。 +情報を返す問い合わせは許されます。 +.It Cm notrap +マッチしたホストにモード 6 の制御メッセージのトラップサービスを提供 +することを拒否します。 +トラップサービスは、モード 6 の制御メッセージプロトコルの +サブシステムで、リモートのイベントロギングプログラムによる +使用が意図されています。 +.It Cm lowpriotrap +マッチしたホストによるトラップセットを低い優先度として宣言します。 +1 つのサーバが保持し得るトラップの数は制限されています +(現在の制限値は 3 です)。 +トラップは通常、先入れ先出しベースで割り当てられ、後から来た +トラップ要求はサービスを拒否されます。 +このフラグは、後から到着する要求のための通常優先度のトラップが +低い優先度のトラップを上書きできるようにすることで、 +割り当てアルゴリズムを変更します。 +.It Cm noserve +モード 6 と 7 以外のすべての NTP パケットを無視します。 +基本的には、時間サービスは拒否されますが、それでも +問い合わせは許されています。 +.It Cm nopeer +ポーリングしているホストに、状態を持たない (stateless) 時間サービス +を与えますが、通信相手用のメモリ資源を割り当てません。 +割り当てておけば、将来、同期の相手として有用になるかも +しれないとしてもです。 +.It Cm notrust +これらのホストは同期源としては決して使用されませんが、その他の点では +普通に扱われます。 +.It Cm limited +これらのホストは、同一のネットからのクライアント数の制限の対象と +なります。 +ここで言うネットとは、 (class A, class B, class C 等の) ネットの +IP 表記のことです。 +サーバに見えるホストで、過去 +.Va client_limit_period +秒の間アクティブであった、最初の +.Va client_limit +個のホストのみが、受け付けられます。 +同一のネットの他のクライアントからの要求は拒否されます。 +時間要求パケットのみが考慮されます。 +.Xr ntpq 8 +および +.Xr ntpdc 8 +プログラムが送信した問い合わせパケットは、この制限の影響は +受けません。 +クライアントの履歴は、 +.Xr ntpd 8 +のモニタリング機能を用いて保持されます。 +そのため、 +.Cm limited +フラグのついたアクセス制限のエントリがあれば、 +モニタリング機能は常にアクティブです。 +.It Cm ntpport +実質的には、制限フラグと言うより、マッチのアルゴリズムを +変更するものです。 +このフラグが存在すると、パケットのソースポートが標準の NTP の +UDP ポート (123) である場合にのみ、制限エントリにマッチします。 +.Cm ntpport +と +.Cm non-ntpport +のどちらも指定できます。 +.Cm ntpport +の方が限定的なものであると考えられ、リストの後ろの方に +ソートされます。 +.El +.Pp +デフォルトの制限リストエントリは、フラグ +.Cm ignore , +.Cm interface , +.Cm ntpport +を持ち、ローカルホストの +インタフェースアドレスそれぞれに対応するもので、 +サーバが自分自身の時間に同期しないようにするために、 +スタートアップ時にテーブルに挿入されます。 +デフォルトエントリは常に存在しています。 +さもなくば無設定になってしまう場合であってもです。 +他で設定されていない場合は、どのフラグもデフォルトエントリに +関連づけられません (すなわち、あなた自身の NTP サーバ以外の +すべてが無制限になります)。 +.It Ic clientlimit Ar limit +.Va client_limit +変数を設定します。 +この変数は、同時にアクセス制御されるクライアント数を制限します。 +この変数のデフォルト値は 3 です。 +.It Ic clientperiod Ar period +.Va client_limit_period +変数を設定します。 +この変数は、クライアントが非アクティブであるとみなされ、 +そのために、もはや制限されるクライアント数に数えられなくなるまでの秒数を +指定します。 +この変数のデフォルト値は 3600 秒です。 +.El +.Sh 参照クロック機能のサポート +NTP バージョン 4 デーモンは、40 種類ほどの、電波、衛星、 +モデムを参照する +時計をサポートします。 +さらに、バックアップ用およびクロック源が他に利用できなく +なったときのために、特殊な疑似時計をサポートしています。 +個別のデバイスドライバやオプションに関する詳細な説明は、 +.Qq 参照クロックドライバ +のページ (これは、 +.Pa /usr/share/doc/ntp +にある HTML 文書の一部として利用可能です) にあります。 +さらなる情報は、 +.Qq "参照クロックドライバのデバッグのヒント" +や、 +.Qq "参照クロックドライバの書き方" +など、そこからリンクされたページにあります。 +それに加え、 +PPS 信号のサポートについては、 +.Qq "1 秒間隔のパルス (PPS) 信号のインタフェース" +のページの説明が利用できます。 +ドライバの多くは、特殊な回線規約 / ストリームモジュールを +サポートしています。 +このモジュールを用いると、時刻の正確性が飛躍的に向上します。 +これに関しては、 +.Qq "回線規約とストリームドライバ" +のページに説明があります。 +.Pp +参照クロックは、一般に (常にではありませんが) +無線時刻コード受信機です。 +この無線時刻コード受信機は、 +カナダの NRC や合州国の NIST や USNO が提供しているサービスの +ような、標準時刻の供給源に同期します。 +コンピュータと時刻コード受信機との間のインタフェースは +デバイス依存ですが、シリアルポートを使うのが普通です。 +それぞれの参照クロックに特有のデバイスドライバを選択し、 +そのディストリビューションでコンパイルする必要がありますが、 +もっとも標準の無線、衛星、そしてモデム時計はデフォルトで +含まれています。 +その時計用のドライバがコンパイルされていないか、 +ハードウェアのポートが +適切に設定されていないときに参照クロックを設定しようとすると、 +システムのログファイルに激しい警告がでますが、その他の障害が +起こることはありません。 +.Pp +設定の観点から見ると、 +.Xr ntpd 8 +は、参照クロックを、普通の +.Tn NTP +の交信相手にするのとできる限り同じような方法で扱います。 +参照クロックは、通常の NTP 通信相手と区別するため、 +文法的には正しいが、無効な IP アドレスを使って認識されます。 +参照クロックのアドレスは、 +.Sm off +.Li 127.127. Ar t . Ar u +.Sm on +の形式です。 +ここで、 +.Ar t +は時計の種類を示した整数で、 +.Ar u +はユニット番号 (範囲は 0-3) を示しています。 +これは、過剰に見えるかもしれませんが、 +実のところ、同種類の参照クロックを複数設定するのには時として +便利です。 +この場合、ユニット番号は一意のものであることが必要です。 +.Pp +.Ic server +コマンドを使用して参照クロックを設定します。 +ここで、このコマンドの +.Ar address +引数は参照クロックのアドレスです。 +.Cm key , +.Cm version , +.Cm ttl +オプションは、参照クロックのサポートでは使用しません。 +参照クロックをサポートするために、 +.Cm mode +オプションが追加されています。 +このオプションについては後で述べます。 +.Cm prefer +オプションは、サーバに、他の参照クロックや通信相手よりも +いくらか熱心に、ある参照クロックを大切に扱わせるように促すのに +有効です。 +このオプションに関してのさらなる情報については、 +.Qq "緩和ルールと prefer キーワード" +のページにあります。 +.Cm minpoll +と +.Cm maxpoll +オプションは、選択されたクロックドライバに +対してのみ意味があります。 +さらなる情報については、別個のクロックドライバのドキュメントページを +参照してください。 +.Pp +.Ic fudge +コマンドは、クロックドライバ固有の追加情報を提供するのに使用します。 +通常は、 +.Ic server +コマンドの直後に使用されます。 +.Ar address +引数はクロックのアドレスを指定します。 +.Cm refid +と +.Cm stratum +は、そのデバイスのデフォルト値を上書きするために使用することが +できます。 +2 個のオプションのデバイス依存の時刻オフセットと 4 個のフラグがあり、 +それらも同様に +.Ic fudge +コマンドに含めることが可能です。 +.Pp +参照クロックの階層 (stratum) 番号は、デフォルトで 0 です。 +.Xr ntpd 8 +デーモンは各通信相手の階層に 1 を足すので、 +プライマリサーバは、通常、外部階層 1 を示します。 +バックアップを巧みに運用するため、 +参照クロックの階層を 0 より大きい数に指定するのが有益な +ことが多いです。 +この目的のために、 +.Cm stratum +オプションを使用します。 +参照クロックと、1 秒間隔パルス (PPS) 調整信号の両方を +含む場合、参照クロック識別子をデフォルト値以外の、ドライバに +依存したものに指定するのが有効です。 +この目的のために、 +.Cm refid +オプションを使用します。 +記述がない限り、これらのオプションは、すべての時計 +ドライバに適用されます。 +.Ss 参照クロックのコマンド +.Bl -tag -width indent +.It Xo Ic server +.Sm off +.Li 127.127. Ar t . Ar u +.Sm on +.Op Cm prefer +.Op Cm mode Ar int +.Op Cm minpoll Ar int +.Op Cm maxpoll Ar int +.Xc +このコマンドは、参照クロックを特殊な方法で設定するのに +使用できます。 +オプションは次のように解釈されます: +.Bl -tag -width indent +.It Cm prefer +その参照クロックを優先的なものとして印をつけます。 +その他の点では対等であれば、正しく動作しているホストの中から +この参照クロックが同期をとる対象として選ばれます。 +さらなる情報については、 +.Qq "緩和ルールと prefer キーワード" +のページを参照してください。 +.It Cm mode Ar int +モード番号を指定します。 +この番号は、デバイス特有のやり方で解釈されます。 +例えば、モード番号は、ACTS ドライバでは +ダイヤル用のプロトコルを選択しますが、parse ドライバでは +デバイスのサブタイプを指定します。 +.It Cm minpoll Ar int +.It Cm maxpoll Ar int +これらのオプションは、参照クロックのメッセージに対するポーリングの +最小間隔および最大間隔を 2 の指数で表した秒数で指定します。 +直接接続されている参照クロックの大部分では、 +.Cm minpoll +および +.Cm maxpoll +は +デフォルトで 6 (64 秒) です。 +モデムの参照クロックでは、 +.Cm minpoll +はデフォルトで 10 (17.1 秒) で、 +.Cm maxpoll +はデフォルトで 14 (4.5 時間) です。 +とりうる範囲は、4 (16 秒) から 17 (36.4 時間) までです。 +.El +.It Xo Ic fudge +.Sm off +.Li 127.127. Ar t . Ar u +.Sm on +.Op Cm time1 Ar sec +.Op Cm time2 Ar sec +.Op Cm stratum Ar int +.Op Cm refid Ar string +.Op Cm mode Ar int +.Op Cm flag1 Cm 0 \&| Cm 1 +.Op Cm flag2 Cm 0 \&| Cm 1 +.Op Cm flag3 Cm 0 \&| Cm 1 +.Op Cm flag4 Cm 0 \&| Cm 1 +.Xc +このコマンドは、参照クロックを特殊な方法で設定するのに使用できます。 +このコマンドは、 +ドライバを設定するコマンドである +.Ic server +コマンドの直後に置かれる必要があります。 +実行中に +.Xr ntpdc 8 +プログラムを使用して、これと同じことができるということに注意してください。 +オプションは、次のように解釈されます: +.Bl -tag -width indent +.It Cm time1 Ar sec +ドライバが生成する時間のオフセットに追加される、秒単位で、固定小数点の +10 進数の定数を指定します。 +この定数は、例えば正確な PPS 信号のような外部の標準時間に +合わせるために、特定の時計のわずかの時間オフセットを調節する +補正用定数として使われます。 +また、この定数は、シリアルポートの遅延、 +オペレーティングシステムの遅延や、ケーブルの長さの違い、 +受信機内部の遅延に起因する、システム的な誤差や +バイアスを補正する方法も提供します。 +指定されたオフセット値は、伝播遅延に加えて、 +他の手段、例えば内部ディップスイッチで提供されるものです。 +個別のシステムやドライバに対する補正は使用できますが、 +大まかな補正に関しては、ドライバのドキュメントページに +記載されています。 +注意: 2個以上のラジオ時計や PPS 信号がサポートされているときの +校正を円滑に行なうために、特別の校正機能が提供されています。 +.Sx その他のオプション +のページで説明している +.Ic enable +コマンドの引数の形式を取り、 +.Qq "参照クロックドライバ" +のページに記載されるように動作します。 +.It Cm time2 Ar secs +秒単位の、固定小数点 10 進数を指定します。 +これは、ドライバ依存の方法で解釈されます。 +.Qo +参照クロック用ドライバ +.Qc +ページの各ドライバの説明を参照してください。 +.It Cm stratum Ar int +ドライバに割り当てられた階層番号を指定します。 +この番号は、0 から 15 までの整数値です。 +この番号は、最初にドライバ自身が割り当てていた +階層番号 (通常は 0) を上書きします。 +.It Cm refid Ar string +1 文字から 4 文字までの ASCII 文字列を指定します。 +この文字列は、ドライバが使用する参照識別子を定義しています。 +この文字列は、最初にドライバ自身が割り当てていた、 +デフォルトの識別子を上書きします。 +.It Cm mode Ar int +モード番号を指定します。 +この番号は、デバイスごとに固有のやり方で解釈されます。 +例えば、ACTS ドライバではダイヤル用プロトコルを選択しますが、 +parse ドライバではデバイスのサブタイプを選択します。 +.It Cm flag1 Cm 0 \&| Cm 1 +.It Cm flag2 Cm 0 \&| Cm 1 +.It Cm flag3 Cm 0 \&| Cm 1 +.It Cm flag4 Cm 0 \&| Cm 1 +これら 4 つのフラグは時計ドライバをカスタマイズするのに +使用されます。 +これらの値の解釈や、すべてが使用されるか否かについては、 +個々の時計ドライバに依存した機能です。 +しかし慣習としては、 +.Cm flag4 +は、モニタ対象データを、 +.Ic filegen +コマンドで設定した +.Cm clockstats +ファイルへ記録 +する機能を有効にするために使用します。 +.Ic filegen +コマンドに関するさらなる情報については、 +.Sx モニタ機能のオプション +セクションを参照してください。 +.El +.El +.Sh その他のオプション +.Bl -tag -width indent +.It Ic broadcastdelay Ar seconds +ブロードキャストおよびマルチキャストモードでは、ローカルサーバと +リモートサーバとの間の遅延を決定するための特殊な補正が必要です。 +通常、これは、クライアントサーバ間の最初の +プロトコルのやりとりで自動的に行われています。 +場合によっては、例えばネットワークやサーバのアクセス制御によって、 +この補正の手続きが失敗してしまうこともあります。 +このコマンドは、こうした状況の時に使用されるデフォルトの遅延を +指定します。 +典型的には (イーサネットでは)、 +0.003 から 0.007 秒までが適切です。 +このコマンドを使用しない場合のデフォルト値は、0.004 秒です。 +.It Ic driftfile Ar driftfile +このコマンドは、ローカルの時計発振子の周波数オフセットを記録するため +のファイル名を指定します。 +このファイルが存在すると、起動時に読み込まれ、 +初期周波数オフセットを指定するのに使用されます。 +その後 1 時間に 1 度、 +デーモンはその時点での周波数オフセットを計算し、 +その値でファイルを更新します。 +ファイルが存在しないか、このコマンドが与えられていない場合、 +初期周波数オフセットは 0 と仮定されます。 +この場合、周波数が安定し、 +残留時間誤差が収まるのに数時間かかる場合があります。 +.Pp +ファイルのフォーマットは、浮動小数点数 1 個だけを含む 1 行から +なります。 +この浮動小数点数は、100 万分の 1 (PPM) 単位での周波数オフセット値を +記録しています。 +このファイルの更新は、 +最初に現在の変動値を一時ファイルに書き込み、それから +ファイルの名前を変更して古いファイルと置換えることにより行ないます。 +このことは、 +.Xr ntpd 8 +が、ドリフトファイルのあるディレクトリに対し書き込み権を持っている +必要があることと、シンボリックであろうとなかろうと、 +ファイルシステムリンクは避けるべきことを意味しています。 +.It Xo Ic enable +.Oo +.Cm auth | Cm bclient | +.Cm calibrate | Cm kernel | +.Cm monitor | Cm ntp | +.Cm stats +.Oc +.Xc +.It Xo Ic disable +.Oo +.Cm auth | Cm bclient | +.Cm calibrate | Cm kernel | +.Cm monitor | Cm ntp | +.Cm stats +.Oc +.Xc +さまざまなサーバオプションを有効にしたり無効にしたりする +手段を提供します。 +指定されていないフラグには影響がありません。 +これらのフラグは全て +.Xr ntpdc 8 +ユーティリティプログラムを使用してリモートに制御できるという +ことに注意してください。 +フラグの説明は次の通りです。 +.Bl -tag -width indent +.It Cm bclient +有効の場合、 +.Cm broadcastclient +コマンドと同一の効果があります。 +デフォルトでは、このフラグは +.Ic disable +です。 +.It Cm calibrate +校正機能を有効にします。 +この機能は、クロックドライバそれぞれの +.Ic time1 +の値を補正し、現在選択している時刻源または、カーネル学習信号と +同じオフセットを示すようにします。 +さらなる情報については、 +.Qq "参照クロックドライバ" +のページを参照してください。 +このフラグのデフォルトは +.Ic disable +です。 +.It Cm kernel +.Xr adjtime 2 +システムコールに対し、正確に計時できる +カーネルサポートが実装されていれば、これを有効にします。 +もともと、NTP デーモンが +コンパイルされるときに、このルーチンがサポートされるかどうかは +自動的に検出されるので、ユーザがこのフラグのことを気にする +必要はありません。 +このフラグは本来、カーネルの開発中にこのサポートを +無効にできるようにするために提供されていました。 +このフラグのデフォルトは、 +.Ic enable +です。 +.It Cm monitor +モニタ用機能を有効にします。 +さらなる情報が必要なら、 +.Xr ntpdc 8 +プログラムの +.Ic monlist +コマンドの項を参照してください。 +このフラグのデフォルトは、 +.Ic enable +です。 +.It Cm ntp +サーバが、NTP を用いてローカル時計を調整できるようにします。 +無効になっている場合は、 +ローカル時計は、内蔵の時刻と周波数オフセットで +自分勝手に動きます。 +このフラグが有用なのは、 +ローカル時計が別のデバイスやプロトコルで制御され、 +他のクライアント用に同期を提供するためだけに NTP を使う場合です。 +この場合、ローカル時計のドライバをこの機能や、 +さらに、誤差予測や閏秒表示子 (leap-indicators) を提供する +ために使用できます。 +さらなる情報が必要なら、 +.Qq 参照時間ドライバ +のページを参照してください。 +このフラグのデフォルトは、 +.Ic enable +です。 +.It Cm stats +統計機能を有効にします。 +さらなる情報が必要なら、 +.Qq モニタ用オプション +のセクションを参照してください。 +このフラグのデフォルトは、 +.Ic enable +です。 +.El +.It Ic logconfig Ar configkeyword +このコマンドは、システムの +.Xr syslog 3 +機能や、その代用の +.Ic logfile +ログファイルに書かれる出力の量と種類を制御します。 +デフォルトでは、すべての出力がオンです。 +.Ar configkeyword +キーワードはすべて、 +.Ql = , +.Ql + , +.Ql - +を先頭につけることが +できます。 +ここで、 +.Ql = +は、 +.Xr syslog 3 +の優先度マスクを設定し、 +.Ql + +はメッセージを追加し、 +.Ql - +はメッセージを削除します。 +.Xr syslog 3 +メッセージは、4 つのクラス +.Po +.Cm clock , +.Cm peer , +.Cm sys , +.Cm sync +.Pc +で制御できます。 +これらのクラスの内部で、 +4 種のメッセージが制御できます。 +情報メッセージ +.Pq Cm info +は設定情報を制御します。 +イベントメッセージ +.Pq Cm events +はイベントのロギング +(到達可能性、同期、アラーム状況) を制御します。 +統計情報の出力は、 +.Cm statistics +キーワードを使用して制御されます。 +最後のメッセージグループは、ステータスメッセージです。 +これは主に、同期のステータスを表します。 +設定キーワードはメッセージクラスとイベントクラスとを +そのまま結びつけた形をしています。 +プレフィックス +.Cm all +は、メッセージクラスの代わりに使用できます。 +メッセージクラスの後ろに、キーワード +.Cm all +を続けることができ、 +それによって、それぞれのメッセージクラスのメッセージをすべて +有効 / 無効にできます。 +このため、最低限のログの設定は次のようになるでしょう: +.Bd -literal +logconfig =syncstatus +sysevents +.Ed +.Pp +この設定では、単に +.Xr ntpd 8 +の同期のステータスと重要なシステムイベントをリストします。 +単純な参照サーバに対しては、 +次のような最低限のメッセージの設定を行うと有益でしょう: +.Bd -literal +logconfig =syncall +clockall +.Ed +.Pp +この設定では、時計の情報すべてと同期情報をリストします。 +他のイベントや通信相手に関するメッセージ、そしてシステムの +イベントなどは抑止されます。 +.It Ic logfile Ar logfile +このコマンドは、デフォルトのシステムの +.Xr syslog 3 +機能の代わりに使用される、代用のログファイルの在処を指定します。 +.It Ic setvar Ar variable Op Cm default +このコマンドは、システム変数を追加します。 +これらの変数は、アクセスポリシなどの情報を追加して +配布するために使用できます。 +.Sm off +.Va name = Ar value +.Sm on +の形式の変数に +.Cm default +キーワードが続いている場合、 +その変数は、デフォルトのシステム変数の一部として +リストされるようになります +.Po +.Xr ntpq 8 +.Ic rv +コマンドを参照。 +.Pc +こうした変数の追加は、情報を与える目的だけを果たします。 +リストされるということ以外に、プロトコルに関係しません。 +既知のプロトコル変数は常に、 +.Ic setvar +の機構により定義されたいかなる変数よりも優先されます。 +同じグループのすべての変数名を含んだ 3 つの特別な変数があります。 +.Va sys_var_list +は、すべてのシステム変数名を保持しています。 +.Va peer_var_list +は、すべての通信相手の変数名を保持しています。 +そして、 +.Va clock_var_list +は、参照クロックの変数名を保持しています。 +.It Xo Ic tinker +.Oo +.Cm step Ar step | +.Cm panic Ar panic | +.Cm dispersion Ar dispersion | +.Cm stepout Ar stepout | +.Cm minpoll Ar minpoll | +.Cm allan Ar allan | +.Cm huffpuff Ar huffpuff +.Oc +.Xc +このコマンドは、極めて例外的な状況下で、 +いくつかのシステム変数を変更するために使用します。 +設定ファイル中で、 +このコマンドは、他の設定オプションのどれよりも前に置く必要があります。 +これらの変数のデフォルト値は、 +ネットワーク速度と信頼性の予測値について、 +幅広い範囲で、注意深く最適化させてあります。 +一般に、これら変数は簡単に予測できない込み入った方法で +相互作用を及ぼし合います。 +また、変数の組合せによっては、とんでもない動作になってしまう +可能性があります。 +ごくまれにですが、デフォルトの値を変更する必要がある場合が +ありますが、いずれにしても、 +つまみを回したいという誘惑に抵抗できない輩はいるもので、 +このコマンドはそういう人達のためのものです。 +特に強調しておきますが、このつまみを回すのは各自の勝手で +やることで、サポートグループに一切の助けを求めることはできません。 +.Pp +全ての引数は、浮動小数点数の秒、または秒分の秒です。 +.Ar minpoll +引数は、秒を2のベキ整数で表したものです。 +この変数は次のように動作します。 +.Bl -tag -width indent +.It Cm step Ar step +この引数は、時刻設定の閾値 (通常 0.128秒) の +新しい値になります。 +0 に設定した場合、時刻設定 (step) による補正は生じません。 +一般には、時刻設定を避ける目的のためには、時刻設定閾値は +触らずに、 +.Fl x +コマンド行オプションを使うのが普通です。 +.It Cm panic Ar panic +この引数は、パニック閾値 (通常 1000 秒) の新しい値になります。 +0 に設定した場合、パニック健全性チェックは無効にされ、 +時刻オフセットとして全ての値が受理されます。 +.It Cm dispersion Ar dispersion +この引数は、分散値増加率 (通常、.000015) の新しい値になります。 +.It Cm stepout Ar stepout +この引数は、ワッチドッグタイムアウト (通常 900 秒) +の新しい値になります。 +.It Cm minpoll Ar minpoll +この引数は、マルチキャストクライアントアソシエーション、 +メニーキャストクライアントアソシエーション、 +対称パッシブモードアソシエーションを設定するときに用いる +最小ポーリング間隔の新しい値になります。 +デフォルトの値は 6 (64秒) で、下限は 4 (16秒) です。 +.It Cm allan Ar allan +この引数は、最小 Allan 遮断値の新しい値になります。 +この値は PLL/FLL 時刻学習アルゴリズムのパラメータの 1 つです。 +デフォルトは 1024 秒で、この値が下限でもあります。 +.It Cm huffpuff Ar huffpuff +この引数は現在実験的に提供される +スーハーフィルタ (huff-n'-puff filter) のスパンの新しい値になります。 +この値は、このアルゴリズムが最小遅延を求める時間間隔のうち +最も新しいものを決定します。 +下限は 900 秒 (15分) ですが、よりまともな値は 7200 (2時間) です。 +このコマンドが与えられるまでこのフィルタは有効になっていませんので、 +デフォルトはありません。 +.El +.It Xo Ic trap Ar host_address +.Op Cm port Ar port_number +.Op Cm interface Ar interface_address +.Xc +このコマンドは、指定したホストアドレス、ポート番号に +トラップ受信器を設定します。 +このトラップ受信器は、指定したローカルインタフェースアドレスを +持つメッセージを送信します。 +ポート番号を指定しない場合、値 18447 が使用されます。 +インタフェースアドレスを指定しない場合、 +そのメッセージが送信されたローカルインタフェースを +ソースアドレスに持つメッセージが送信されます。 +マルチホームを持つホストでは、経路情報の +変更にともない、時により使用するインタフェースが変わることに +注意してください。 +.Pp +トラップ受信器はイベントメッセージや、 +サーバからのその他の情報を、ログファイルにログを取ります。 +このような監視プログラムは、自分自身のトラップを動的に要求することも +ありますが、トラップ受信器の設定により、サーバの起動後に +失われるメッセージはないことは保証されます。 +.El +.Sh 関連ファイル +.Bl -tag -width /etc/ntp.drift -compact +.It Pa /etc/ntp.conf +デフォルトの設定ファイル名 +.It Pa ntp.keys +MD5 秘密鍵 +.It Pa ntpkey +RSA 秘密鍵 +.It Pa ntpkey_ Ns Ar host +RSA 公開鍵 +.It Pa ntp_dh +Diffie-Hellman 合意パラメータ +.El +.Sh 関連項目 +.Xr ntpd 8 , +.Xr ntpdc 8 , +.Xr ntpq 8 +.Pp +提供されているマニュアルページに加えて、理解しやすいドキュメントが +world wide web 上で入手可能です。 +.Li http://www.ntp.org/ +から入手できます。 +このドキュメントのスナップショットが HTML フォーマットで +.Pa /usr/share/doc/ntp +ディレクトリ内にあります。 +.Rs +.%A David L. Mills +.%T Network Time Protocol (Version 3) +.%O RFC1305 +.Re +.Sh バグ +構文チェックに好き嫌いはありません。 +なんでも喜んで食べます。 +オプションやモードの、ばかげた組合せやお笑いの組合せさえ +検出しないこともあります。 +.Pp +.Pa ntpkey_ Ns Ar host +は実際にはデジタル認証です。 +セキュリティディレクトリサービスが幅広く利用可能に +なった際には、そこから取得すべきです。 diff --git a/documentation/manual-pages/ja/man5/ntp.keys.5 b/documentation/manual-pages/ja/man5/ntp.keys.5 new file mode 100644 index 0000000000..29d2cf2974 --- /dev/null +++ b/documentation/manual-pages/ja/man5/ntp.keys.5 @@ -0,0 +1,111 @@ +.\" +.\" %FreeBSD: src/usr.sbin/ntp/doc/ntp.keys.5,v 1.6 2002/12/27 12:15:38 schweikh Exp % +.\" $FreeBSD$ +.Dd January 13, 2000 +.\" WORD: key file 鍵ファイル +.\" WORD: key number 鍵番号 +.Dt NTP.KEYS 5 +.Os +.Sh 名称 +.Nm ntp.keys +.Nd NTP デーモンの鍵ファイルフォーマット +.Sh 書式 +.Nm /etc/ntp.keys +.Sh 解説 +以下は NTP 鍵ファイルの形式の解説です。 +これらのファイルの使用に関する解説は、 +.Xr ntp.conf 5 +マニュアルページの +.Qq 認証機能のサポート +節を参照してください。 +.Pp +DES の場合、 +鍵は 56 ビット長で、型によっては各バイトにパリティがつきます。MD5 +の場合、鍵は 64 ビット (8 バイト) です。 +.Xr ntpd 8 +は、 +コマンドラインオプション +.Fl k +もしくは設定ファイル中の +.Ar keys +文を使用して指定されるファイルから鍵を読み込みます。鍵番号 0 は NTP +標準によって (56 ビットの 0 として) 決定されており変更できませんが、 +1 から 15 の鍵番号の内の 1 つ以上が鍵ファイル中で任意に +セットできます。 +.Pp +鍵ファイルは、設定ファイルと同様のコメント記述法 +を使用しています。鍵のエントリは +.Pp +.D1 Ar keyno type key +.Pp +の形式の固定されたフォーマットを使用します。ここで、 +.Ar keyno +は正の整数、 +.Ar type +は鍵の形式を定義する単一文字、 +.Ar key +は鍵それ自身です。 +.Pp +.Ar key +は、 +.Ar type +文字による制御で、4 つの異なるフォーマットの +うちの 1 つで与えられます。4 つの鍵の型とそれに対応するフォーマットは、 +次にあげるとおりです。 +.Bl -tag -width X +.It Li S +鍵は、 DES 仕様に定められたフォーマットの 64 ビットの +16 進数で、各オクテットの上位 7 ビットが使用された 56 ビット +鍵です。各オクテットの下位 1 ビットは、オクテットを奇数パリティに +保つように与えられます。先頭の 0 は省略できません (すなわち、鍵は +正確に 16 桁の 16 進数である必要があります)。また、奇数パリティが保 +たれねばなりません。それゆえ、0 鍵は、標準フォーマットで、 +.Ql 0101010101010101 +として与えられます。 +.It Li N +鍵は、NTP 標準で定められたフォーマットの 64 ビットの 16進数です。 +これは、各オクテットを 1 ビット右 rotate して、パリティビットが +オクテットの上位ビットになったことを除いては、DES フォーマット +と同じです。先頭の 0 は省略できず、奇数パリティが保たれねばなりません。 +0 鍵は、 NTP フォーマットで、 +.Ar 8080808080808080 +のように指定されます。 +.It Li A +鍵は 1 から 8 文字の ASCII 文字列です。鍵は、文字列中の各文字の +ASCII の下位 7 ビットを使用して構成されます。56 ビット幅の +鍵を作るために、 +.Ux +パスワードから暗号化鍵を作るのと +同じ方法で、必要なら 0 が右端に付加されます。 +.It Li M +鍵は 1 から 8 文字の ASCII 文字列で、MD5 の認証方式を +使用しています。鍵と認証方式 (DES または MD5) の両方が、同じ鍵 +番号を共有する一組の通信相手の間で同一である必要があることに +注意してください。 +.El +.Pp +.Xr ntpq 8 +と +.Xr ntpdc 8 +プログラムで使用される鍵は、 +プログラムによって要求されるパスワードに対してチェックされ、 +また手動で入力されるため、ASCII 形式でこれらの鍵を指定することは +通常は適切です。 +.Sh 関連ファイル +.Bl -tag -width /etc/ntp.drift -compact +.It Pa /etc/ntp.keys +デフォルトの設定ファイル名 +.El +.Sh 関連項目 +.Xr ntp.conf 5 , +.Xr ntpd 8 , +.Xr ntpdate 8 , +.Xr ntpdc 8 +.Sh バグ +.Xr ntpd 8 +はかなり大きくなってしまいました。巨大とは言いませんが、 +ワークステーションで実行される高優先度のデーモンとして +望ましい大きさを超えてしまいました。 +特に、高い階層 (stratum) のワークステーションよりは、 +高負荷のプライマリサーバにあわせて、 +かさばる凝った特徴の多くが設計されているからです。 diff --git a/documentation/manual-pages/ja/man5/opieaccess.5 b/documentation/manual-pages/ja/man5/opieaccess.5 new file mode 100644 index 0000000000..6a6d8bd7fc --- /dev/null +++ b/documentation/manual-pages/ja/man5/opieaccess.5 @@ -0,0 +1,96 @@ +.\" opieaccess.5: Manual page describing the /etc/opieaccess file. +.\" +.\" Portions of this software are Copyright 1995 by Randall Atkinson and Dan +.\" McDonald, All Rights Reserved. All Rights under this copyright are assigned +.\" to the U.S. Naval Research Laboratory (NRL). The NRL Copyright Notice and +.\" License Agreement applies to this software. +.\" +.\" History: +.\" +.\" Modified by cmetz for OPIE 2.4. Fixed "0PIE" typo. +.\" Written at NRL for OPIE 2.0. +.\" +.ll 6i +.pl 10.5i +.\" @(#)opieaccess.5 2.0 (NRL) 1/10/95 +.\" %FreeBSD: src/contrib/opie/opieaccess.5,v 1.3 2002/03/21 23:42:52 markm Exp % +.\" $FreeBSD$ +.\" WORD: passive attack 受動攻撃 +.\" +.lt 6.0i +.TH OPIEACCESS 5 "January 10, 1995" +.AT 3 +.SH 名称 +/etc/opieaccess \- 信頼できるネットワークの OPIE(One-time Password In Everything) データベース + +.SH 解説 +.I opieaccess +ファイルは、受動攻撃に対するセキュリティに関して、そのシステム +が信頼しても構わないと考えられるネットワークのリストを含みます。 +ここで、信頼できるネットワークからのユーザは、OPIE 応答を用いてログインする +ことができますが、必ずしも OPIE 応答を使う必要はありません。一方、 +信頼できないネットワークからのユーザは、必ず OPIE 応答を使う +(これがデフォルトの動作) 必要があります。 +"内側の" ネットワークに関しては、そのサイトに対して OPIE の使用を強制 +しませんし、また、OPIE を使って自分のパスワードを保護するかどうかを +ユーザが選ぶことができるので、この信頼関係により、サイトがよりスムーズに +OPIE に移行することができます。 +.sp +OPIE システムは受動攻撃からユーザを保護するものですが、 +.I opeiaccess +ファイルで実装された信頼という全概念は、 +それと同様の受動攻撃に対して +システムのバックアップをオープンにしてしまいます。 +従って、この信頼という概念は重大なセキュリティホールとなります。 +本バージョンの OPIE にこのような +.I opieaccess +が存在するのは、ひとえに、OPIE を使いたくないユーザのせいで自分の +アカウントを破られたくないユーザが OPIE を使えなくなるよりも、 +このようなユーザが OPIE を使えるようにすることの方がよいと信じているためです。 +どのような環境であれ、 +trust 機能を活かした本バージョンの OPIE は移行のためのツールと考えるべきで、 +永久に使い続けるべきではありません。 +移行のためのツールとして使う必要がなくなった時点で、 +.I opieaccess +ファイルをサポートしないバージョンの OPIE を構築し、OPIE システムの +裏をかくための手段としてこのファイルを使おうとする攻撃者にチャンスを +与えないようにする必要があります。 +.sp +.I opieaccess +は、以下のように空白で区切られた 3 つのフィールドからなる行から構成されます +(区切りとしてタブも正しく解釈されますが、空白を代わりに使って下さい)。 +.PP +.nf +.ta \w' 'u +フィールド名 内容 +action OPIEを利用しないログインを "許可" もしくは "拒否" します +address 照合するネットワークのアドレスです +mask 照合のためのネットワークのマスクです +.fi + +サブネットは適切なアドレスとマスクを使うことで制御されます。 +個々のホストは 255.255.255.255 のマスクと適切なアドレスを使うことで +制御されます。 +どの規則も一致しない場合、デフォルトでは OPIE 無しのログインは拒否されます。 + +.SH 関連項目 +.BR ftpd (8) +.BR login (1), +.BR opie (4), +.BR opiekeys (5), +.BR opiepasswd (1), +.BR opieinfo (1), +.BR su (1), + +.SH 作者 +Bellcore の S/Key は Bellcore の Phil Karn, Neil M. Haller, +John S. Walden によって書かれました。 +OPIE は NRL で Randall Atkinson, Dan McDonald, Craig Metz によって作成 +されました。 +S/Key は Bell Communications Research (Bellcore) のトレードマークです。 + +.SH 連絡先 +OPIE は Bellcore の "S/Key Users" メーリングリストで議論されました。 +参加するためには、電子メールを以下の所に送って下さい。 +.sp +skey-users-request@thumper.bellcore.com diff --git a/documentation/manual-pages/ja/man5/opiekeys.5 b/documentation/manual-pages/ja/man5/opiekeys.5 new file mode 100644 index 0000000000..ce454bae02 --- /dev/null +++ b/documentation/manual-pages/ja/man5/opiekeys.5 @@ -0,0 +1,70 @@ +.\" opiekeys.5: Manual page describing the /etc/opiekeys file. +.\" +.\" Portions of this software are Copyright 1995 by Randall Atkinson and Dan +.\" McDonald, All Rights Reserved. All Rights under this copyright are assigned +.\" to the U.S. Naval Research Laboratory (NRL). The NRL Copyright Notice and +.\" License Agreement applies to this software. +.\" +.\" History: +.\" +.\" Modified by cmetz for OPIE 2.32. This is opiekeys.5, not opiekeys.1 or +.\" opieaccess.5. +.\" Written at NRL for OPIE 2.0. +.\" +.ll 6i +.pl 10.5i +.\" @(#)opiekeys.5 2.0 (NRL) 1/10/95 +.\" %FreeBSD: src/contrib/opie/opiekeys.5,v 1.4 2000/04/10 11:18:48 kris Exp % +.\" $FreeBSD$ +.\" +.lt 6.0i +.TH OPIEKEYS 5 "January 10, 1995" +.AT 3 +.SH 名称 +/etc/opiekeys \- ユーザキー情報の OPIE(One-time Password In Everything) データベース + +.SH 解説 +.I opiekeys +ファイルには +OPIE ソフトウェアがユーザ認証のために使用するユーザ情報が格納されます。 +.I opiekeys +ファイルは S/Key の +.I /etc/skeykeys +データベースファイルに対して下位互換ですが、これは +ハッシングアルゴリズム (MD4 および MD5) が S/Key と OPIE で同一の +場合に限られます (すなわち、 MD5 OPIE は MD4 S/Key キーを使用できません)。 +.I opiekeys +ファイルは、空白 (タブは正しく解釈されますが、代りにスペースを使うべきです) +で区切られた次のような 6 フィールドから成ります: +.PP +.nf +.ta \w' 'u +フィールド名 内容 +name ユーザのログイン名。 +sequence ユーザのシーケンス番号。 +seed ユーザの種。 +key ユーザの最後のレスポンス (16 進数)。 +date 最後に変更された日付。 +time 最後に変更された時刻。 +.fi +.SH 関連項目 +.BR ftpd (8) +.BR login (1), +.BR opie (4), +.BR opiekeys (5), +.BR opiepasswd (1), +.BR opieinfo (1), +.BR su (1), + +.SH 作者 +Bellcore の S/Key は、 +Bellcore の Phil Karn, Neil M. Haller, John S. Walden が記述しました。 +OPIE は NRL にて Randall Atkinson, Dan McDonald, Craig Metz が作成しました。 + +S/Key は Bell Communications Research (Bellcore) の商標です。 + +.SH 連絡先 +OPIE は Bellcore の "S/Key Users" メーリングリストで議論されています。 +加入要求は電子メールを下記アドレスに送ってください: +.sp +skey-users-request@thumper.bellcore.com diff --git a/documentation/manual-pages/ja/man5/passwd.5 b/documentation/manual-pages/ja/man5/passwd.5 new file mode 100644 index 0000000000..c3269ad117 --- /dev/null +++ b/documentation/manual-pages/ja/man5/passwd.5 @@ -0,0 +1,373 @@ +.\" %NetBSD: passwd.5,v 1.12.2.2 1999/12/17 23:14:50 he Exp % +.\" +.\" Copyright (c) 1988, 1991, 1993 +.\" The Regents of the University of California. All rights reserved. +.\" Portions Copyright (c) 1994, Jason Downs. All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. All advertising materials mentioning features or use of this software +.\" must display the following acknowledgement: +.\" This product includes software developed by the University of +.\" California, Berkeley and its contributors. +.\" 4. Neither the name of the University nor the names of its contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" From: @(#)passwd.5 8.1 (Berkeley) 6/5/93 +.\" %FreeBSD: src/share/man/man5/passwd.5,v 1.42.2.1 2005/02/08 20:01:41 trhodes Exp % +.\" +.\" $FreeBSD$ +.\" +.\" WORD: NIS/YP INTERACTION NIS/YP との相互作用 [yppasswd.1] +.\" WORD: accounting アカウンティング (パスワード期限等の意味) +.\" WORD: epoch 基準時点 +.Dd February 7, 2005 +.Dt PASSWD 5 +.Os +.Sh 名称 +.Nm passwd , +.Nm master.passwd +.Nd パスワードファイルのフォーマット +.Sh 解説 +.Nm +ファイルは、ローカルに保持しているパスワード情報の情報源です。 +これらは Hesiod ドメインにおける +.Sq passwd +と +.Sq uid +や、 +.Tn NIS +マップの +.Sq passwd.byname , +.Sq passwd.byuid , +.Sq master.passwd.byname , +.Sq master.passwd.byuid +と共に使用され、 +.Xr nsswitch.conf 5 +によって制御されます。 +.Pp +一貫性を保つため、これらのファイルはどれも手で変更を加えるべきではありません。 +.Pp +.Nm master.passwd +ファイルは root からのみ読み取り可能で、改行で区切られたレコードから成ります。 +ユーザごとに 1 レコードが対応し、コロン (``:'') で区切られた +10 個のフィールドが含まれます。 +これらのフィールドは以下の通りです: +.Pp +.Bl -tag -width password -offset indent +.It name +ユーザのログイン名。 +.It password +ユーザの +.Em 暗号化された +パスワード。 +.It uid +ユーザの ID。 +.It gid +ユーザのログイングループ ID。 +.It class +ユーザのログインクラス。 +.It change +パスワードの変更時間。 +.It expire +アカウントの有効期限。 +.It gecos +ユーザについての一般的な情報。 +.It home_dir +ユーザのホームディレクトリ。 +.It shell +ユーザのログインシェル。 +.El +.Pp +.Nm +ファイルは、 +.Xr pwd_mkdb 8 +によって +.Nm master.passwd +ファイルから生成されます。 +その際に、class, change そして expire フィールドは削除され、 +password フィールドは ``*'' に置換されます。 +.Pp +.Ar name +フィールドはコンピュータアカウントにアクセスするのに用いられるログインであり、 +.Ar uid +フィールドはそれに結び付けられた数字です。 +これらはファイルアクセスを制御するので、両方共そのシステム +(また、しばしば 1 まとまりの複数のシステム) の中で一意であるべきです。 +.Pp +同じログイン名や同じユーザ ID のエントリを複数持つことは可能ですが、 +普通それは誤りです。 +これらのファイルを取り扱うルーチンは、しばしばその複数エントリの +1 つだけを返しますし、それはランダムな選択によるものです。 +.Pp +ログイン名は決してハイフン (``-'') で始めてはいけません。 +また、メーラを混乱させやすいので、大文字やドット (``.'') も +名前の一部にしないことを強く推奨します。 +歴史的にユーザデータベース中でフィールドを区切るのに使われてきたため、 +どのフィールドもコロン (``:'') を含んではなりません。 +.Pp +password フィールドはパスワードの +.Em 暗号化された +形です。 +.Xr crypt 3 +を参照してください。 +.Ar password +フィールドが空の場合、マシンへのアクセスにはパスワードを要求されません。 +このようにすることは、ほとんど常に誤りです。 +これらのファイルは暗号化されたユーザパスワードを含んでいるので、 +適切な権限の無い人から読み取り可能にしておくべきではないでしょう。 +.Pp +group フィールドは、ユーザがログインした際に位置付けられるグループです。 +このシステムではマルチグループ +.Pf ( Xr groups 1 +参照) をサポートしているので、 +このフィールドにはほとんど特別な意味はありません。 +.Pp +.Ar class +フィールドは、ユーザのログインクラスに対するキーです。 +ログインクラスは +.Xr login.conf 5 +の中で定義されます。 +.Xr login.conf 5 +は、ユーザの属性、アカウンティング、リソース、環境設定に関する +.Xr termcap 5 +形式のデータベースです。 +.Pp +.Ar change +フィールドは +.Dv UTC +における基準時点からの秒数を表したものであり、 +この時までにアカウントに対するパスワードを変更する必要があります。 +パスワードの時限機能をなくすには、このフィールドを空にしておきます。 +.Pp +.Ar expire +フィールドは +.Dv UTC +における基準時点からの秒数を表したものであり、 +その時にアカウントが失効します。 +アカウントの時限機能をなくすには、このフィールドを空にしておきます。 +.Pp +.Ar gecos +フィールドは、コンマ (``,'') で区切られた以下のようなサブフィールドを +通常含んでいます: +.Pp +.Bl -tag -width office -offset indent -compact +.It name +ユーザのフルネーム +.It office +ユーザのオフィス番号 +.It wphone +ユーザの職場の電話番号 +.It hphone +ユーザの自宅の電話番号 +.El +.Pp +フルネームはアンパサンド (``&'') を含むことができます。 +これは、gecos フィールドが表示される時や、 +.Xr finger 1 , +.Xr sendmail 8 +などの様々なプログラムで使用される時に、 +キャピタライズは先頭の一文字を大文字にする +(訳注: Charlie Root みたいに) +ので、ログイン名の先頭一文字を大文字にしたものに置換されます。 +.Pp +オフィスと電話番号フィールドは +.Xr finger 1 +によって使われていますし、 +その他のアプリケーションでもおそらく使われています。 +.Pp +ユーザのホームディレクトリは、ログインした時にユーザが置かれる完全な +.Ux +パス名です。 +.Pp +shell フィールドは、ユーザの好みのコマンドインタプリタです。 +.Ar shell +フィールドになにも無ければ Bourne シェル +.Pq Pa /bin/sh +が指定されたものと解釈します。 +.Sh HESIOD サポート +.Xr nsswitch.conf 5 +に +.Sq passwd +データベースとして +.Sq dns +が指定されていた場合、 +.Nm +検索は +.Sq passwd +Hesiod ドメインから開始されます。 +.Sh NIS サポート +.Xr nsswitch.conf 5 +に +.Sq passwd +データベースとして +.Sq nis +が指定されていた場合、 +.Nm +検索は +.Sq passwd.byname , +.Sq passwd.byuid , +.Sq master.passwd.byname +そして +.Sq master.passwd.byuid +.Tn NIS +マップから開始されます。 +.Sh COMPAT サポート +.Xr nsswitch.conf 5 +に +.Sq passwd +データベースとして +.Sq compat +が指定されており、 +.Sq passwd_compat +データベースとして +.Sq dns +か +.Sq nis +のどちらかが指定されていた場合、 +.Nm +ファイルは、ユーザ名とネットグループに基づいた、 +.Sq +/- +による標準的な排除と取り込み機能もサポートします。 +.Pp +``-'' (マイナス符号)によって開始された行は、 +それ以降の ``+'' (プラス符号) によってマークされた取り込みからは排除されます。 +.Pp +行の 2 番目の文字が ``@'' (単価記号) の場合、 +その操作は +.Ar name +フィールドの残りの文字列で指定されるネットグループ中の +すべてのエントリに対して行われます。 +そうでない場合、 +.Ar name +フィールドの残りの部分はユーザ名を指定するものと解釈されます。 +.Pp +``+'' トークンは、 +.Ar name +フィールドに単独で現れても構いません。 +この場合、Hesiod ドメイン +.Nm +.Pf ( Sq passwd_compat: dns +を指定した時)、もしくは +.Sq passwd.byname +と +.Sq passwd.byuid +.Tn NIS +マップ +.Pf ( Sq passwd_compat: nis +を指定した時) のどちらかから、すべてのユーザが取り込まれます。 +.Pp +エントリの +.Ar uid +や +.Ar gid +フィールドが空でない場合、Hesiod ドメインもしくは +.Tn NIS +マップから取り込まれた情報を、指定された数字で上書きします。 +同様にして、 +.Ar gecos , +.Ar dir , +.Ar shell +フィールドにテキストが含まれている場合、Hesiod や +.Tn NIS +を介して取り込まれた情報をそのテキストで上書きします。 +いくつかのシステムでは、 +.Ar passwd +フィールドも上書きできます。 +.Sh 関連ファイル +.Bl -tag -width ".Pa /etc/master.passwd" -compact +.It Pa /etc/passwd +パスワードを除いた +.Tn ASCII +パスワードファイル +.It Pa /etc/pwd.db +パスワードを除いた +.Xr db 3 +形式のパスワードデータベース +.It Pa /etc/master.passwd +パスワードの入った +.Tn ASCII +パスワードファイル +.It Pa /etc/spwd.db +パスワードの入った +.Xr db 3 +形式のパスワードデータベース +.El +.Sh 関連項目 +.Xr chpass 1 , +.Xr login 1 , +.Xr passwd 1 , +.Xr crypt 3 , +.Xr getpwent 3 , +.Xr login.conf 5 , +.Xr netgroup 5 , +.Xr adduser 8 , +.Xr pw 8 , +.Xr pwd_mkdb 8 , +.Xr vipw 8 , +.Xr yp 8 +.Pp +.%T "Managing NFS and NIS" +(O'Reilly & Associates) +.Sh バグ +ユーザ情報は他のどこかに入れるべき (そしていつかは入れる) でしょう。 +.Pp +ファイル中で +.Sq compat +の排除を取り込みの後に行うことは、予期しない結果をもたらすでしょう。 +.Sh 互換性 +パスワードファイル形式は +.Bx 4.3 +以降で変更されました。 +以下の awk スクリプトは、古いスタイルの +パスワードファイルを新しいスタイルのパスワードファイルに +変換するのに利用できます。 +.Dq class , +.Dq change , +.Dq expire +フィールドが追加されましたが、デフォルトでは無効になっています。 +現在 class は実装されていませんが、change と expire は実装されています。 +これらを設定するには、基準時点から今日までの秒数に、 +好きなだけオフセットを秒数にして加えたものを使用してください。 +.Bd -literal -offset indent +BEGIN { FS = ":"} +{ print $1 ":" $2 ":" $3 ":" $4 "::0:0:" $5 ":" $6 ":" $7 } +.Ed +.Sh 歴史 +.Nm +ファイルは +.At v6 +で登場しました。 +.Pp +.Tn NIS +.Nm +ファイル形式は、SunOS ではじめて登場しました。 +.Pp +Hesiod サポートは、 +.Fx 4.1 +ではじめて登場しました。 +これは +.Nx +プロジェクトから取り込まれました。 +こちらでは、 +.Nx 1.4 +ではじめて登場しました。 diff --git a/documentation/manual-pages/ja/man5/pbm.5 b/documentation/manual-pages/ja/man5/pbm.5 new file mode 100644 index 0000000000..1a5493cc59 --- /dev/null +++ b/documentation/manual-pages/ja/man5/pbm.5 @@ -0,0 +1,89 @@ +.\" +.\" %FreeBSD: src/share/man/man5/pbm.5,v 1.8 2004/07/03 18:29:23 ru Exp % +.\" $FreeBSD$ +.\" +.\" WORD: whitespace 空白 +.\" +.Dd September 27, 1991 +.Dt PBM 5 +.Os +.Sh 名称 +.Nm pbm +.Nd ポータブルビットマップファイルのフォーマット +.Sh 解説 +ポータブルビットマップフォーマットは、 +最低位の共通の白黒画像ファイルフォーマットです。 +元々は、異なったタイプのマシン間で、 +ビットマップ転送には適さないネットワークメーラを使用して、 +ビットマップをメールで受け渡しする妥当な方法としてデザインされました。 +現在は、多くのビットマップ変換フィルタ群の共通語として使用されています。 +定義を以下に示します: +.Pp +.Bl -bullet -compact +.It +ファイルタイプを識別するための "マジックナンバ"。 +pbm ファイルのマジックナンバは "P1" の 2 文字です。 +.It +空白 (複数のブランク・TAB・CR・LF から成ります)。 +.It +幅を ASCII 10 進数で表記します。 +.It +空白。 +.It +高さを ASCII 10 進数で表記します。 +.It +空白。 +.It +幅 * 高さの数のビット。各ビットは '1' または '0' で表し、 +ビットマップ左上角を起点として通常の英語を読む向きに連続します。 +.It +文字 '1' は黒を、'0' は白を表します。 +.It +ビット部の空白は無視されます。 +.It +\&"#" から行末までの文字列は無視されます (コメント)。 +.It +長さが 70 文字を越える行は許されません。 +.El +.Pp +以下に、このフォーマットでの小さなビットマップの例を示します: +.Bd -literal +P1 +# feep.pbm +24 7 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 1 1 1 1 0 0 1 1 1 1 0 0 1 1 1 1 0 0 1 1 1 1 0 +0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 1 0 +0 1 1 1 0 0 0 1 1 1 0 0 0 1 1 1 0 0 0 1 1 1 1 0 +0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 +0 1 0 0 0 0 0 1 1 1 1 0 0 1 1 1 1 0 0 1 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +.Ed +.Pp +このフォーマットを読むプログラムは可能な限り寛大になるべきで、 +少しでもビットマップのように見えるものはなんでも受け付けるべきです。 +.Pp +このフォーマットには派生形式があり、 +RAWBITS オプションをコンパイル時にセットすることで利用可能です。 +この派生形式は、以下の点が異なります: +.Pp +.Bl -bullet -compact +.It +\&"マジックナンバ" が "P1" ではなく "P4" です。 +.It +8 ビットが 1 バイトに格納されます。上位ビットが先で下位ビットが後になります。 +.It +ビット部には空白は許されませんし、 +高さの後には単一の空白 (通常は改行) のみが許されます。 +.It +ファイルは 1/8 の大きさになり、読み書きが何倍も高速になります。 +.El +.Sh 作者 +Copyright (C) 1989, 1991 by +.An Jef Poskanzer . +.\" Permission to use, copy, modify, and distribute this software and its +.\" documentation for any purpose and without fee is hereby granted, provided +.\" that the above copyright notice appear in all copies and that both that +.\" copyright notice and this permission notice appear in supporting +.\" documentation. This software is provided "as is" without express or +.\" implied warranty. diff --git a/documentation/manual-pages/ja/man5/periodic.conf.5 b/documentation/manual-pages/ja/man5/periodic.conf.5 new file mode 100644 index 0000000000..09ba6cb6ac --- /dev/null +++ b/documentation/manual-pages/ja/man5/periodic.conf.5 @@ -0,0 +1,765 @@ +.\"- +.\" Copyright (c) 2000 Brian Somers <brian@Awfulhak.org> +.\" All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" %FreeBSD: src/share/man/man5/periodic.conf.5,v 1.50.2.1 2004/12/08 00:37:50 mlaier Exp % +.\" +.\" $FreeBSD$ +.Dd November 24, 2004 +.Dt PERIODIC.CONF 5 +.Os +.Sh 名称 +.Nm periodic.conf +.Nd 定期実行ジョブの設定情報 +.Sh 解説 +.Nm +ファイルには、日次/週次/月次のシステムメンテナンスジョブを +どのように実行するかが記述されています。 +このファイルは +.Pa /etc/defaults +にあり、 +.Pa /etc +の下にある同名のファイルは部分的に優先されます。 +そしてさらに +.Pa /etc/periodic.conf.local +が優先されます。 +.Pp +.Nm +は実際にはそれぞれの定期実行スクリプトからシェルスクリプトとして +取り込まれ、単にデフォルトの設定変数を提供することを意図しています。 +.Pp +以下の変数は +.Xr periodic 8 +自身によって使用されます: +.Bl -tag -offset 4n -width 2n +.It Va local_periodic +.Pq Vt 文字列 +定期実行スクリプトを検索するディレクトリのリスト。 +このリストは +.Xr periodic 8 +の引数が絶対パスのディレクトリ名でなかった場合にのみ使用され、常に +.Pa /etc/periodic +が前置きされます。 +.It Va dir Ns No _output +.Pq Vt パス No または Vt リスト +.Ar dir +ディレクトリから起動されるスクリプトの出力をどうするか記述します。 +この変数に絶対パスが指定された場合、出力はそのファイルに行われます。 +絶対パスではなかった場合は、一つ以上のスペースで区切られた +複数のメールアドレスと解釈され、それらのユーザにメールで送られます。 +この変数が設定されてない場合や変数が空であった場合は、 +標準出力に出力されます。 +.Pp +それほど気にかけていないマシンでは +.Va daily_output , +.Va weekly_output , +.Va monthly_output +はそれぞれ +.Dq /var/log/daily.log , +.Dq /var/log/weekly.log , +.Dq /var/log/monthly.log +にしておくといいでしょう。 +すると +.Xr newsyslog 8 +が、(もしファイルがあれば) これらのファイルを適切な時に切替えます。 +.It Va dir Ns No _show_success +.It Va dir Ns No _show_info +.It Va dir Ns No _show_badconfig +.Pq Vt ブール値 +これらの変数は +起動されたスクリプトの戻り値に従って、 +.Xr periodic 8 +が出力を抑制するかどうかを制御します (ここで +.Ar dir +はそれぞれのスクリプトが置かれてるディレクトリ名です)。 +もしスクリプトの戻り値が +.Sq 0 +で、 +.Va dir Ns No _show_success +が +.Dq NO +に設定されていた場合、 +.Xr periodic 8 +はスクリプトの出力を抑制します。 +もしスクリプトの戻り値が +.Sq 1 +で、 +.Va dir Ns No _show_info +が +.Dq NO +に設定されていた場合、 +.Xr periodic 8 +はスクリプトの出力を抑制します。 +もしスクリプトの戻り値が +.Sq 2 +で、 +.Va dir Ns No _show_badconfig +が +.Dq NO +に設定されていた場合、 +.Xr periodic 8 +はスクリプトの出力を抑制します。 +もしこれらの変数が +.Dq YES +にも +.Dq NO +にも設定されていなかった場合は、それぞれのデフォルト値は +.Dq YES , +.Dq YES +そして +.Dq NO +です。 +.Pp +スクリプトの戻り値がどのように解釈されるかは +.Xr periodic 8 +のマニュアルページを参照して下さい。 +.El +.Pp +以下の変数は +.Pa /etc/periodic/daily +にある標準のスクリプトによって使用されます: +.Bl -tag -offset 4n -width 2n +.It Va daily_clean_disks_enable +.Pq Vt ブール値 +.Va daily_clean_disks_files +にマッチしたファイルを毎日削除したい場合 +.Dq YES +に設定します。 +.It Va daily_clean_disks_files +.Pq Vt 文字列 +マッチさせるファイル名のリストを設定します。 +ワイルドカードも使用できます。 +.It Va daily_clean_disks_days +.Pq Vt 整数 +.Va daily_clean_disks_enable +が +.Dq YES +の場合、何日間ファイルにアクセスや修正がなかったら +削除するかをこの変数に設定する必要もあります。 +.It Va daily_clean_disks_verbose +.Pq Vt ブール値 +削除したファイル名を日次の出力で報告させたい場合 +.Dq YES +に設定します。 +.It Va daily_clean_tmps_enable +.Pq Vt ブール値 +毎日一時ディレクトリをきれいにしたい場合 +.Dq YES +に設定します。 +.It Va daily_clean_tmps_dirs +.Pq Vt 文字列 +.Va daily_clean_tmps_enable +が +.Dq YES +に設定されていた場合にきれいにするディレクトリ名のリストを指定します。 +.It Va daily_clean_tmps_days +.Pq Vt 整数 +.Va daily_clean_tmps_enable +が設定されていた場合、何日間ファイルにアクセスや修正がなかったら +削除するかをこの変数に設定する必要もあります。 +.It Va daily_clean_tmps_ignore +.Pq Vt 文字列 +.Va daily_clean_tmps_enable +が +.Dq YES +に設定されていた場合に削除させたくないファイルのリストを設定します。 +ワイルドカードも使用可能です。 +.It Va daily_clean_tmps_verbose +.Pq Vt ブール値 +削除したファイル名を日次の出力で報告させたい場合 +.Dq YES +に設定します。 +.It Va daily_clean_preserve_enable +.Pq Vt ブール値 +.Pa /var/preserve +から古いファイルを削除したい場合 +.Dq YES +に設定します。 +.It Va daily_clean_preserve_days +.Pq Vt 整数 +何日間ファイルに修正がなかったら削除するかを +この変数に設定します。 +.It Va daily_clean_preserve_verbose +.Pq Vt ブール値 +削除したファイル名を日次の出力で報告させたい場合 +.Dq YES +に設定します。 +.It Va daily_clean_msgs_enable +.Pq Vt ブール値 +古いシステムメッセージを削除する場合 +.Dq YES +に設定します。 +.It Va daily_clean_msgs_days +.Pq Vt 整数 +何日間ファイルに修正がなかったら削除するかを設定します。 +この変数が空白だった場合、 +.Xr msgs 1 +のデフォルト値が使われます。 +.It Va daily_clean_rwho_enable +.Pq Vt ブール値 +.Pa /var/who +の下の古いファイルを削除したい場合 +.Dq YES +に設定します。 +.It Va daily_clean_rwho_days +.Pq Vt 整数 +何日間ファイルに修正がなかったら削除するかを設定します。 +.It Va daily_clean_rwho_verbose +.Pq Vt ブール値 +削除したファイル名を日次の出力で報告させたい場合 +.Dq YES +に設定します。 +.It Va daily_clean_hoststat_enable +.Pq Vt ブール値 +.Pa /var/spool/.hoststat +.Nm sendmail Fl bH +を実行して、 +.Xr sendmail 8 +のホスト状態キャッシュから古いエントリを削除したい場合、 +.Dq YES +に設定します。 +削除ファイルの判断基準は、 +.Xr sendmail 8 +がキャッシュ情報を信じるかどうかに通常使用する判断基準と同じであり、 +.Pa /etc/mail/sendmail.cf +で設定されます。 +.It Va daily_backup_passwd_enable +.Pq Vt ブール値 +.Pa /etc/master.passwd +ファイルと +.Pa /etc/group +ファイルのバックアップをとりリポートを出力させたい場合 +.Dq YES +に設定します。 +リポートは、両ファイルに対する修正点と +.Pa group +ファイルに +.Xr chkgrp 8 +をかけた結果を出力します。 +.It Va daily_backup_aliases_enable +.Pq Vt ブール値 +.Pa /etc/mail/aliases +ファイルのバックアップをとり修正点を日次の出力で報告させたい場合 +.Dq YES +に設定します。 +.It Va daily_backup_distfile_enable +.Pq Vt ブール値 +.Pa /etc/Distfile +ファイルのバックアップをとり修正点を日次の出力で報告させたい場合 +.Dq YES +に設定します。 +.It Va daily_calendar_enable +.Pq Vt ブール値 +毎日 +.Nm calendar Fl a +を実行したい場合 +.Dq YES +に設定します。 +.It Va daily_accounting_enable +.Pq Vt ブール値 +毎日アカウンティングファイルを +切り替えたい場合 +.Dq YES +にします。 +.Xr rc.conf 5 +の中の +.Va accounting_enable +が有効になっていない場合は切り替える必要はありません。 +.It Va daily_accounting_compress +.Pq Vt ブール値 +日々のアカウンティングファイルを +.Xr gzip 1 +を使用して圧縮したい場合 +.Dq YES +に設定します。 +.It Va daily_accounting_save +.Pq Vt 数値 +.Va daily_accounting_enable +が設定されている場合、 +保存すべき日々のアカウンティングファイル数を指定します。 +デフォルトは +.Dq 3 +です。 +.It Va daily_accounting_flags +.Pq Vt 文字列 +.Va daily_accounting_enable +が +.Dq YES +に設定されていた場合に +.Pf ( Fl s +に加えて) +.Xr sa 8 +ユーティリティに渡すフラグを指定します。 +デフォルトは +.Fl q +です。 +.It Va daily_distfile_enable +.Pq Vt ブール値 +毎日 +.Xr rdist 1 +を実行したい場合 +.Dq YES +に設定します。 +その場合 +.Pa /etc/Distfile +も存在していなければなりません。 +.It Va daily_news_expire_enable +.Pq Vt ブール値 +.Pa /etc/news.expire +を実行したい場合 +.Dq YES +に設定します。 +.It Va daily_status_disks_enable +.Pq Vt ブール値 +.Pf ( Va daily_status_disks_df_flags +を引数に指定して) +.Xr df 1 +を実行し、また +.Nm dump Fl W +を実行したい場合 +.Dq YES +に設定します。 +.It Va daily_status_disks_df_flags +.Pq Vt 文字列 +.Va daily_status_disks_enable +が +.Dq YES +の場合、 +.Xr df 1 +ユーティリティに渡す引数を設定します。 +.It Va daily_status_network_enable +.Pq Vt ブール値 +.Nm netstat Fl i +を実行したい場合 +.Dq YES +に設定します。 +.It Va daily_status_network_usedns +.Pq Vt ブール値 +.Xr netstat 1 +を実行する時、(DNS を参照するための) +.Fl n +オプションをつけずに実行したい場合 +.Dq YES +に設定します。 +.It Va daily_status_rwho_enable +.Pq Vt ブール値 +.Xr uptime 1 +を実行したい場合 (もしくは +.Pa /etc/rc.conf +の中で +.Va rwhod_enable +を +.Dq YES +に設定していて +.Xr ruptime 1 +を実行したい場合) +.Dq YES +に設定します。 +.It Va daily_status_mailq_enable +.Pq Vt ブール値 +.Xr mailq 1 +を実行したい場合 +.Dq YES +に設定します。 +.It Va daily_status_mailq_shorten +.Pq Vt ブール値 +.Va daily_status_mailq_enable +を +.Dq YES +に設定していて +.Xr mailq 1 +の出力を短くしたい場合 +.Dq YES +に設定します。 +.It Va daily_status_include_submit_mailq +.Pq Vt ブール値 +.Va daily_status_mailq_enable +を +.Dq YES +に設定した場合で、提出用メールキューに対しても +.Xr mailq 1 +を実行したい場合、 +.Dq YES +に設定します。 +.Xr sendmail 8 +以外の MTA ではこれは動作しないかもしれません。 +.It Va daily_status_security_enable +.Pq Vt ブール値 +セキュリティチェック +を実行したい場合 +.Dq YES +に設定します。 +セキュリティチェックは、別の +.Xr periodic 8 +スクリプト集合です。 +システムデフォルトは +.Pa /etc/periodic/security +にあります。 +ローカルスクリプトは +.Pa /usr/local/etc/periodic/security +に置きます。 +更なる情報は、 +.Xr periodic 8 +マニュアルページを参照してください。 +.It Va daily_status_security_inline +.Pq Vt ブール値 +セキュリティチェック出力をその場に含めたい場合 +.\" inline -> その場 +.Dq YES +に設定します。 +デフォルトでは、 +.Va daily_status_security_output +の値に従い、出力をメールするかログします。 +.It Va daily_status_security_output +.Pq Vt 文字列 +.Va daily_status_security_inline +が +.Dq NO +である場合の、 +セキュリティチェック出力の送信先です。 +この変数は、前述の +.Va *_output +変数と同様に振舞います。 +すなわち、1 個以上の email アドレスか、1 個の絶対パス指定のファイル名です。 +.It Va daily_status_security_chksetuid_enable +.Pq Vt ブール値 +setuid 実行形式のモードと修正時刻を前日の値と比較したい場合、 +.Dq YES +に設定します。 +.It Va daily_status_security_chkmounts_enable +.Pq Vt ブール値 +マウントされたファイルシステムが前日と違うかどうかを比較したい場合、 +.Dq YES +に設定します。 +.It Va daily_status_security_noamd +.Pq Vt ブール値 +.Va daily_status_security_chkmounts_enable +チェックにおいて、 +前日のファイルシステムのマウント状況と比較する時に +.Xr amd 8 +によるマウントを無視したい場合 +.Dq YES +に設定します。 +.It Va daily_status_security_chkuid0_enable +.Pq Vt ブール値 +.Pa /etc/master.passwd +を UID 0 に関して調査したい場合 +.Dq YES +に設定します。 +.It Va daily_status_security_passwdless_enable +.Pq Vt ブール値 +パスワードが空になっているアカウントを調査するために +.Pa /etc/master.passwd +ファイルをチェックしたい場合 +.Dq YES +に設定します。 +.It Va daily_status_security_ipfwdenied_enable +.Pq Vt ブール値 +前日のチェック以来、 +.Xr ipfw 8 +が拒否したパケットのログエントリを表示する場合 +.Dq YES +に設定します。 +.It Va daily_status_security_ipfdenied_enable +.Pq Vt ブール値 +前日のチェック以来、 +.Xr ipf 8 +が拒否したパケットのログエントリを表示する場合 +.Dq YES +に設定します。 +.It Va daily_status_security_pfdenied_enable +.Pq Vt ブール値 +前日のチェック以来、 +.Xr pf 4 +が拒否したパケットのログエントリを表示する場合 +.Dq YES +に設定します。 +.It Va daily_status_security_ipfwlimit_enable +.Pq Vt ブール値 +冗長限界に到達した +.Xr ipfw 8 +ルールを表示する場合、 +.Dq YES +に設定します。 +.It Va daily_status_security_ip6fwdenied_enable +.Pq Vt ブール値 +前日のチェック以来、 +.Xr ip6fw 8 +が拒否したパケットのログエントリを表示する場合 +.Dq YES +に設定します。 +.It Va daily_status_security_ip6fwlimit_enable +.Pq Vt ブール値 +冗長限界に到達した +.Xr ip6fw 8 +ルールを表示する場合、 +.Dq YES +に設定します。 +.It Va daily_status_security_kernelmsg_enable +.Pq Vt ブール値 +前日のチェック以来の新規 +.Xr dmesg 8 +エントリを表示する場合、 +.Dq YES +に設定します。 +.It Va daily_status_security_loginfail_enable +.Pq Vt ブール値 +前日のログイン失敗を +.Pa /var/log/messages +から表示する場合、 +.Dq YES +に設定します。 +.It Va daily_status_security_tcpwrap_enable +.Pq Vt ブール値 +前日中に tcpwrappers +.Pf ( Xr hosts_access 5 +参照) が拒否した接続を +.Pa /var/log/messages +から表示する場合、 +.Dq YES +に設定します。 +.It Va daily_status_mail_rejects_enable +.Pq Vt ブール値 +.Pa /var/log/maillog +に記録された +前日分のメール拒否を要約したい場合 +.Dq YES +に設定します。 +.It Va daily_status_mail_rejects_logs +.Pq Vt 整数 +前日分のメール拒否について、チェックするべき maillog ファイルの +数を設定します。 +.It Va daily_status_named_enable +.Pq Vt ブール値 +前日分の拒否されたゾーン転送 (AXFR と IXFR) を要約したい場合 +.Dq YES +に設定します。 +.It Va daily_status_named_usedns +.Pq Vt ブール値 +DNS の逆引き検索を有効にしたい場合 +.Dq YES +に設定します。 +.It Va daily_queuerun_enable +.Pq Vt ブール値 +最低 1 日に 1 度はメールキューを手動で実行させたい場合、 +.Dq YES +に設定します。 +.It Va daily_submit_queuerun +.Pq Vt ブール値 +.Va daily_queuerun_enable +を +.Dq YES +に設定した場合で、提出用メールキューに対しても最低 1 日に 1 度は +手動で実行したい場合、 +.Dq YES +に設定します。 +.It Va daily_local +.Pq Vt 文字列 +他のすべての日次スクリプトの後に実行する +追加スクリプトのリストを設定します。 +すべてのスクリプトは絶対パスで指定されなければなりません。 +.El +.Pp +以下の変数は +.Pa /etc/periodic/weekly +にある標準のスクリプトによって使用されます: +.Bl -tag -offset 4n -width 2n +.It Va weekly_clean_kvmdb_enable +.Pq Vt ブール値 +古い +.Pa /var/db/kvm_*.db +ファイルを削除したい場合 +.Dq YES +に設定します。 +現在のカーネルが使っている kvm ファイルは削除されません。 +.It Va weekly_clean_kvmdb_days +.Pq Vt 整数 +何日間ファイルにアクセスがなかったら +削除するかをこの変数に設定する必要があります。 +.It Va weekly_clean_kvmdb_verbose +.Pq Vt ブール値 +削除したファイル名を週次の出力で報告させたい場合 +.Dq YES +に設定します。 +.It Va weekly_locate_enable +.Pq Vt ブール値 +.Pa /usr/libexec/locate.updatedb +を実行したい場合 +.Dq YES +に設定します。 +このスクリプトは +.An nobody +ユーザとして +.Nm nice Fl 5 +を使用して実行され、 +.Xr locate 1 +コマンドによって使われるテーブルを生成します。 +.It Va weekly_whatis_enable +.Pq Vt ブール値 +.Pa /usr/libexec/makewhatis.local +を実行したい場合 +.Dq YES +に設定します。 +このスクリプトは +.Xr apropos 1 +コマンドによって使われるデータベースを再生成します。 +.It Va weekly_catman_enable +.Pq Vt ブール値 +.Pa /usr/libexec/catman.local +を実行したい場合 +.Dq YES +に設定します。 +このスクリプトはすべての古くなったマニュアルページを処理して、 +ディスク容量を消費する代わりに +.Xr man 1 +コマンドを速くします。 +.It Va weekly_noid_enable +.Pq Vt ブール値 +システム上でみなしごになったファイルを +探したい場合 +.Dq YES +に設定します。 +みなしごになったファイルとは、 +無効なユーザやグループのものとなっているファイルです。 +.It Va weekly_noid_dirs +.Pq Vt 文字列 +みなしごになったファイルを探したいディレクトリのリストを +指定します。 +これは通常 +.Pa / +に設定されます。 +.It Va weekly_status_pkg_enable +.Pq Vt ブール値 +インストールされているパッケージの中で +古くなったものを +.Xr pkg_version 1 +を使用して一覧にしたい場合 +.Dq YES +に設定します。 +.It Va pkg_version +.Pq Vt 文字列 +.Va weekly_status_pkg_enable +が +.Dq YES +に設定されていた場合、 +古くなった packages を判定するためのプログラムをこの変数が指定します。 +未設定の場合、 +.Xr pkg_version 1 +プログラムが使用されます。 +例えば、portupgrade port がインストールされている場合、この変数に +.Dq portversion +を設定可能です。 +.It Va pkg_version_index +.Pq Vt 文字列 +この変数は、 +.Pa /usr/ports +ディレクトリから +.Pa INDEX +ファイルを指定します。 +これは、 +.Xr pkg_version 1 +が使用する必要のあるファイルです。 +.Fx +のバージョンにより依存関係の木構造が本質的に異なりますので +.Pa /usr/ports +の中には 2 つ以上の +.Pa INDEX +ファイルが存在する可能性があります。 +.Pp +注意すべきこととして、変数 +.Va pkg_version +に値 +.Dq Li portversion +が設定されている場合にも、 +環境変数を用いて正しい +.Pa INDEX +ファイルを指定する必要があります。 +また、 +.Pa /etc/periodic.conf +の中で、 +.Va pkg_version_index +をクリアしておく +.Pq Dq Li pkg_version_index= +必要があります。 +.It Va weekly_local +.Pq Vt 文字列 +他のすべての週次スクリプトの後に実行する +追加スクリプトのリストを設定します。 +すべてのスクリプトは絶対パスで指定されなければなりません。 +.El +.Pp +以下の変数は +.Pa /etc/periodic/monthly +にある標準のスクリプトによって使用されます: +.Bl -tag -offset 4n -width 2n +.It Va monthly_accounting_enable +.Pq Vt ブール値 +.Xr ac 8 +コマンドによってログインのアカウンティング処理を行いたい場合 +.Dq YES +に設定します。 +.It Va monthly_local +.Pq Vt 文字列 +他のすべての月次スクリプトの後に実行する +追加スクリプトのリストを設定します。 +すべてのスクリプトは絶対パスで指定されなければなりません。 +.El +.Sh 関連ファイル +.Bl -tag -width /etc/defaults/periodic.conf +.It Pa /etc/defaults/periodic.conf +デフォルト設定ファイルです。 +このファイルはすべてのデフォルトの変数と設定値が記述されています。 +.It Pa /etc/periodic.conf +通常、システム特有の変数を優先させるためのファイルです。 +.It Pa /etc/periodic.conf.local +さらに追加して優先させるためのファイルで、 +.Pa /etc/periodic.conf +を共有していたり、配布していたりする場合に役立ちます。 +.El +.Sh 関連項目 +.Xr apropos 1 , +.Xr calendar 1 , +.Xr df 1 , +.Xr gzip 1 , +.Xr locate 1 , +.Xr man 1 , +.Xr msgs 1 , +.Xr netstat 1 , +.Xr nice 1 , +.Xr pkg_version 1 , +.Xr rdist 1 , +.Xr rc.conf 5 , +.Xr ac 8 , +.Xr chkgrp 8 , +.Xr dump 8 , +.Xr newsyslog 8 , +.Xr periodic 8 , +.Xr sendmail 8 +.Sh 歴史 +.Nm +ファイルは +.Fx 4.1 +で登場しました。 +.Sh 作者 +.An Brian Somers Aq brian@Awfulhak.org diff --git a/documentation/manual-pages/ja/man5/phones.5 b/documentation/manual-pages/ja/man5/phones.5 new file mode 100644 index 0000000000..ab11f62e21 --- /dev/null +++ b/documentation/manual-pages/ja/man5/phones.5 @@ -0,0 +1,80 @@ +.\" Copyright (c) 1983, 1991, 1993 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. All advertising materials mentioning features or use of this software +.\" must display the following acknowledgement: +.\" This product includes software developed by the University of +.\" California, Berkeley and its contributors. +.\" 4. Neither the name of the University nor the names of its contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" @(#)phones.5 8.1 (Berkeley) 6/5/93 +.\" %FreeBSD: src/share/man/man5/phones.5,v 1.5 2004/07/03 18:29:23 ru Exp % +.\" $FreeBSD$ +.\" +.Dd June 5, 1993 +.Dt PHONES 5 +.Os +.Sh 名称 +.Nm phones +.Nd リモートホストの電話番号のデータベース +.Sh 解説 +ファイル +.Pa /etc/phones +には、 +.Xr tip 1 +プログラムが使用する、 +システム内のプライベートな電話番号が格納されます。 +このファイルは通常は読めませんので、特権情報を格納することができます。 +このファイルのフォーマットは、次の形式の一連の行です: +<システム名>[\ \et]*<電話番号>。 +システム名は +.Xr remote 5 +ファイルで定義されているものの 1 つであり、 +電話番号は ``,'' もしくは行末で終わる任意の文字列からなります。 +``='' および ``*'' の文字は、(交換機を通す場合) +一旦停止して次のダイヤルトーンを待つように自動電話機能に指示します。 +``='' は +.Tn DF02-AC +にて必要ですし、``*'' は +.Tn BIZCOMP +1030 +にて必要です。 +.Pp +1 行には 1 つの電話番号のみ記述可能です。 +しかしながら、ファイル中に同じシステム名が含まれる場合、 +.Xr tip 1 +は接続を確立するまで順番に各番号にダイヤルしようとします。 +.Sh 関連ファイル +.Bl -tag -width /etc/phones -compact +.It Pa /etc/phones +.El +.Sh 関連項目 +.Xr tip 1 , +.Xr remote 5 +.Sh 歴史 +.Nm +ファイルは +.Bx 4.2 +に登場しました。 diff --git a/documentation/manual-pages/ja/man5/printcap.5 b/documentation/manual-pages/ja/man5/printcap.5 new file mode 100644 index 0000000000..3b26a1b623 --- /dev/null +++ b/documentation/manual-pages/ja/man5/printcap.5 @@ -0,0 +1,412 @@ +.\" Copyright (c) 1983, 1991, 1993 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. All advertising materials mentioning features or use of this software +.\" must display the following acknowledgement: +.\" This product includes software developed by the University of +.\" California, Berkeley and its contributors. +.\" 4. Neither the name of the University nor the names of its contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" @(#)printcap.5 8.2 (Berkeley) 12/11/93 +.\" %FreeBSD: src/usr.sbin/lpr/lpr/printcap.5,v 1.33 2004/07/02 23:12:47 ru Exp % +.\" +.\" $FreeBSD$ +.Dd October 11, 2000 +.Dt PRINTCAP 5 +.Os +.Sh 名称 +.Nm printcap +.Nd プリンタケーパビリティデータベース +.Sh 書式 +.Nm +.Sh 解説 +.Nm +は、 +ラインプリンタの記述に使われる +.Xr termcap 5 +を簡略化したものです。 +スプールシステムは利用のたび毎に +.Nm +ファイルにアクセスするため、 +プリンタを動的に追加したり削除することが可能です。 +データベース中の各々のエントリが、1 台のプリンタを記述するのに使われます。 +.Xr termcap 5 +とは異なり、このデータベースは代替できません。 +これは、アカウント情報がバイパスされてしまうことがあるからです。 +.Pp +デフォルトのプリンタは通常 +.Em lp +ですが、環境変数 +.Ev PRINTER +によって上書きすることもできます。 +各スプーリングユーティリティはオプション +.Fl P Ar printer +をサポートし、出力先のプリンタ名を明示することが可能です。 +.Pp +あるプリンタに対するデータベースをセットアップする方法の詳細については、 +.%T "4.3 BSD Line Printer Spooler Manual" +を参照してください。 +.Sh ケーパビリティ +ファイルレイアウトの解説については +.Xr termcap 5 +を参照してください。 +.Bl -column Namexxx Typexx "/var/spool/lpdxxxxx" +.Sy "Name Type Default Description +.It "af str" Ta Dv NULL Ta No "アカウンティングファイル名" +.It "br num none lp が tty の場合、ボーレートを設定 " +.Xr ( ioctl 2 +call) +.It "cf str" Ta Dv NULL Ta No "cifplot データ用フィルタ" +.It "ct num 120 TCP コネクションのタイムアウト時間(秒)" +.It "df str" Ta Dv NULL Ta No "tex データ用フィルタ" +.Tn ( DVI +フォーマット) +.It "ff str" Ta So Li \ef Sc Ta No "フォームフィード送信文字" +.It "fo bool false デバイスオープン時にフォームフィードを印字" +.It "gf str" Ta Dv NULL Ta No "グラフデータフィルタ" +.Xr ( plot 3 +フォーマット +.It "hl bool false バーストヘッダページを最後に印刷" +.It "ic bool false 字下げ出力の用の(非標準の) ioctl をサポートした +ドライバ" +.It "if str" Ta Dv NULL Ta No "アカウンティングを行うためのテキストフィルタ名" +.It "lf str" Ta Pa /dev/console Ta No "エラーロギングファイル名" +.It "lo str" Ta Pa lock Ta No "ロックファイル名" +.It "lp str" Ta Pa /dev/lp Ta No "出力時にオープンするデバイス名、またはオープンする TCP ソケット" Em port Ns @ Ns Em machine +.It "mc num" Ta 0 Ta Xr lpr 1 +で要求できる最大部数を指定します。0 = 制限なし。 +.It "ms str" Ta Dv NULL Ta No "lp が tty の場合、コンマで区切ったリスト。" +tty モード記述用の +.Xr stty 1 +リストに似ている。 +.It "mx num 0 最大ファイルサイズ (" +.Dv BUFSIZ +ブロック単位)。0 = 制限なし。 +.It "nd str" Ta Dv NULL Ta No "キューのリスト用の次のディレクトリ (未実装)" +.It "nf str" Ta Dv NULL Ta No "ditroff データ用フィルタ (device independent troff)" +.It "of str" Ta Dv NULL Ta No "出力用フィルタリングプログラム名" +.It "pc num 200 1 フィートまたは 1 ページあたりの +費用 (1/100 セント単位)" +.It "pl num 66 1 ページの行数" +.It "pw num 132 1 行の文字数" +.It "px num 0 ピクセル単位のページ幅 (水平方向)" +.It "py num 0 ピクセル単位のページ長 (垂直方向)" +.It "rc bool false リモートホストへ送信時、各部を再送します (下記参照)" +.It "rf str" Ta Dv NULL Ta No "" +.Tn FORTRAN +形式のテキストファイル出力用フィルタ +.It "rg str" Ta Dv NULL Ta No "グループ制限。許可されたグループのメンバのみアクセスが許可される" +.It "rm str" Ta Dv NULL Ta No "リモートプリンタが接続されているホスト名" +.It "rp str" Ta Pa lp Ta No "リモートプリンタ名引数" +.It "rs bool false ローカルにアカウントを持つリモートユーザに対する制限" +.It "rw bool false プリンタデバイスを読み書き用にオープンする" +.It "sb bool false 短いバナー (1 行のみ)" +.It "sc bool false 複数コピーの抑制" +.It "sd str" Ta Pa /var/spool/lpd Ta No "スプール ディレクトリ" +.It "sf bool false フォームフィードの抑制" +.It "sh bool false バーストページヘッダの出力抑制" +.It "sr str" Ta Dv NULL Ta No "受信される各データファイルの統計情報を保持するファイル名" +.It "ss str" Ta Dv NULL Ta No "送信される各データファイルの統計情報を保持するファイル名" +.It "st str" Ta Pa status Ta No "状態ファイル名" +.It "tf str" Ta Dv NULL Ta No "troff データ用フィルタ (cat phototypesetter)" +.It "tr str" Ta Dv NULL Ta No "キューが空の時に印刷するトレイラ文字列" +.It "vf str" Ta Dv NULL Ta No "ラスタイメージ用フィルタ" +.El +.Pp +2 文字のケーパビリティは、別の読み易い名前があります。 +.Bl -column "短い形式" "長い形式" +.Sy "短い形式 長い形式" +.It "af acct.file" +.It "br tty.rate" +.It "cf filt.cifplot" +.It "ct remote.timeout" +.It "df filt.dvi" +.It "du daemon.user" +.It "ff job.formfeed" +.It "fo job.topofform" +.It "gf filt.plot" +.It "hl banner.last" +.It "if filt.input" +.It "lf spool.log" +.It "lo spool.lock" +.It "lp tty.device" +.It "mc max.copies" +.It "ms tty.mode" +.It "mx max.blocks" +.It "nf filt.ditroff" +.It "of filt.output" +.It "pc acct.price" +.It "pl page.length" +.It "pw page.width" +.It "px page.pwidth" +.It "py page.plength" +.It "rc remote.resend_copies" +.It "rf filt.fortran" +.It "rg daemon.restrictgrp" +.It "rm remote.host" +.It "rp remote.queue" +.It "rs daemon.restricted" +.It "rw tty.rw" +.It "sb banner.short" +.It "sc job.no_copies" +.It "sd spool.dir" +.It "sf job.no_formfeed" +.It "sh banner.disable" +.It "sr stat.recv" +.It "ss stat.send" +.It "st spool.status" +.It "tf filt.troff" +.It "tr job.trailer" +.It "vf filt.raster" +.El +.Pp +ローカルラインプリンタのドライバが字下げをサポートしているならば、 +プリンタデーモンはその使い方を理解しなければなりません。 +.Sh フィルタ +.Xr lpd 8 +デーモンは +.Em filters +のパイプラインを作成し、さまざまなタイプのプリンタ用に処理を行います。 +フィルタは +.Xr lpr 1 +へ渡されるフラグに応じて選択されます。 +パイプラインは次のように設定されます。 +.Bd -literal -offset indent +p pr | if 通常テキスト + pr(1) +none if 通常テキスト +c cf cifplot +d df DVI (tex) +g gf plot(3) +n nf ditroff +f rf Fortran +t tf troff +v vf ラスタイメージ +.Ed +.Pp +.Sy if +フィルタは次の引数をとります。 +.Bd -ragged -offset indent +.Cm if +.Op Fl c +.Fl w Ns Ar width +.Fl l Ns Ar length +.Fl i Ns Ar indent +.Fl n Ar login +.Fl h Ar host acct-file +.Ed +.Pp +.Fl c +フラグは +.Fl l +フラグ (コントロール文字をそのまま通過させます) が +.Xr lpr 1 +に指定された場合のみ渡されます。 +.Ar width +機能と +.Ar length +機能はページ幅とページ長を +(それぞれ +.Cm pw +と +.Cm pl +によって) 文字単位で指定します。 +.Fl n +と +.Fl h +パラメータでそれぞれのジョブの所有者のログイン名とログイン先ホスト名を +指定します。 +.Ar acct-file +機能は +.Nm +の +.Cm af +エントリがそのまま使われます。 +.Pp +.Cm if +が指定されなかった場合、 +.Cm of +が代わりに使われます。 +.Cm of +は +.Cm if +が個々のジョブ毎にオープンされるのに対して、たった 1 回だけ +オープンされると言う特徴を持っています。 +そのため、アカウンティングを行うには +.Cm if +の方が向いています。 +.Cm of +には、 +.Ar width +と +.Ar length +フラグのみが与えられます。 +.Pp +その他の全てのフィルタは次のように呼び出されます。 +.Bd -ragged -offset indent +.Nm filter +.Fl x Ns Ar width +.Fl y Ns Ar length +.Fl n Ar login +.Fl h Ar host acct-file +.Ed +.Pp +.Ar width +と +.Ar length +はピクセル単位で表され、それぞれ +.Cm px +と +.Cm py +エントリで指定されます。 +.Pp +全てのフィルタはファイルを +.Em stdin +から読み込み +.Em stdout +からの出力をプリンタに送られ、 +.Em stderr +または +.Xr syslog 3 +がログ出力に使われます。 +フィルタは +.Dv SIGINT +を無視してはいけません。 +.Sh リモートプリンティング +.Cm rm +を使用してリモートプリンタに印刷する時、 +.Cm if +または +.Cm of +を使用できます。両方を指定した場合、 +.Cm of +は無視されます。 +どちらのフィルタも同様に振舞いますが、上述の通り異なった引数を渡されます。 +特に、出力フィルタはファイルが転送されるたびに、停止・再起動されます。 +このように動作することが必要な理由は、フィルタを通した結果の大きさをリモート +.Xr lpd 8 +に渡すためです。 +.Pp +.Fl p +フラグが +.Xr lpr 1 +に渡されると、 +.Xr pr 1 +はローカルでは実行されませんが、リモートの +.Xr lpd 8 +に対して要求されます。それゆえ、 +.Cm if +を介したフィルタリングは、 +.Xr pr 1 +が実行される後ではなく前に実行されることになります。 +.Pp +ネットワークプリンタのモデルによっては、 +.Xr lpd 8 +からのジョブを受け付けるものの、ジョブ制御ファイルを無視し、 +各データファイルがプリンタに届くと印刷するだけのものがあります。 +このような動作の副作用のひとつに、 +.Xr lpr 1 +コマンドで指定される +.Fl # +フラグで指定される複数部数の要求をプリンタが無視してしまうことがあります。 +.Cm rc +エントリは、ユーザが元々要求した各部に対して、 +.Xr lpd 8 +がデータファイルを再送するようにします。 +.Cm rc +エントリを指定して良いのは、プリンタに直接ジョブを送るホストだけです。 +.Pp +.Cm lp +が +.Em port Ns @ Ns Em machine +で指定された場合 (そして +.Cm rm +が使用されない場合)、印刷データは指定された +.Em machine +の指定された +.Em port +に直接転送されます。 +.Sh 転送の統計情報 +印刷ジョブがリモートマシン +(他の UNIX ボックスかもしれませんしネットワークプリンタかもしれません) +に転送されるとき、各転送の統計情報を保持することが有効かもしれません。 +.Cm sr +および +.Cm ss +のオプションは、lpd がこのような統計情報を保持するためのファイル名を示します。 +ジョブの統計情報の行が各データファイルに書き込まれるのは、 +ファイルの転送に成功したときです。 +行の書式は、転送における送信側と受信側とで、同一です。 +.Pp +ジョブを送ってくる種々のマシンとプリントサーバ間のネットワーク性能に +興味がある場合、 +受信データファイルの統計情報をプリントサーバで使えるかもしれません。 +プリントサーバは、印刷ジョブがサーバに届くたびに、 +各印刷ジョブの速度の統計情報を集めることができます。 +.Pp +誰がどのジョブをリモートプリンタに送ったのか、 +何時送られたのか、そしてファイルの (バイト数での) 大きさはどのくらいだったか +について知りたい場合、送信データファイルの統計情報を +最小のアカウンティング記録として使えるかもしれません。 +しかし、何ページ印刷したのかといった情報は一切含みません。 +なぜなら、 +そのような情報をリモート (ネットワーク) プリンタから得るための標準的な方法が +存在しないためです。 +.Sh ロギング +ラインプリンタプログラム自身 (つまり +.Xr lpd 8 +とそれに関連するプログラム) が生成したエラーメッセージは、 +.Xr syslog 3 +の +.Dv LPR +ファシリティを使ってロギングされます。 +フィルタの 1 つから +.Em stderr +に出力されたメッセージは、対応する +.Cm lf +で指定されたファイルに送られます。 +当然、フィルタ自身もまた +.Xr syslogd 8 +を使うことがあるかも知れません。 +.Pp +コンソールに送られるエラーメッセージには、ラインフィードだけではなく +キャリッジリターンとラインフィードが追加されます。 +.Sh 関連項目 +.Xr lpq 1 , +.Xr lpr 1 , +.Xr lprm 1 , +.Xr hosts.lpd 5 , +.Xr termcap 5 , +.Xr chkprintcap 8 , +.Xr lpc 8 , +.Xr lpd 8 , +.Xr pac 8 +.Rs +.%T "4.3 BSD Line Printer Spooler Manual" +.Re +.Sh 歴史 +.Nm +ファイルフォーマットは +.Bx 4.2 +から登場しました。 diff --git a/documentation/manual-pages/ja/man5/procfs.5 b/documentation/manual-pages/ja/man5/procfs.5 new file mode 100644 index 0000000000..e3c6268bc2 --- /dev/null +++ b/documentation/manual-pages/ja/man5/procfs.5 @@ -0,0 +1,247 @@ +.\" %FreeBSD: src/share/man/man5/procfs.5,v 1.30 2004/07/03 18:29:23 ru Exp % +.\" +.\" $FreeBSD$ +.\" Written by Garrett Wollman +.\" This file is in the public domain. +.\" +.Dd December 4, 2001 +.Dt PROCFS 5 +.Os +.Sh 名称 +.Nm procfs +.Nd プロセスファイルシステム +.Sh 書式 +.Bd -literal +proc /proc procfs rw 0 0 +.Ed +.Sh 解説 +プロセスファイルシステム、すなわち +.Nm +はファイルシステム中でシステムプロセステーブルの閲覧を可能にします。 +.Nm +は通常 +.Pa /proc +にマウントされ、 +.Xr ps 1 +や +.Xr w 1 +といったプログラムの完全な動作に必要なものです。 +.Pp +.Nm +は以前の +.Fx 1.1 +.Nm +での実装とは異なり、 +プロセス空間に 2 つのレベルの視点を提供します。 +高いレベルでは、プロセスはそれ自身が、10 進数による先頭に 0 の付かない +自分のプロセス ID によって、名前付けされます。また +.Pa curproc +と呼ばれる調査要求を行なったプロセスを参照する特別なノードが存在します。 +.Pp +それぞれのノードは以下の項目を含むディレクトリです: +.Pp +それぞれのディレクトリは数個のファイルを含んでいます: +.Bl -tag -width status +.It Pa ctl +多様な制御操作をサポートする書き込みのみのファイル。 +制御コマンドは +.Pa ctl +ファイルに文字列として書き込まれます。 +制御コマンドは: +.Bl -tag -width detach -compact +.It attach +対象プロセスを停止し、 +送信プロセスに対してデバッグ制御プロセスとなるよう手配する。 +.It detach +対象プロセスの実行を継続し、デバッグプロセスの制御下から離します +(送信プロセスである必要はありません)。 +.It run +シグナルが届くか、ブレークポイントに達するか、または対象プロセスが +終了するまで対象プロセスを継続して動作させます。 +.It step +シグナルを届けずに対象プロセスをシングルステップさせます。 +.It wait +対象プロセスがデバッグに適した平衡状態になるまで待ちます。 +対象プロセスは他のどのコマンドが許可されるよりも前に +この状態になる必要があります。 +.El +.Pp +文字列は、 +.Dv SIG +接頭辞なしの小文字のシグナル名でも構いません。 +この場合、指定したシグナルがプロセスに届けられます。 +.Pf ( Xr (sigaction 2 +参照)。 +.It Pa dbregs +.In machine/reg.h +中の +.Dv "struct dbregs" +で定義されるデバッグレジスタ。現在 +.Pa dbregs +は i386 アーキテクチャでのみ実装されています。 +.It Pa etype +.Pa file +項目によって参照される実行形式のタイプ。 +.It Pa file +プロセステキストが読まれる file へのシンボリックリンク。 +これはプロセスのシンボルテーブルへのアクセスを得る、 +またはプロセスのもう 1 つのコピーを始めるために使われます。 +ファイルが見つからなかった場合、そのリンクターゲットは +.Ql unknown +です。 +.It Pa fpregs +.In machine/reg.h +中の +.Dv "struct fpregs" +で定義される浮動小数点レジスタ。 +.Pa fpregs +は、汎用レジスタセットと浮動小数点レジスタセットが明確に区別されたマシンにのみ +実装されています。 +.It Pa map +プロセスの仮想メモリのマップ。 +.It Pa mem +プロセスの完全な仮想メモリイメージ。 +プロセス中に存在するアドレスのみがアクセスできます。 +このファイルに対する読み書きはプロセスを修正します。 +テキストセグメントに対する書き込みはそのプロセスのみに留まります。 +.It Pa note +プロセスへシグナルを送るために使われます。実装されていません。 +.It Pa notepg +プロセスグループへシグナルを送るために使われます。実装されていません。 +.It Pa regs +プロセスのレジスタセットへの読み書き手段を提供します。 +このファイルは +.In machine/reg.h +中で定義されている +.Dv "struct regs" +バイナリデータ構造体を含んでいます。 +.Pa regs +はプロセスが停止しているときのみ書き込みできます。 +.It Pa rlimit +これは、プロセスの現在および最大の制限を含む、読み取り専用ファイルです。 +各行の書式は +.Ar rlimit current max +であり、-1 は無限を意味します。 +.It Pa status +プロセスの状態。 +このファイルは読み込みのみで、空白で分けられた以下の多数のフィールドを +含んだ 1 行を返します: +.Pp +.Bl -bullet -compact +.It +コマンド名 +.It +プロセス ID +.It +親プロセス ID +.It +プロセスグループ ID +.It +セッション ID +.It +制御端末の +.Ar major , Ns Ar minor +、またはもし制御端末がない場合には +.Dv -1,-1。 +.It +プロセスフラグのリスト: +.Dv ctty +制御端末がある、 +.Dv sldr +プロセスがセッションリーダである、 +.Dv noflags +他の 2 つのフラグがセットされていない。 +.It +コンマで区切った秒とマイクロ秒によるプロセス開始時刻 +.It +コンマで区切った秒とマイクロ秒によるユーザ時間 +.It +コンマで区切った秒とマイクロ秒によるシステム時間 +.It +ウェイトチャネルメッセージ +.It +実効ユーザ ID と全てコンマで区切られた +グループリスト(最初の項目は実効グループ ID) から成っている +プロセスクリデンシャル +.It +プロセスが走行する jail のホスト名。 +.Ql - +の場合、プロセスは jail 中で走行していないことを示します。 +.El +.El +.Pp +対象がデバッガによって fork/exec される通常のデバッギング環境では、 +デバッガが fork し、子は自分自身で止まる(例えば自分で与えた +.Dv SIGSTOP ) +べきです。 +親は適切な +.Pa ctl +ファイルを通じて +.Dv wait +そして +.Dv attach +コマンドを発行するべきです。 +子プロセスは exec 呼び出しが終わった直後に +.Dv SIGTRAP +を受け取ります +.Pf ( Xr execve 2 +参照)。 +.Pp +それぞれのノードはプロセスのユーザに所持され、 +ユーザのプライマリグループに属します。 +.Pa mem +ノードは例外的に +.Li kmem +グループに属します。 +.Sh 関連ファイル +.Bl -tag -width /proc/curproc/XXXXXXX -compact +.It Pa /proc +.Nm +の通常のマウントポイント。 +.It Pa /proc/pid +プロセス +.Pa pid +のプロセス情報を含んだディレクトリ +.It Pa /proc/curproc +カレントプロセスのプロセス情報を含んだディレクトリ +.It Pa /proc/curproc/cmdline +プロセスの実行形式名 +.It Pa /proc/curproc/ctl +プロセスへの制御メッセージを送るために使われます +.It Pa /proc/curproc/etype +実行形式タイプ +.It Pa /proc/curproc/file +実行形式イメージ +.It Pa /proc/curproc/fpregs +プロセス浮動小数点レジスタセット +.It Pa /proc/curproc/map +プロセスの仮想メモリマップ +.It Pa /proc/curproc/mem +プロセスの完全な仮想アドレス空間 +.It Pa /proc/curproc/note +プロセスへのシグナル送信に使われます +.It Pa /proc/curproc/notepg +プロセスグループへのシグナル送信に使われます +.It Pa /proc/curproc/regs +プロセスのレジスタセット +.It Pa /proc/curproc/rlimit +プロセスの現在および最大の rlimit +.It Pa /proc/curproc/status +プロセスの現在の状態 +.El +.Sh 関連項目 +.Xr mount 2 , +.Xr sigaction 2 , +.Xr unmount 2 , +.Xr mount_procfs 8 , +.Xr pseudofs 9 +.Sh 作者 +.An -nosplit +このマニュアルページは +.An Jan-Simon Pendry +によって提供された記述に基づいて +.An Garrett Wollman +によって書かれ、 +後に +.An Mike Pritchard +によって手直しされました。 diff --git a/documentation/manual-pages/ja/man5/protocols.5 b/documentation/manual-pages/ja/man5/protocols.5 new file mode 100644 index 0000000000..78a37b43f7 --- /dev/null +++ b/documentation/manual-pages/ja/man5/protocols.5 @@ -0,0 +1,76 @@ +.\" Copyright (c) 1983, 1991, 1993 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. All advertising materials mentioning features or use of this software +.\" must display the following acknowledgement: +.\" This product includes software developed by the University of +.\" California, Berkeley and its contributors. +.\" 4. Neither the name of the University nor the names of its contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" @(#)protocols.5 8.1 (Berkeley) 6/5/93 +.\" %FreeBSD: src/share/man/man5/protocols.5,v 1.6 2004/07/03 18:29:23 ru Exp % +.\" $FreeBSD$ +.\" +.Dd June 5, 1993 +.Dt PROTOCOLS 5 +.Os +.Sh 名称 +.Nm protocols +.Nd プロトコル名のデータベース +.Sh 解説 +.Nm +ファイルには +.Tn DARPA +インターネットで使用される既知のプロトコルの情報が格納されます。 +各プロトコル毎に、以下の情報を表す 1 行が存在します。 +.Bd -unfilled -offset indent +公式なプロトコル名 +プロトコル番号 +別名 +.Ed +.Pp +項目は任意個の空白文字やタブ文字で分けられます。 +``#'' はコメント開始を表し、 +行末までの文字はファイルを検索するルーチンに解釈されません。 +.Pp +プロトコル名は、フィールド区切り文字・改行文字・コメント文字以外の、 +任意の表示可能文字からなります。 +.Sh 関連ファイル +.Bl -tag -width /etc/protocols -compact +.It Pa /etc/protocols +.Nm +ファイルは +.Pa /etc +にあります。 +.El +.Sh 関連項目 +.Xr getprotoent 3 +.Sh バグ +静的ファイルの代わりに、ネームサーバを使用すべきです。 +.Sh 歴史 +.Nm +ファイルフォーマットは +.Bx 4.2 +に登場しました。 diff --git a/documentation/manual-pages/ja/man5/publickey.5 b/documentation/manual-pages/ja/man5/publickey.5 new file mode 100644 index 0000000000..dc8f693690 --- /dev/null +++ b/documentation/manual-pages/ja/man5/publickey.5 @@ -0,0 +1,43 @@ +.\" %FreeBSD: src/lib/libc/rpc/publickey.5,v 1.7 2003/08/26 15:52:47 eivind Exp % +.\" @(#)publickey.5 2.1 88/08/07 4.0 RPCSRC; from 1.6 88/02/29 SMI; +.\" $FreeBSD$ +.\" +.\" WORD: public key 公開鍵 +.\" WORD: secret key 秘密鍵 +.\" +.Dd October 19, 1987 +.Dt PUBLICKEY 5 +.Os +.Sh 名称 +.Nm publickey +.Nd "公開鍵データベース" +.Sh 書式 +.Pa /etc/publickey +.Sh 解説 +.Pa /etc/publickey +は、安全な RPC (リモートプロシージャコール) +で用いられる公開鍵のデータベースです。 +このデータベースは、ネットワークユーザ名 (これは、ユーザまたは +ホスト名を指します)、ユーザの公開鍵 (16 進表現)、コロン、ログイン +パスワードで暗号化されたユーザの秘密鍵 (16 進表現) を順につなげた +ものからなります。 +.Pp +ユーザは +.Xr chkey 1 +コマンドを使って、システム管理者は +.Xr newkey 8 +コマンドを使ってこのファイルを更新します。 +ファイル +.Pa /etc/publickey +には、NIS マスタマシン上のデータだけを置くべきです。 +このマシン上で、この +ファイルは変換されて +.Tn NIS +データベース +.Pa publickey.byname +の中に置かれます。 +.Sh 関連項目 +.Xr chkey 1 , +.Xr publickey 3 , +.Xr newkey 8 , +.Xr ypupdated 8 diff --git a/documentation/manual-pages/ja/man5/pw.conf.5 b/documentation/manual-pages/ja/man5/pw.conf.5 new file mode 100644 index 0000000000..a6c30d8dc0 --- /dev/null +++ b/documentation/manual-pages/ja/man5/pw.conf.5 @@ -0,0 +1,298 @@ +.\" Copyright (C) 1996 +.\" David L. Nugent. All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" +.\" THIS SOFTWARE IS PROVIDED BY DAVID L. NUGENT AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL DAVID L. NUGENT OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" %FreeBSD: src/usr.sbin/pw/pw.conf.5,v 1.15 2003/09/08 19:57:21 ru Exp % +.\" $FreeBSD$ +.\" +.Dd December 9, 1996 +.Dt PW.CONF 5 +.Os +.Sh 名称 +.Nm pw.conf +.Nd pw.conf 設定ファイルのフォーマット +.Sh 解説 +ファイル +.In /etc/pw.conf +には +.Xr pw 8 +ユーティリティで使用される設定データが含まれています。 +.Xr pw 8 +ユーティリティは、 +システムのパスワードとグループファイルのメンテナンスに使用され、 +ユーザやグループを追加、削除、変更します。 +このファイルは +.Xr pw 8 +コマンドによって +.Ar useradd +コマンドと +.Fl D +オプション +を使うか、テキストエディタによって直接編集することによって変更されます。 +.Pp +.Pa /etc/pw.conf +における各行は、コメントもしくは設定データとして扱われます。 +空白行と +.Ql \&# +文字によって開始している行はコメントとなります。 +それら以外の行はキーワードが最初に指定され、 +それに対応するデータが続くものとして処理されます。 +.Pp +.Xr pw 8 +によって認識されるキーワードには以下のものがあります。 +.Bl -tag -width password_days -offset indent -compact +.It defaultpasswd +新規ユーザのパスワードとなります。 +.It reuseuids +UID の空き番号を再使用します。 +.It nispasswd +.Tn NIS +パスワードデータベースへのパスです。 +.It reusegids +GID の空き番号を再使用します。 +.It skeleton +ホームディレクトリにコピーするデフォルトのファイルの在処です。 +.It newmail +新規ユーザに送付するメールです。 +.It logfile +このファイルにユーザ/グループの変更のログを取ります。 +.It home +ホームディレクトリのルートディレクトリです。 +.It shellpath +シェルプログラムのパスです。 +.It shells +有効なシェルのリストです (パスは含みません)。 +.It defaultshell +デフォルトのシェルです (パスは含みません)。 +.It defaultgroup +デフォルトのグループです。 +.It extragroups +新規ユーザをこのグループに追加します。 +.It defaultclass +新規ユーザのこのログインクラスに設定します。 +.It minuid +.It maxuid +有効なデフォルトユーザ ID の範囲です。 +.It mingid +.It maxgid +有効なデフォルトグループ ID の範囲です。 +.It expire_days +アカウントが期限切れとなるまでの日数です。 +.It password_days +パスワードが期限切れとなるまでの日数です。 +.El +.Pp +.Ar defaultpasswd +の有効な値は以下の通りです。 +.Bl -tag -width password_days -offset indent -compact +.It no +新規に作成したアカウントでのログインを無効にします。 +.It yes +パスワードをアカウント名に強制的に設定します。 +.It none +強制的にパスワードをブランクにします。 +.It random +ランダムなパスワードを生成します。 +.El +.Pp +2 番目と 3 番目のオプションは安全ではなく、 +一般からアクセス可能なシステムでは可能であれば避けるべきです。 +最初のオプションはそのアカウントが使用される前にスーパユーザが +.Xr passwd 1 +を使ってパスワードを設定する必要があります。 +これは管理者のアカウントを作成する場合にも便利です。 +最後のオプションでは +.Xr pw 8 +は標準出力にランダムに生成したパスワードを出力します。 +これが最も好ましく安全なオプションです。 +.Xr pw 8 +ユーティリティは、 +ファイルハンドル経由で (コマンド行による方法は安全でないためです) +新規ユーザに特定のパスワードを設定する方法も提供しています。 +.Pp +.Ar reuseuids +と +.Ar reusegids +は新規のユーザ ID とグループ ID 番号の生成方法を指定します。 +このフィールドで +.Ql \&yes +が指定されていると +.Xr pw 8 +は許可された範囲で +最初の使用されていないユーザ ID か グループ ID を検索します。 +.Ql \&no +が指定されていると +範囲中のすでに存在している他のユーザ ID もしくはグループ ID が +新規に生成された ID より必ず小さくなることを保証し、 +以前にユーザもしくはグループを削除したことによって生じた +グループ ID もしくはユーザ ID の空き番号を再度使用することを +避けることができます。 +デフォルトグループがキーワード +.Ar defaultgroup +によって指定されていない場合、 +.Xr pw 8 +は新規ユーザに対して新規グループを生成し、 +新規のユーザ ID とグループ ID に同じものを使用するように試みます。 +新規ユーザのユーザ ID がすでにグループ ID として使用されている場合は、 +その代わりに次に使用可能なグループ ID が選択されます。 +.Pp +.Tn NIS +サーバで +.Pa /etc/master.passwd +とは別の passwd データベースを管理している場合、 +このオプションを使用すると、 +ユーザレコードの追加・修正・削除といった更新を +追加のファイルに対しても同時に行うことができます。 +空白または 'no' に設定すると、 +追加のデータベースは更新されません。 +絶対パス名を使用する必要があります。 +.Pp +.Ar skeleton +キーワードはユーザの新規のホームディレクトリの内容を作る上での +もととなるディレクトリを指定します。 +デフォルトでは +.Pa /usr/share/skel +となっています。 +.Xr pw 8 +で +.Fl m +オプションを指定すると、ユーザのホームディレクトリが作成され、 +.Ar skeleton +ディレクトリに含まれるファイルがそこにコピーされます。 +.Pp +.Ar newmail +キーワードによって送信するメッセージの本文を含むファイルの +パス名を指定することによって、 +新規ユーザに通知の電子メールを送信することができます。 +アカウントが作成された時にメールを出さないようにするには、 +このエントリを空にしておくか +.Ql \&no +を指定します。 +.Pp +.Ar logfile +オプションによってパスワードファイルの変更のログを指定したログファイルに +取ることができます。 +ログファイルを作成したり追加したりしないようにするには、 +このフィールドを空にしておくか +.Ql \&no +を指定します。 +.Pp +.Ar home +キーワードは必ず指定する必要のあるものです。 +これはすべての新規ユーザのホームディレクトリが作成される +ディレクトリの場所を指定するものです。 +.Pp +.Ar shellpath +キーワードは、ログインシェルとして使われるプログラムが含まれる +ディレクトリのリストをコロン +.Ql \&: +で区切って指定します。 +.Pp +.Ar shells +キーワードはログインシェルとして使用可能なプログラムのリストを指定します。 +このリストはコンマで区切られたシェル名のリストであり、パスは含みません。 +これらのシェルは +.Ar shellpath +によって指定されているいずれかのディレクトリの中にある必要があります。 +.Pp +.Ar defaultshell +キーワードは +.Xr pw 8 +のコマンド行で新規ユーザのシェルプログラムが +何も指定されていない場合のシェルプログラムを指定します。 +.Pp +.Ar defaultgroup +キーワードは新規アカウントに使用される第 1 グループ +(パスワードファイル中のグループ ID 番号) を指定します。 +これが空であるか、 +.Ql \&no +が指定されていると各々の新規ユーザには自動的に各々のグループが +作成されます。 +これはユーザによって通常使われている +.Em umask +に関係なく、システムの他のユーザによる不正アクセスから +各ユーザのファイルを守ることができるため、 +新規にユーザを作成する場合の推奨方法となります。 +.Pp +.Ar extragroups +キーワードによって、新規ユーザを自動的に +.Pa /etc/groups +ファイル中のグループに登録することができます。 +これはすべてのユーザがあるリソースを共有していたり、 +ユーザを同じ第 1 グループに登録したい場合に便利な機能です。 +.Xr pw 8 +のコマンドオプションで +.Fl G +を使用することによって、このキーワードの効果を変更することができます。 +.Pp +.Ar defaultclass +フィールドにより、 +.Xr pw 8 +によって指定されない場合に新規ユーザが割り当てられるログインクラス ( +.Xr login.conf 5 +参照) を指定することができます。 +.Pp +.Ar minuid , +.Ar maxuid , +.Ar mingid , +.Ar maxgid +の各キーワードは、自動的に割り当てるユーザ ID とグループ ID 番号の +範囲を指定します。 +ユーザとグループ ID のデフォルトの値は最小 1000 から最大 32000 の +範囲となります。 +実際に +.Xr pw 8 +によってアカウントを作成する際に使用されるユーザとグループ ID は +コマンド行のオプションの +.Fl u +と +.Fl g +によって変更することができます。 +.Pp +.Ar expire_days +と +.Ar password_days +はそれぞれアカウントが作成された日から、 +アカウントの期限が切れる日、 +またはユーザがアカウントのパスワードの変更を強要される日までの +日数計算を自動的に行うために使用されます。 +いずれかのフィールドで値 +.Ql \&0 +を指定すると、対応する (アカウントかパスワードの) 期限切れを抑止します。 +.Sh 制限事項 +.Pa /etc/pw.conf +で 1 行は最長 1024 文字までとなります。 +これより長い行についてはスキップされコメントとして扱われます。 +.Sh 関連ファイル +.Bl -tag -width /etc/master.passwd -compact +.It Pa /etc/pw.conf +.It Pa /etc/passwd +.It Pa /etc/master.passwd +.It Pa /etc/group +.El +.Sh 関連項目 +.Xr passwd 1 , +.Xr group 5 , +.Xr login.conf 5 , +.Xr passwd 5 , +.Xr pw 8 diff --git a/documentation/manual-pages/ja/man5/radius.conf.5 b/documentation/manual-pages/ja/man5/radius.conf.5 new file mode 100644 index 0000000000..09cd2d4fe9 --- /dev/null +++ b/documentation/manual-pages/ja/man5/radius.conf.5 @@ -0,0 +1,176 @@ +.\" Copyright 1998 Juniper Networks, Inc. +.\" All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" %FreeBSD: src/lib/libradius/radius.conf.5,v 1.8 2004/07/02 23:52:18 ru Exp % +.\" +.\" $FreeBSD$ +.\" WORD: sensitive (情報を)極めて慎重に扱うべき[radius.5] +.Dd October 30, 1999 +.Dt RADIUS.CONF 5 +.Os +.Sh 名称 +.Nm radius.conf +.Nd RADIUS クライアントの設定ファイル +.Sh 書式 +.Pa /etc/radius.conf +.Sh 解説 +.Nm +は、RADIUS クライアントライブラリの設定に必要な情報を含みます。 +本ファイルは +.Xr rad_config 3 +が解釈します。 +本ファイルは 1 行以上のテキスト行を含み、 +各行は、ライブラリが使用する単一の RADIUS サーバについて記述します。 +先行する空白は、空行および、コメントのみの行と同様、無視されます。 +.Pp +1 つの RADIUS サーバは、3 から 5 フィールドからなる 1 行により記述されます: +.Pp +.Bl -item -offset indent -compact +.It +サーバタイプ +.It +サーバホスト +.It +共有鍵 +.It +タイムアウト +.It +リトライ数 +.El +.Pp +フィールドは空白で区切ります。 +フィールドの先頭にある +.Ql # +文字はコメントを開始し、行末まで続きます。 +フィールドはダブルクォートで括ることができ、 +この場合空白を含んだり、 +.Ql # +文字で開始することができます。 +クォートされた文字列中では、ダブルクォート文字は +.Ql \e\&" +で表現可能であり、バックスラッシュは +.Ql \e\e +で表現可能です。 +他のエスケープシーケンスはサポートされていません。 +.Pp +.Pp +最初のフィールドはサーバタイプを指定します。 +.Ql auth +で RADIUS 認証を指定するか、 +.Ql acct +で RADIUS アカウンティングを指定します。 +単一サーバで両方のサービスを提供する場合、ファイル中に 2 行必要です。 +以前のバージョンのファイルではサービスタイプを含みませんでした。 +後方互換のため、最初のフィールドが +.Ql auth +か +.Ql acct +のいずれでもない場合、ライブラリは、 +.Ql auth +が指定されたものとして振舞い、 +その行をフィールド 2 から 5 が指定されたものとして解釈します。 +.Pp +第 2 フィールドは、 +完全な形でのドメイン名でもかまいませんし、 +ドット付き 4 つ組の IP アドレスでもかまいません。 +ホストの後には +.Ql \&: +と数値によるポート番号を続けることができます。この時、間に空白を入れては +いけません。ポートを指定しない場合、サービスタイプ +.Ql auth +および +.Ql acct +のそれぞれに対して +.Pa /etc/services +ファイルの +.Ql radius +または +.Ql radacct +のサービスになります。 +.Pa /etc/services +ファイルにこのようなエントリが無い場合、 +標準の RADIUS ポート 1812 および 1813 になります。 +.Pp +第 3 フィールドには共有鍵が置かれ、 +クライアントとサーバホスト以外には知られてはなりません。 +共有鍵は任意の文字列ですが、 +空白を含む場合はダブルクォートで括る必要があります。 +共有鍵の長さに制限はありませんが、 +RADIUS プロトコルでは先頭 128 文字しか使用されません。 +注意: 有名な RADIUS サーバには、 +16 文字より長い共有鍵では正しく動作しないというバグを持ったものがあります。 +.Pp +第 4 フィールドは、 +サーバから正当なリプライを受け取るまでに待つ秒数であり、 +10 進数で指定します。 +このフィールドを省略すると、デフォルトの 3 秒になります。 +.Pp +第 5 フィールドは、 +諦めるまでに最大何回サーバに認証を試みるかを示す値を 10 進数で指定します。 +省略すると、デフォルトの 3 回になります。 +これは試行回数の合計であり、リトライ回数ではないことに注意してください。 +.Pp +RADIUS サーバは、各サービスに対して最大 10 個まで指定できます。 +サーバはラウンドロビン方式で試され、有効な返答が返されるか、 +全サーバに対して、最大試行回数に達するまで続けます。 +.Pp +このファイルの標準的な置き場所は +.Pa /etc/radius.conf +です。しかし、 +.Xr rad_config 3 +を呼び出すときに別のパス名を指定できます。 +このファイルは、共有鍵という形で極めて慎重に扱うべき情報を格納する +ファイルですから、root 以外には読めないようにすべきです。 +.Sh 関連ファイル +.Pa /etc/radius.conf +.Sh 使用例 +.Bd -literal +# 全部デフォルトである単純なエントリ +acct radius1.domain.com OurLittleSecret + +# サーバはまだ廃れた RADIUS ポート使っており、 +# タイムアウトと最大試行回数を増加しています: +auth auth.domain.com:1645 "I can't see you" 5 4 + +# サーバを IP アドレスで指定: +auth 192.168.27.81 $X*#..38947ax-+= +.Ed +.Sh 関連項目 +.Xr libradius 3 +.Rs +.%A C. Rigney, et al +.%T "Remote Authentication Dial In User Service (RADIUS)" +.%O RFC 2138 +.Re +.Rs +.%A C. Rigney +.%T RADIUS Accounting +.%O RFC 2139 +.Re +.Sh 作者 +この文書を +.An John Polstra +が書き、Juniper Networks, Inc. が +.Fx +プロジェクトに寄贈しました。 diff --git a/documentation/manual-pages/ja/man5/rc.conf.5 b/documentation/manual-pages/ja/man5/rc.conf.5 new file mode 100644 index 0000000000..9c5a8649f3 --- /dev/null +++ b/documentation/manual-pages/ja/man5/rc.conf.5 @@ -0,0 +1,3097 @@ +.\" Copyright (c) 1995 +.\" Jordan K. Hubbard +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" WORD: CPU idle state CPU アイドル状態 +.\" WORD: lowest power state 最低パワー状態 +.\" WORD: lowest latency state 最小遅延状態 +.\" %FreeBSD: src/share/man/man5/rc.conf.5,v 1.221.2.11.2.1 2005/04/30 15:45:07 des Exp % +.\" +.\" $FreeBSD$ +.\" +.Dd March 12, 2005 +.Dt RC.CONF 5 +.Os +.Sh 名称 +.Nm rc.conf +.Nd システム設定情報 +.Sh 解説 +.Nm +ファイルは、ローカルホスト名、存在しないものも含め任意の +ネットワークインタフェースに関する設定の詳細、 +どのサービスをシステムの初期起動時に立ち上げるべきかを +記述する情報を含んでいます。 +一般に +.Nm +ファイルは、新規にインストールする際に、 +システムインストールユーティリティ +.Xr sysinstall 8 +によって初期化されます。 +.Pp +.Nm +の目的は、 +直接コマンドを実行したりシステム起動操作を行うことではなく、 +.Pa /etc +の中のさまざまな汎用起動スクリプトによりインクルードされ、 +.Nm +の中の設定に基づき、それらの起動スクリプト内部の動作を条件分岐させる +ことにあります。 +.Pp +.Pa /etc/rc.conf +ファイルは、 +使用可能なオプション全てのデフォルト設定を指定するファイル +.Pa /etc/defaults/rc.conf +からインクルードされます。 +オプションを +.Pa /etc/rc.conf +に指定する必要があるのは、 +システム管理者がこれらのデフォルトを上書きしたい場合だけです。 +ファイル +.Pa /etc/rc.conf.local +は、 +.Pa /etc/rc.conf +の設定を上書きするために使用されます。 +これは歴史的事情のためです。 +後述の +.Va rc_conf_files +変数を参照してください。 +.Pp +次に示すリストは、 +.Nm +ファイル中で設定可能な各変数について、 +その名前と簡単な解説をしたものです。 +.Bl -tag -width indent-two +.It Va rc_debug +.Pq Vt ブール値 +.Dq Li YES +にすると、rc スクリプトからのデバッグメッセージ出力を有効にします。 +新規スクリプトを編集したり組み込んだりするとき、誤りを診断する際に +この変数が有用かもしれません。 +この手続きは大量の出力を端末と +.Xr syslog 3 +に生成しますので、注意してください。 +.It Va rc_info +.Pq Vt ブール値 +.Dq Li NO +にすると、rc スクリプトからの情報メッセージを無効にします。 +情報メッセージは、警告やエラーとするほど深刻ではない状態のときに表示されます。 +.It Va swapfile +.Pq Vt 文字列 +.Dq Li NO +にすると +スワップファイルはインストールされません。 +.Dq Li NO +以外の場合、その値は追加スワップ領域に利用するファイルの +フルパス名として用いられます。 +.It Va apm_enable +.Pq Vt ブール値 +.Dq Li YES +に設定すると +.Xr apm 8 +コマンドでの自動電源管理 (Automatic Power Management) のサポートを有効に +します。 +.It Va apmd_enable +.Pq Vt ブール値 +.Xr apmd 8 +を実行し、ユーザランドから APM イベントを扱います。 +APM サポートも有効にします。 +.It Va apmd_flags +.Pq Vt 文字列 +.Va apmd_enable +が +.Dq Li YES +の場合、これらは +.Xr apmd 8 +デーモンに渡すフラグになります。 +.It Va devd_enable +.Pq Vt ブール値 +.Xr devd 8 +を実行し、カーネルからのデバイス追加、デバイス削除、未知のイベントを扱います。 +.It Va kldxref_enable +.Pq Vt ブール値 +デフォルトで +.Dq Li NO +です。 +.Dq Li YES +に設定すると、ブート時に、 +.Pa linker.hints +ファイルを +.Xr kldxref 8 +で自動的に再構築します。 +.It Va kldxref_clobber +.Pq Vt ブール値 +デフォルトで +.Dq Li NO +です。 +.Va kldxref_enable +が真の場合、これを +.Dq Li YES +にすると、ブート時に既存の +.Pa linker.hints +ファイルを上書きします。 +そうでない場合、 +.Pa linker.hints +ファイルが存在しない場合のみ生成されます。 +.It Va kldxref_module_path +.Pq Vt 文字列 +デフォルトで空です。 +.Xr kld 4 +モジュールを含むパスからなる、セミコロン +.Pq Ql \&; +で区切られたリストです。 +空の場合、 +.Va kern.module_path +.Xr sysctl 8 +の内容が使用されます。 +.It Va pccard_enable +.Pq Vt ブール値 +.Dq Li YES +に設定すると、起動時に PCCARD のサポートを有効にします。 +.It Va pccard_mem +.Pq Vt 文字列 +PCCARD コントローラメモリアドレスを設定します。 +.Dq Li DEFAULT +とするとデフォルト値になります。 +.It Va pccard_ifconfig +.Pq Vt 文字列 +ブート時またはカード挿入時に +.Xr ifconfig 8 +に渡される引数のリストです +(例えば、 +固定アドレスの場合は +.Dq Cm inet Li 192.168.1.1 Cm netmask Li 255.255.255.0 +などですし、 +DHCP クライアントの場合は +.Dq Li DHCP +です)。 +.It Va pccard_beep +.Pq Vt 整数 +0 である場合、PCCARD コントローラを静寂モードにします。 +1 である場合、ビープモードにします。 +2 である場合、メロディモードにします。 +.It Va pccard_conf +.Pq Vt 文字列 +.Xr pccardd 8 +デーモンの設定ファイルのパスです +(例えば +.Pa /etc/pccard.conf.sample +です)。 +.It Va pccardd_flags +.Pq Vt 文字列 +.Va pccard_enable +が +.Dq Li YES +の場合、これらは +.Xr pccardd 8 +デーモンに渡すフラグになります。 +.It Va pccard_ether_delay +.Pq Vt 文字列 +.Pa /etc/pccard_ether +スクリプト中で +.Xr dhclient 8 +を起動するまでの遅延時間を設定します。 +デフォルトは 5 秒です。 +これは、 +.Xr ed 4 +ベースの新しいカードを使用した時にシステムがハングしてしまう +ことがあるという +.Xr ed 4 +ドライバのバグを回避するためのものです。 +.It Va removable_interfaces +.Pq Vt 文字列 +.Pa /etc/pccard_ether +でサポートすべき、取り外し可能なネットワークインタフェースのリストです。 +.It Va tmpmfs +.Pa /tmp +メモリファイルシステムの生成を制御します。 +.Dq Li YES +を設定した場合、常時生成されます。 +.Dq Li NO +を設定した場合、決して生成されません。 +これら以外の値を設定した場合、 +.Pa /tmp +が書き込み可能でない場合に、メモリファイルシステムが生成されます。 +.It Va tmpsize +生成される +.Pa /tmp +メモリファイルシステムの大きさを制御します。 +.It Va tmpmfs_flags +.Pa /tmp +用のメモリファイルシステムが生成される場合に +.Xr mdmfs 8 +ユーティリティに渡される追加オプションです。 +デフォルトは +.Dq Li -S +であり、これは +.Pa /tmp +ファイルシステム上でソフトアップデートを使用するのを +禁止して、できるだけ領域を無駄遣いしないようにするものです。 +.Va tmpmfs_flags +で使用できる他のオプションについては +.Xr mdmfs 8 +を参照してください。 +.It Va varmfs +.Pa /var +メモリファイルシステムの生成を制御します。 +.Dq Li YES +を設定した場合、常時生成されます。 +.Dq Li NO +を設定した場合、決して設定されません。 +これら以外の値を設定した場合、 +.Pa /var +が書き込み可能でない場合にメモリファイルシステムが生成されます。 +.It Va varsize +.Pa /var +メモリファイルシステムの大きさを制御します。 +.It Va varmfs_flags +.Pa /var +用のメモリファイルシステムが生成される場合に +.Xr mdmfs 8 +ユーティリティに渡される追加オプションです。 +デフォルトは +.Dq Li -S +であり、これは +.Pa /var +ファイルシステム上でソフトアップデートを使用するのを +禁止して、できるだけ領域を無駄遣いしないようにするものです。 +.Va varmfs_flags +で使用できる他のオプションについては +.Xr mdmfs 8 +を参照してください。 +.It Va populate_var +.Pa /var +ファイルシステムへの自動ファイル埋め込み +.Pq automatic population +を制御します。 +.Dq Li YES +を設定した場合、常時ファイル埋め込みが行われます。 +.Dq Li NO +を設定した場合、決して埋め込みは行われません。 +これら以外の値を設定した場合、 +.Pa /var +が書き込み可能でない場合にメモリファイルシステムが生成されます。 +この過程では、 +通常のシステムで +.Pa /usr +がマウントされる前に、 +.Pa /usr +にあるコマンドのうちいくつかへのアクセスが必要です。 +.It Va local_startup +.Pq Vt 文字列 +起動スクリプトファイルを検索するディレクトリのリストです。 +.It Va script_name_sep +.Pq Vt 文字列 +起動スクリプトファイルのリストを各々のファイル名に分割するために +使用するフィールドセパレータです。 +デフォルトは空白です。 +名前に空白を含む起動スクリプトを持っていない限り、変更不要です。 +.It Va hostname +.Pq Vt 文字列 +ネットワーク上でのホストの完全な形のドメイン名 (FQDN; The +Fully Qualified Domain Name) です。 +ネットワークに接続されていない場合でも、 +この変数は確実に何か意味のあるものに設定すべきです。 +.Xr dhclient 8 +を使用してホスト名を DHCP 経由で設定している場合、この変数は +空文字列に設定すべきです。 +.It Va ipv6_enable +.Pq Vt ブール値 +IPv6 ネットワークサポートを有効にします。 +このサポートを有効にするためには、カーネルが +.Cd "options INET6" +付きでコンパイルされていることが必要です。 +.It Va nisdomainname +.Pq Vt 文字列 +ホストの NIS ドメイン名です。 +NIS を使用しないときは +.Dq Li NO +とします。 +.It Va dhclient_program +.Pq Vt 文字列 +DHCP クライアントプログラムのパスです +(ISC DHCP クライアントの +.Pa /sbin/dhclient +がデフォルトです)。 +.It Va dhclient_flags +.Pq Vt 文字列 +DHCP クライアントプログラムに渡す追加のフラグです。 +ISC DHCP クライアントについては、 +.Xr dhclient 8 +マニュアルページより利用可能なコマンドラインオプションに +ついて参照してください。 +.It Va background_dhclient +.Pq Vt ブール値 +.Dq Li YES +に設定すると、DHCP クライアントをバックグラウンドで起動します。 +ネットワークが動作していることに依存するアプリケーションで問題と +なるかもしれませんが、多くの場合は起動が早くなります。 +.It Va firewall_enable +.Pq Vt ブール値 +ファイアウォール規則を起動時にロードするには、 +.Dq Li YES +に設定します。 +.Cd "options IPFIREWALL" +を付けないでカーネルを構築した場合、 +.Pa ipfw.ko +カーネルモジュールがロードされます。 +.Va ipfilter_enable +も参照してください。 +.It Va ipv6_firewall_enable +.Pq Vt ブール値 +IPv6 での +.Va firewall_enable +相当の変数です。 +.Dq Li YES +に設定すると、IPv6 ファイアウォール規則を起動時にロードします。 +.Cd "options IPV6FIREWALL" +を付けないでカーネルを構築した場合、 +.Pa ip6fw.ko +カーネルモジュールがロードされます。 +.It Va firewall_script +.Pq Vt 文字列 +この変数は、実行するファイアウォールスクリプトのフルパスを指定します。 +デフォルトは +.Pa /etc/rc.firewall +です。 +.It Va ipv6_firewall_script +.Pq Vt 文字列 +IPv6 での +.Va firewall_script +相当の変数です。 +.It Va firewall_type +.Pq Vt 文字列 +.Pa /etc/rc.firewall +中にある選択肢から選んだファイアウォールタイプもしくは +ローカルファイアウォール規則の組を含むファイル名をつけます。 +.Pa /etc/rc.firewall +において有効なタイプは以下のものです。 +.Pp +.Bl -tag -width ".Li simple" -compact +.It Li open +無制限の IP アクセス; +.It Li closed +.Dq Li lo0 +経由を除く全ての IP サービスを禁止 +.It Li client +ワークステーション向けの基本的な保護 +.It Li simple +LAN 向けの基本的な保護 +.El +.Pp +ファイル名が指定される場合にはフルパス名でなければなりません。 +.It Va ipv6_firewall_type +.Pq Vt 文字列 +IPv6 での +.Va firewall_type +相当の変数です。 +.It Va firewall_quiet +.Pq Vt ブール値 +.Dq Li YES +に設定すると、起動時にコンソール上でファイアウォール規則の表示を行いません。 +.It Va ipv6_firewall_quiet +.Pq Vt ブール値 +IPv6 の +.Va firewall_quiet +です。 +.It Va firewall_logging +.Pq Vt ブール値 +.Dq Li YES +に設定すると、ファイアウォールのイベントロギングを有効にします。 +.Dv IPFIREWALL_VERBOSE +カーネルオプションと等価です。 +.It Va ipv6_firewall_logging +.Pq Vt ブール値 +IPv6 での +.Va firewall_logging +相当の変数です。 +.It Va firewall_flags +.Pq Vt 文字列 +.Va firewall_type +でファイル名を指定する場合、 +.Xr ipfw 8 +に渡されるフラグです。 +.It Va ipv6_firewall_flags +.Pq Vt 文字列 +IPv6 での +.Va firewall_flags +相当の変数です。 +.It Va natd_program +.Pq Vt 文字列 +.Xr natd 8 +のパスです。 +.It Va natd_enable +.Pq Vt ブール値 +.Dq Li YES +に設定すると、 +.Xr natd 8 +を有効にします。 +.Va firewall_enable +もまた +.Dq Li YES +に設定しておく必要があります。 +また、 +.Xr divert 4 +ソケットがカーネルで有効にされている必要があります。 +.Cd "options IPDIVERT" +を付けないでカーネルを構築した場合、 +.Pa ipdivert.ko +カーネルモジュールがロードされます。 +.It Va natd_interface +.Pq Vt 文字列 +.Xr natd 8 +が実行されるパブリックインタフェースの名前です。 +インタフェースの指定は、インタフェース名でも IP アドレスでもかまいません。 +.It Va natd_flags +.Pq Vt 文字列 +追加の +.Xr natd 8 +フラグはここに記述する必要があります。 +.Fl n +または +.Fl a +フラグが前述の +.Va natd_interface +とともに自動的に引数として追加されます。 +.\" ----- ipfilter_enable setting -------------------------------- +.It Va ipfilter_enable +.Pq Vt ブール値 +デフォルトは +.Dq Li NO +に設定されます。 +.Dq Li YES +に設定すると、 +.Xr ipf 8 +パケットフィルタリングを有効にします。 +.Pp +典型的な用途では、 +.Bd -literal +ipfilter_enable="YES" +ipnat_enable="YES" +ipmon_enable="YES" +ipfs_enable="YES" +.Ed +.Pp +を +.Pa /etc/rc.conf +に記述し、 +.Pa /etc/ipf.rules +と +.Pa /etc/ipnat.rules +を適切に編集する必要があるでしょう。 +.Pp +.Va ipfilter_enable +と +.Va ipnat_enable +とは別々に有効にできることに注意してください。 +.Va ipmon_enable +および +.Va ipfs_enable +を有効にするには +.Va ipfilter_enable +と +.Va ipnat_enable +の少なくともどちらか 1 つが有効になっている必要があります。 +.Pp +カーネル設定ファイル中に +.Bd -literal +options IPFILTER +options IPFILTER_LOG +options IPFILTER_DEFAULT_BLOCK +.Ed +.Pp +を置くことも良い考えです。 +.\" ----- ipfilter_program setting ------------------------------ +.It Va ipfilter_program +.Pq Vt 文字列 +.Xr ipf 8 +へのパスです (デフォルトは +.Pa /sbin/ipf +です)。 +.\" ----- ipfilter_rules setting -------------------------------- +.It Va ipfilter_rules +.Pq Vt 文字列 +デフォルトで +.Pa /etc/ipf.rules +に設定されます。 +この変数は、フィルタルール定義ファイルの名前を含みます。 +このファイルは、 +.Xr ipf 8 +コマンドが実行できるよう、読み取り可能であることが期待されます。 +.\" ----- ipv6_ipfilter_rules setting --------------------------- +.It Va ipv6_ipfilter_rules +.Pq Vt 文字列 +デフォルトは +.Pa /etc/ipf6.rules +に設定されます。 +この変数には、IPv6 フィルタルール定義ファイルの名前を含みます。 +このファイルは、 +.Xr ipf 8 +コマンドが実行できるよう、読み取り可能であることが期待されます。 +.\" ----- ipfilter_flags setting -------------------------------- +.It Va ipfilter_flags +.Pq Vt 文字列 +デフォルトは空文字列です。 +この変数には、 +.Xr ipf 8 +プログラムに渡されるフラグが含まれます。 +.\" ----- ipnat_enable setting ---------------------------------- +.It Va ipnat_enable +.Pq Vt ブール値 +デフォルトで +.Dq Li NO +に設定されます。 +.Dq Li YES +に設定すると、 +.Xr ipnat 1 +ネットワークアドレス変換を有効にします。 +詳細は +.Va ipfilter_enable +を参照してください。 +.\" ----- ipnat_program setting --------------------------------- +.It Va ipnat_program +.Pq Vt 文字列 +.Xr ipnat 1 +へのパスです (デフォルトは +.Pa /sbin/ipnat +です)。 +.\" ----- ipnat_rules setting ----------------------------------- +.It Va ipnat_rules +.Pq Vt 文字列 +デフォルトで +.Pa /etc/ipnat.rules +に設定されます。 +この変数は、ネットワークアドレス変換を定義するファイル名を含みます。 +このファイルは、 +.Xr ipnat 1 +コマンドが実行できるよう、読み取り可能であることが期待されます。 +.\" ----- ipnat_flags setting ----------------------------------- +.It Va ipnat_flags +.Pq Vt 文字列 +デフォルトは空文字列です。 +この変数には、 +.Xr ipnat 1 +プログラムへ渡されるフラグが含まれます。 +.\" ----- ipmon_enable setting ---------------------------------- +.It Va ipmon_enable +.Pq Vt ブール値 +デフォルトで +.Dq Li NO +に設定されます。 +.Dq Li YES +に設定すると、 +.Xr ipmon 8 +モニタリング +.Xr ( ipf 8 +と +.Xr ipnat 1 +のイベントのログ) を有効にします。 +この変数を設定する場合、 +.Va ipfilter_enable +あるいは +.Va ipnat_enable +も設定することが必要です。 +詳細は +.Va ipfilter_enable +を参照してください。 +.\" ----- ipmon_program setting --------------------------------- +.It Va ipmon_program +.Pq Vt 文字列 +.Xr ipmon 8 +へのパスです (デフォルトは +.Pa /sbin/ipmon +です)。 +.\" ----- ipmon_flags setting ----------------------------------- +.It Va ipmon_flags +.Pq Vt 文字列 +デフォルトで +.Dq Li -Ds +に設定されます。 +この変数は、 +.Xr ipmon 8 +プログラムに渡されるフラグを含みます。 +他の典型的な例は +.Dq Fl D Pa /var/log/ipflog +であり、これは +.Xr ipmon 8 +に +.Xr syslogd 8 +をバイパスさせて、直接ファイルにログを書かせます。 +このような場合、必ず +.Pa /etc/newsyslog.conf +を次のような感じで修正してください: +.Bd -literal +/var/log/ipflog 640 10 100 * Z /var/run/ipmon.pid +.Ed +.\" ----- ipfs_enable setting ----------------------------------- +.It Va ipfs_enable +.Pq Vt ブール値 +デフォルトでは +.Dq Li NO +に設定されます。 +この変数を +.Dq Li YES +に設定すると +.Xr ipfs 8 +が有効になり、シャットダウン時にフィルタおよび NAT 状態テーブルを +保存し、再起動時に読み込み直されるようになります。 +この変数を設定するには +.Va ipfilter_enable +あるいは +.Va ipnat_enable +も +.Dq Li YES +に設定する必要があります。 +詳細は +.Va ipfilter_enable +を参照してください。 +.Va kern_securelevel +を 3 に設定した場合、 +.Va ipfs_enable +は使用できなくなることに注意してください。 +なぜなら、セキュアレベルを引き上げることでシャットダウン時に +.Xr ipfs 8 +が状態テーブルを保存できなくなるからです。 +.\" ----- ipfs_program setting ---------------------------------- +.It Va ipfs_program +.Pq Vt 文字列 +.Xr ipfs 8 +へのパスです (デフォルトは +.Pa /sbin/ipfs +です)。 +.\" ----- ipfs_flags setting ------------------------------------ +.It Va ipfs_flags +.Pq Vt 文字列 +デフォルトは空文字列です。 +この変数には、 +.Xr ipfs 8 +プログラムに渡されるフラグが含まれます。 +.\" ----- end of added ipf hook --------------------------------- +.It Va pf_enable +.Pq Vt ブール値 +デフォルトでは +.Dq Li NO +です。 +この変数を +.Dq Li YES +と設定すると、 +.Xr pf 4 +パケットフィルタ機能が有効になります。 +.Pp +通常、 +.Pp +.Dl pf_enable="YES" +.Pp +を +.Pa /etc/rc.conf +に置くだけでなく、 +.Pa /etc/pf.conf +を適切に編集することも必要になります。 +.Pp +.Dl "device pf" +.Pp +により、 +.Xr pf 4 +パケットフィルタ機能がカーネルに組み込まれます。 +設定しない場合、モジュールからロードされます。 +.It Va pf_rules +.Pq Vt 文字列 +.Xr pf 4 +ルールセット設定ファイルのパスです +( デフォルトは +.Pa /etc/pf.conf +です)。 +.It Va pf_program +.Pq Vt 文字列 +.Xr pfctl 8 +のパスです +( デフォルトは、 +.Pa /sbin/pfctl +です )。 +.It Va pf_flags +.Pq Vt 文字列 +.Va pf_enable +に +.Dq Li YES +を設定した場合、 +これらのフラグが +.Xr pfctl 8 +プログラムがルールセットをロードするときに渡されます。 +.It Va pflog_enable +.Pq Vt ブール値 +デフォルトでは +.Dq Li NO +です。 +.Dq Li YES +に設定すると、 +.Xr pf 4 +パケットフィルタからのパケットログを取る +.Xr pflogd 8 +を有効にします。 +.It Va pflog_logfile +.Pq Vt 文字列 +.Va pflog_enable +を +.Dq Li YES +に設定した場合、この変数は +.Xr pflogd 8 +がどこにログファイルを格納するかを制御します +(デフォルトでは +.Pa /var/log/pflog +です)。 +ログファイルのローテーション調整については、 +.Pa /etc/newsyslog.conf +を確認して下さい。 +.It Va pflog_program +.Pq Vt 文字列 +.Xr pflogd 8 +プログラムのパスです +( デフォルトは +.Pa /sbin/pflogd +です )。 +.It Va pflog_flags +.Pq Vt 文字列 +デフォルトは空です。 +この変数は +.Xr pflogd 8 +プログラムに渡す追加のオプションを含みます。 +.It Va tcp_extensions +.Pq Vt ブール値 +デフォルトでは +.Dq Li YES +です。 +.Dq Li NO +に設定すると、 +.\".Rs +.%T "RFC 1323" +.\".Re +.\" .Rs/.Re でくくると、RFC 1323 の後ろに "." がついてしまうので、 +.\" はずしました。(by metal) +で述べられている +ある TCP オプションを無効にします。 +.Dq Li NO +に設定すると、ネットワークコネクションが不規則にハングアップ +する不具合や、 +それに類する他の不具合を回避する助けとなるかもしれません。 +ネットワークデバイスによっては、これらのオプションに関して +うまく動作しないものがあることが知られています。 +.It Va log_in_vain +.Pq Vt 整数 +デフォルトで 0 に設定されています。 +.Xr sysctl 8 +変数 +.Va net.inet.tcp.log_in_vain +と +.Va net.inet.udp.log_in_vain +が、 +.Xr tcp 4 +と +.Xr udp 4 +に記述されているように、指定された値に設定されます。 +.It Va tcp_keepalive +.Pq Vt ブール値 +デフォルトで +.Dq Li YES +に設定されています。 +.Dq Li NO +に設定すると、通信相手がまだ立ち上がっていて到達可能であることを +確認するための機能である、アイドル状態の TCP 接続を検証する機能を +無効にします。 +.It Va tcp_drop_synfin +.Pq Vt ブール値 +デフォルトで +.Dq Li NO +に設定されています。 +.Dq Li YES +に設定すると、 +SYN と FIN のフラグが共に設定されている TCP フレームを、 +カーネルが無視するようになります。 +これにより、OS の正体をばらす指紋を残すことを防ぎますが、 +正当なアプリケーションが動作しなくなるかもしれません。 +.Dv TCP_DROP_SYNFIN +オプション付きでカーネルを構築した場合のみ、 +本オプションが使用可能です。 +.It Va icmp_drop_redirect +.Pq Vt ブール値 +デフォルトで +.Dq Li NO +に設定されています。 +.Dq Li YES +に設定すると、 +ICMP REDIRECT パケットをカーネルが無視するようになります。 +更なる情報は +.Xr icmp 4 +を参照してください。 +.It Va icmp_log_redirect +.Pq Vt ブール値 +デフォルトで +.Dq Li NO +に設定されています。 +.Dq Li YES +に設定すると、 +ICMP REDIRECT パケットをカーネルが記録するようになります。 +ログメッセージの速度制限はありませんので、 +ネットワークに生じた問題の解決にのみ使用すべきです。 +更なる情報は +.Xr icmp 4 +を参照してください。 +.It Va icmp_bmcastecho +.Pq Vt ブール値 +.Dq Li YES +に設定すると、 +ブロードキャストまたはマルチキャストの ICMP ping パケットに +応答するようになります。 +更なる情報は +.Xr icmp 4 +を参照してください。 +.It Va ip_portrange_first +.Pq Vt 整数 +.Dq Li NO +以外に設定すると、デフォルトのポート範囲の最初のポートになります。 +更なる情報は +.Xr ip 4 +を参照してください。 +.It Va ip_portrange_last +.Pq Vt 整数 +.Dq Li NO +以外に設定すると、デフォルトのポート範囲の最後のポートになります。 +更なる情報は +.Xr ip 4 +を参照してください。 +.It Va network_interfaces +.Pq Vt 文字列 +このホスト上で設定するネットワークインタフェースのリストを +設定します。 +たとえば、システムのネットワークデバイスがループバックデバイス +.Pq Li lo0 +と +.Xr ed 4 +ドライバを使用する NIC だけであるなら +.Dq Li "lo0 ed0" +に設定されるでしょう。 +.Ar interface +の各値に対して +.Va ifconfig_ Ns Aq Ar interface +という変数も存在すると仮定されます。 +1 つのインタフェースに複数の IP アドレスを登録したい場合は、 +ここに IP エイリアスのエントリを追加することも可能です。 +対象とするインタフェースが +.Li ed0 +であると仮定すると、 +.Bd -literal +ifconfig_ed0_alias0="inet 127.0.0.253 netmask 0xffffffff" +ifconfig_ed0_alias1="inet 127.0.0.254 netmask 0xffffffff" +.Ed +.Pp +というようになります。 +.Va ifconfig_ Ns Ao Ar interface Ac Ns Va _alias Ns Aq Ar n +エントリが 1 つ見つかるごとに、 +その内容が +.Xr ifconfig 8 +に渡されます。 +最初にアクセスに失敗した時点で実行は中止されるので +.Bd -literal +ifconfig_ed0_alias0="inet 127.0.0.251 netmask 0xffffffff" +ifconfig_ed0_alias1="inet 127.0.0.252 netmask 0xffffffff" +ifconfig_ed0_alias2="inet 127.0.0.253 netmask 0xffffffff" +ifconfig_ed0_alias4="inet 127.0.0.254 netmask 0xffffffff" +.Ed +.Pp +のようにすると、alias4 は追加され +.Em ない +ことに注意してください。 +これは +alias3 エントリが存在しないことにより、 +そこで検索が中止されるからです。 +.Pp +.Pa /etc/start_if. Ns Aq Ar interface +ファイルが存在する場合、 +.Va ifconfig_ Ns Aq Ar interface +および +.Va ifconfig_ Ns Ao Ar interface Ac Ns Va _alias Ns Aq Ar n +の変数で指定されたインタフェース設定が実行される前に、 +このファイルが +.Xr sh 1 +インタプリタにより実行されます。 +.Pp +.Va ifconfig_ Ns Aq Ar interface +変数を +.Dq Li DHCP +に設定することで、インタフェースを DHCP で立ち上げることが +可能です。 +例えば +.Li ed0 +デバイスを DHCP で初期化するには、 +次のような行を指定すればよいです: +.Bd -literal +ifconfig_ed0="DHCP" +.Ed +.Pp +次のようにしてインタフェース名を変更することも可能です: +.Bd -literal +ifconfig_ed0_name="net0" +ifconfig_net0="inet 10.0.0.1 netmask 0xffff0000" +.Ed +.It Va ipv6_network_interfaces +.Pq Vt 文字列 +IPv6 での +.Va network_interfaces +相当の変数です。 +設定すべき ifconfig 変数は +.Va ifconfig_ Ns Aq Ar interface +ではなく、 +.Va ipv6_ifconfig_ Ns Aq Ar interface +です。 +エイリアスは +.Va ipv6_ifconfig_ Ns Ao Ar interface Ac Ns Va _alias Ns Aq Ar n +のように設定します。 +.Va ipv6_prefix_ Ns Aq Ar interface +も関係あります。 +.Va ipv6_ifconfig_ Ns Aq Ar interface +設定を持たないインタフェースは、 +.Va ipv6_gateway_enable +が +.Dq Li NO +に設定されている場合には、 +.Xr rtsol 8 +で自動設定されます。 +IPv6 ネットワークコードは +.Pa /etc/start_if. Ns Aq Ar interface +ファイルをサポートしないことに注意してください。 +.It Va ipv6_default_interface +.Pq Vt 文字列 +.Dq Li NO +以外に設定すると、 +これがスコープ対象のアドレスに対するデフォルト出力インタフェースになります。 +現在のところ、これは IPv6 リンクローカルマルチキャストアドレスに +対してのみ働きます。 +.It Va cloned_interfaces +.Pq Vt 文字列 +このホストに生成する、複製可能なネットワークインタフェースの +リストを設定します。 +.Va cloned_interfaces +のエントリは、設定を行うため自動的に +.Va network_interfaces +に追加されます。 +.It Va gif_interfaces +.Pq Vt 文字列 +このホストで設定する、 +.Xr gif 4 +トンネルインタフェースのリストを設定します。 +.Ar interface +の各値に対して、 +.Va gifconfig_ Ns Aq Ar interface +変数が存在すると想定されます。 +本変数の値を使用し、 +.Xr ifconfig 8 +の +.Cm tunnel +オプションの書式に従って、トンネルのリンク層を設定します。 +さらに本オプションは、リストされたインタフェースの設定を試みる前に、 +これらが +.Xr ifconfig 8 +の +.Cm create +オプションで作成されていることを保証します。 +.It Va sppp_interfaces +.Pq Vt 文字列 +このホスト上で設定すべき +.Xr sppp 4 +インタフェースのリストに設定します。 +各 +.Ar interface +に対して +.Va spppconfig_ Ns Aq Ar interface +変数が存在するものと仮定されます。 +各インタフェースは、普通の +.Va ifconfig_ Ns Aq Ar interface +設定でも設定されます。 +使用可能なオプションについての更なる情報は +.Xr spppcontrol 8 +を参照してください。 +.It Va ppp_enable +.Pq Vt ブール値 +.Dq Li YES +に設定すると、 +.Xr ppp 8 +デーモンを実行します。 +.It Va ppp_mode +.Pq Vt 文字列 +.Xr ppp 8 +デーモンを実行するモードです。 +受け付けられるモードは +.Dq Li auto , +.Dq Li ddial , +.Dq Li direct , +.Dq Li dedicated +のいずれかです。 +完全な解説はマニュアルを参照してください。 +.It Va ppp_nat +.Pq Vt ブール値 +.Dq Li YES +に設定すると、ネットワークアドレス変換を有効にします。 +.Va gateway_enable +と共に使用することにより、 +本ホストをネットワークアドレス変換ルータとして使用して、 +プライベートネットワークアドレスのホストからの +インターネットへのアクセスを可能にします。 +.It Va ppp_profile +.Pq Vt 文字列 +.Pa /etc/ppp/ppp.conf +から使用するプロファイル名です。 +.It Va ppp_user +.Pq Vt 文字列 +このユーザ名の元で +.Xr ppp 8 +を起動します。 +デフォルトでは +.Xr ppp 8 +は +.Dq Li root +が起動します。 +.It Va rc_conf_files +.Pq Vt 文字列 +本オプションは、 +.Pa /etc/defaults/rc.conf +の設定を上書きするファイルのリストを指定するために使用されます。 +ファイルは指定された順序に読み込まれますし、 +また、ファイルへの完全なパスを含む必要があります。 +デフォルトでは、指定されるファイルは +.Pa /etc/rc.conf +と +.Pa /etc/rc.conf.local +です。 +.It Va gbde_autoattach_all +.Pq Vt ブール値 +.Dq Li YES +に設定すると、 +.Pa /etc/rc.d/gbde +は +.Pa /etc/fstab +中の .bde デバイスを自動的に初期化しようとします。 +.It Va gbde_devices +.Pq Vt 文字列 +スクリプトがアタッチしようとするデバイスのリストもしくは +.Dq Li AUTO +です。 +.It Va gbde_lockdir +.Pq Vt 文字列 +.Xr gbde 4 +のロックファイルが置かれるディレクトリです。 +デフォルトのロックファイルディレクトリは +.Pa /etc +です。 +.Pp +個々の +.Xr gbde 4 +デバイスに対するロックファイルは、変数 +.Va gbde_lock_ Ns Aq Ar device +を設定することで上書きすることができます。 +ここで +.Ar device +は、暗号化デバイスから +.Dq Pa /dev/ +と +.Dq Pa .bde +の部分を除いたものです。 +.It Va gbde_attach_attempts +.Pq Vt 整数 +.Xr gbde 4 +デバイスへのアタッチを試みる回数です。 +つまり、ユーザにパスフレーズを尋ねる回数です。 +デフォルトは 3 です。 +.It Va gbde_swap_enable +.Pq Vt ブール値 +.Dq Li YES +に設定すると、 +.Pa /etc/fstab +にリストされたすべての .bde スワップデバイスを +ランダムな一回限りの鍵で初期化します。 +カーネルダンプの復旧ができなくなることに注意してください。 +.It Va root_rw_mount +.Pq Vt ブール値 +デフォルトでは +.Dq Li YES +に設定されます。 +ブート時にファイルシステムがチェックされた後、この変数が +.Dq Li YES +に設定されている場合にはルートファイルシステムを読み書き +可能にして再度マウントします。 +ルートファイルシステムをリモートの NFS 共有ファイルシステムから +マウントするディスクレスシステムの場合には、 +.Pa rc.conf +ファイルでこの変数を +.Dq Li NO +に設定する必要があります。 +.It Va fsck_y_enable +.Pq Vt ブール値 +.Dq Li YES +に設定すると、 +ファイルシステムの初期調整に失敗した場合、 +.Xr fsck 8 +を +.Fl y +フラグ付きで実行します。 +.It Va background_fsck +.Pq Vt ブール値 +.Dq Li YES +に設定すると、可能ならば、システムは +.Xr fsck 8 +をバックグラウンドで実行しようと試みます。 +.It Va background_fsck_delay +.Pq Vt 整数 +この秒数だけスリープした後で、バックグラウンド +.Xr fsck 8 +を開始します。 +デフォルトは 60 秒であり、X サーバのような巨大なアプリケーションを +.Xr fsck 8 +がディスク I/O の帯域を占有してしまう前に起動できるようにします。 +.It Va netfs_types +.Pq Vt 文字列 +ネットワークベースのファイルシステムタイプのリストです。 +通常、エンドユーザが変更すべきものではありません。 +代わりに +.Va extra_netfs_types +を使用してください。 +.It Va extra_netfs_types +.Pq Vt 文字列 +.Dq Li NO +(デフォルト) 以外に設定すると、起動時に +.Xr rc 8 +が自動マウントするのをネットワークが初期化されるまで遅らせる +必要があるファイルシステムタイプのリストをこの変数によって +拡張できます。 +これは、空白で区切られたネットワークファイルシステム記述子ペアの +リストを含める必要があります。 +それぞれのペアは、 +.Xr mount 8 +に渡されるファイルシステムタイプと、人間が読むことのできる 1 語 +での記述をコロン +.Pq Ql \&: +で結合したものです。 +デフォルトリストをこの方法で拡張する必要があるのは、 +サードパーティのファイルシステムタイプを使用する場合だけです。 +.It Va syslogd_enable +.Pq Vt ブール値 +.Dq Li YES +に設定すると、 +.Xr syslogd 8 +デーモンを起動します。 +.It Va syslogd_program +.Pq Vt 文字列 +.Xr syslogd 8 +へのパス +(デフォルトは +.Pa /usr/sbin/syslogd +です)。 +.It Va syslogd_flags +.Pq Vt 文字列 +.Va syslogd_enable +が +.Dq Li YES +の場合、これらは +.Xr syslogd 8 +に渡すフラグになります。 +.It Va inetd_enable +.Pq Vt ブール値 +.Dq Li YES +に設定すると、 +.Xr inetd 8 +デーモンを起動します。 +.It Va inetd_program +.Pq Vt 文字列 +.Xr inetd 8 +へのパス +(デフォルトは +.Pa /usr/sbin/inetd +です)。 +.It Va inetd_flags +.Pq Vt 文字列 +.Va inetd_enable +が +.Dq Li YES +の場合、これらは +.Xr inetd 8 +へ渡すフラグとなります。 +.It Va named_enable +.Pq Vt ブール値 +.Dq Li YES +に設定すると、 +.Xr named 8 +デーモンを起動します。 +.It Va named_program +.Pq Vt 文字列 +.Xr named 8 +へのパス (デフォルトは +.Pa /usr/sbin/named +です)。 +.It Va named_flags +.Pq Vt 文字列 +.Va named_enable +が +.Dq Li YES +の場合、これらは +.Xr named 8 +に渡すフラグとなります。 +.It Va named_pidfile +.Pq Vt 文字列 +これは、 +.Xr named 8 +デーモンの PID ファイルへのデフォルトパスです。 +.Xr named.conf 5 +で場所を変えた場合、これも変えてください。 +.It Va named_chrootdir +.Pq Vt 文字列 +.Xr chroot 8 +環境で実行するネームサーバのルートディレクトリです +(デフォルトは +.Pa /var/named ) +。 +空のままにすると、 +.Xr named 8 +は +.Xr chroot 8 +環境では実行されません。 +.It Va named_chroot_autoupdate +.Pq Vt ブール値 +.Dq Li NO +に設定すると、 +.Xr chroot 8 +環境の自動更新を無効にします。 +.It Va named_symlink_enable +.Pq Vt ブール値 +.Dq Li NO +に設定すると、デーモンの PID ファイルの +.Xr chroot 8 +環境へのシンボリックリンクを無効化します。 +.It Va kerberos5_server_enable +.Pq Vt ブール値 +ブート時に Kerberos 5 認証デーモンを起動したい場合は +.Dq Li YES +とします。 +.It Va kerberos5_server +.Pq Vt 文字列 +.Va kerberos5_server_enable +が +.Dq Li YES +の場合、これが Kerberos 5 認証サーバのパスになります。 +.It Va kadmind5_server_enable +.Pq Vt ブール値 +.Xr kadmind 8 +すなわち Kerberos 5 管理デーモンを起動したい場合は +.Dq Li YES +とします。 +スレーブサーバでは +.Dq Li NO +に設定します。 +.It Va kadmind5_server +.Pq Vt 文字列 +.Va kadmind5_server_enable +が +.Dq Li YES +の場合、これが Kerberos 5 管理デーモンのパスになります。 +.It Va kpasswdd_server_enable +.Pq Vt ブール値 +.Dq Li YES +に設定すると、Kerberos 5 パスワード変更デーモン +.Xr kpasswdd 8 +を実行します。 +スレーブサーバでは、 +.Dq Li NO +を設定します。 +.It Va kpasswdd_server +.Pq Vt 文字列 +.Va kpasswdd_server_enable +が +.Dq Li YES +の場合、これが Kerberos 5 パスワード変更デーモンのパスになります。 +.It Va rwhod_enable +.Pq Vt ブール値 +.Dq Li YES +に設定すると、ブート時に +.Xr rwhod 8 +デーモンを起動します。 +.It Va rwhod_flags +.Pq Vt 文字列 +.Va rwhod_enable +が +.Dq Li YES +に設定されている場合、これらは rwhod に渡すフラグになります。 +.It Va amd_enable +.Pq Vt ブール値 +.Dq Li YES +に設定すると、ブート時に +.Xr amd 8 +デーモンを起動します。 +.It Va amd_flags +.Pq Vt 文字列 +.Va amd_enable +が +.Dq Li YES +に設定されている場合、これらは amd に渡すフラグとなります。 +詳しくは +.Xr amd 8 +マニュアルページを利用してください。 +.It Va amd_map_program +.Pq Vt 文字列 +この変数が設定されている場合、 +指定されたプログラムが +.Xr amd 8 +マップのリストを取得するために実行されます。 +例えば、 +.Xr amd 8 +マップが NIS に格納されている場合、 +この変数を +.Xr ypcat 1 +が実行されるように設定して、 +.Pa amd.master +NIS マップから +.Xr amd 8 +マップのリストを取得するようにすることができます。 +.It Va update_motd +.Pq Vt ブール値 +.Dq Li YES +に設定すると、実行されているカーネルリリースを反映するように、 +ブート時に +.Pa /etc/motd +を更新します。 +.Dq Li NO +に設定すると、 +.Pa /etc/motd +は更新を行いません。 +.It Va nfs_client_enable +.Pq Vt ブール値 +.Dq Li YES +に設定すると、ブート時に NFS クライアントデーモンを起動します。 +.It Va nfs_access_cache +.Pq Vt 整数 +.Va nfs_client_enable +が +.Dq Li YES +の場合、この変数に +.Dq Li 0 +を設定して +NFS ACCESS +RPC キャッシングを無効化することができますし、 +NFS ACCESS 結果がキャッシュされる秒数を指定することもできます。 +2-10 秒の値を設定すると、 +多くの NFS 操作に対するネットワークトラフィックを十分減らせます。 +.It Va nfs_server_enable +.Pq Vt ブール値 +.Dq Li YES +に設定すると、ブート時に NFS サーバデーモンを起動します。 +.It Va nfs_server_flags +.Pq Vt 文字列 +.Va nfs_server_enable +が +.Dq Li YES +の場合、これらは +.Xr nfsd 8 +デーモンに渡すフラグとなります。 +.It Va mountd_enable +.Pq Vt ブール値 +.Dq Li YES +に設定し +.Va nfs_server_enable +を設定しないと、 +.Xr mountd 8 +は起動しますが +.Xr nfsd 8 +デーモンは起動しません。 +実際に NFS は使用せずに CFS を使用する場合に、一般的に必要となります。 +.It Va mountd_flags +.Pq Vt 文字列 +.Va mountd_enable +が +.Dq Li YES +の場合、これらは +.Xr mountd 8 +デーモンへのフラグとなります。 +.It Va weak_mountd_authentication +.Pq Vt ブール値 +.Dq Li YES +に設定すると、PCNFSD のようなサービスに対し、 +権限付けられていないマウント要求を許すようになります。 +.It Va nfs_reserved_port_only +.Pq Vt ブール値 +.Dq Li YES +に設定すると、安全なポート上でのみ NFS サービスを提供します。 +.It Va nfs_bufpackets +.Pq Vt 整数 +数値を設定すると、その数のパケットに相当するソケットバッファ空間が +NFS クライアント上に予約されます。 +カーネルのデフォルトは、通常は 4 です。 +ギガビットネットワークの場合、これより大きな値を設定した方が +性能が向上するかもしれません。 +最小値は 2 であり、最大値は 64 です。 +.It Va rpc_lockd_enable +.Pq Vt ブール値 +この変数が +.Dq Li YES +に設定され、しかも NFS サーバである場合、ブート時に +.Xr rpc.lockd 8 +を起動します。 +.It Va rpc_statd_enable +.Pq Vt ブール値 +この変数が +.Dq Li YES +に設定され、しかも NFS サーバである場合、ブート時に +.Xr rpc.statd 8 +を起動します。 +.It Va rpcbind_program +.Pq Vt 文字列 +.Xr rpcbind 8 +へのパス (デフォルトは +.Pa /usr/sbin/rpcbind +です)。 +.It Va rpcbind_enable +.Pq Vt ブール値 +.Dq Li YES +の場合、ブート時に +.Xr rpcbind 8 +サービスを起動します。 +.It Va rpcbind_flags +.Pq Vt 文字列 +.Va rpcbind_enable +が +.Dq Li YES +の場合、これらは +.Xr rpcbind 8 +デーモンに渡すフラグとなります。 +.It Va keyserv_enable +.Pq Vt ブール値 +.Dq Li YES +に設定すると、Secure RPC を実行するため起動時に +.Xr keyserv 8 +デーモンを実行します。 +.It Va keyserv_flags +.Pq Vt 文字列 +.Va keyserv_enable +が +.Dq Li YES +の場合、これらは +.Xr keyserv 8 +デーモンに渡すフラグになります。 +.It Va pppoed_enable +.Pq Vt ブール値 +.Dq Li YES +に設定すると、ブート時に +.Xr pppoed 8 +デーモンを起動し、PPP over Ethernet サービスを提供します。 +.It Va pppoed_ Ns Ar provider +.Pq Vt 文字列 +.Xr pppoed 8 +はこの +.Ar provider +に対する要求を待ち受け、最終的にはこの名前を +.Ar system +引数に与えて +.Xr ppp 8 +を実行します。 +.It Va pppoed_flags +.Pq Vt 文字列 +.Xr pppoed 8 +へ渡す追加のフラグ。 +.It Va pppoed_interface +.Pq Vt 文字列 +.Xr pppoed 8 +が実行されるネットワークインタフェース。 +.Va pppoed_enable +が +.Dq Li YES +に設定された場合、必須です。 +.It Va timed_enable +.Pq Vt ブール値 +.Dq Li YES +なら、ブート時に +.Xr timed 8 +サービスを実行します。 +このコマンドは、全ホストについて一貫した +.Dq "ネットワーク時間" +が確立されなければならないマシンネットワークのためにあります。 +これが有用である典型例は、 +ファイルのタイムスタンプがネットワーク全体で一貫性をもつことが +期待されるような、大規模 NFS 環境です。 +.It Va timed_flags +.Pq Vt 文字列 +.Va timed_enable +が +.Dq Li YES +の場合、これらは +.Xr timed 8 +サービスに渡すフラグとなります。 +.It Va ntpdate_enable +.Pq Vt ブール値 +.Dq Li YES +に設定すると、システム起動時に +.Xr ntpdate 8 +を実行します。 +このコマンドは、ある標準的な参照先を元に、ただ +.Em 1 回 +だけシステム時刻を同期させるためにあります。 +また、システムを最初にインストールする際、 +この値を (知られているサーバのリストから) 初期設定するオプションも +.Xr sysinstall 8 +プログラムが提供しています。 +.It Va ntpdate_hosts +.Pq Vt 文字列 +起動時に同期を取る NTP サーバを空白で区切って並べたリストです。 +デフォルトでは、ファイル +.Pa /etc/ntp.conf +が存在する場合には、このファイルにリストされたサーバを使用します。 +.It Va ntpdate_program +.Pq Vt 文字列 +.Xr ntpdate 8 +へのパス +(デフォルトは +.Pa /usr/sbin/ntpdate +です)。 +.It Va ntpdate_flags +.Pq Vt 文字列 +.Va ntpdate_enable +が +.Dq Li YES +の場合、これらは +.Xr ntpdate 8 +コマンドに渡すフラグとなります (通常はホスト名)。 +.It Va ntpd_enable +.Pq Vt ブール値 +.Dq Li YES +に設定すると、ブート時に +.Xr ntpd 8 +コマンドが起動されます。 +.It Va ntpd_program +.Pq Vt 文字列 +.Xr ntpd 8 +へのパス +(デフォルトは +.Pa /usr/sbin/ntpd +です)。 +.It Va ntpd_flags +.Pq Vt 文字列 +.Va ntpd_enable +が +.Dq Li YES +の場合、これらは +.Xr ntpd 8 +デーモンに渡すフラグとなります。 +.It Va ntpd_sync_on_start +.Pq Vt ブール値 +この変数が +.Dq Li YES +に設定されている場合、 +.Xr ntpd 8 +は +.Fl g +フラグ付きで実行されます。 +この場合、起動時にシステムクロックを同期させます。 +.Fl g +オプションに関する詳細は +.Xr ntpd 8 +を参照してください。 +.Xr ntpdate 8 +を使用したり、あるいは +.Va ntpdate_enable +変数を指定したりする代わりにこの変数を使用するのは望ましい +方法です。 +.It Va nis_client_enable +.Pq Vt ブール値 +.Dq Li YES +に設定すると、システムブート時に +.Xr ypbind 8 +サービスを起動します。 +.It Va nis_client_flags +.Pq Vt 文字列 +.Va nis_client_enable +が +.Dq Li YES +の場合、これらは +.Xr ypbind 8 +サービスに渡すフラグとなります。 +.It Va nis_ypset_enable +.Pq Vt ブール値 +.Dq Li YES +に設定すると、システムブート時に +.Xr ypset 8 +デーモンを起動します。 +.It Va nis_ypset_flags +.Pq Vt 文字列 +.Va nis_ypset_enable +が +.Dq Li YES +の場合、これらは +.Xr ypset 8 +デーモンに渡すフラグとなります。 +.It Va nis_server_enable +.Pq Vt ブール値 +.Dq Li YES +に設定すると、システムブート時に +.Xr ypserv 8 +デーモンを起動します。 +.It Va nis_server_flags +.Pq Vt 文字列 +.Va nis_server_enable +が +.Dq Li YES +の場合、これらは +.Xr ypserv 8 +デーモンに渡すフラグとなります。 +.It Va nis_ypxfrd_enable +.Pq Vt ブール値 +.Dq Li YES +に設定すると、システムブート時に +.Xr rpc.ypxfrd 8 +デーモンを起動します。 +.It Va nis_ypxfrd_flags +.Pq Vt 文字列 +.Va nis_ypxfrd_enable +が +.Dq Li YES +の場合、これらは +.Xr rpc.ypxfrd 8 +デーモンに渡すフラグとなります。 +.It Va nis_yppasswdd_enable +.Pq Vt ブール値 +.Dq Li YES +に設定すると、システムブート時に +.Xr rpc.yppasswdd 8 +デーモンを起動します。 +.It Va nis_yppasswdd_flags +.Pq Vt 文字列 +.Va nis_yppasswdd_enable +が +.Dq Li YES +の場合、これらは +.Xr rpc.yppasswdd 8 +デーモンに渡すフラグとなります。 +.It Va rpc_ypupdated_enable +.Pq Vt ブール値 +.Dq Li YES +に設定すると、システム起動時に +.Nm rpc.ypupdated +デーモンを実行します。 +.It Va defaultrouter +.Pq Vt 文字列 +.Dq Li NO +が設定されていない場合、このホスト名または IP アドレスを持つ +デフォルトルートを +作成します (このルータ名もネームサーバに到達する必要がある +場合は IP アドレスを使用すること!)。 +.It Va ipv6_defaultrouter +.Pq Vt 文字列 +IPv6 での +.Va defaultrouter +相当の変数です。 +.It Va static_routes +.Pq Vt 文字列 +システムブート時に追加すべきスタティックルートのリストを +設定します。 +.Dq Li NO +以外を設定した場合、その値を空白で区切った要素 +.Ar element +それぞれに対し変数 +.Va route_ Ns Aq Ar element +が存在すると仮定され、後でこれらの内容が +.Dq Nm route Cm add +操作に渡されることになります。 +例えば、 +.Bd -literal +static_routes="mcast gif0local" +route_mcast="-net 224.0.0.0/4 -iface gif0" +route_gif0local="-host 169.254.1.1 -iface lo0" +.Ed +.It Va ipv6_static_routes +.Pq Vt 文字列 +IPv6 での +.Va static_routes +相当の変数です。 +.Dq Li NO +以外に設定した場合、その値を空白で区切った要素 +.Ar element +それぞれに対し変数 +.Va ipv6_route_ Ns Aq Ar element +が存在すると仮定され、後でこれらの内容が +.Dq Nm route Cm add Fl inet6 +操作に渡されることになります。 +.It Va natm_static_routes +.Pq Vt 文字列 +.Xr natmip 4 +での +.Va static_routes +相当の変数です。 +空でない場合、その値を空白で区切った要素 +.Ar element +それぞれに対し変数 +.Va route_ Ns Aq Ar element +が存在することが仮定され、後でこれらの内容が +.Dq Nm atmconfig Cm natm Cm add +操作に渡されることになります。 +.It Va gateway_enable +.Pq Vt ブール値 +.Dq Li YES +に設定すると、IP ルータとして動作するように、 +例えば、インタフェース間でパケットをフォワードするように +ホストを設定します。 +.It Va ipv6_gateway_enable +.Pq Vt ブール値 +IPv6 での +.Va gateway_enable +相当の変数です。 +.It Va router_enable +.Pq Vt ブール値 +.Dq Li YES +に設定すると、 +.Va router +および +.Va router_flags +の設定に基づいて、ある種のルーティングデーモンを実行します。 +.It Va ipv6_router_enable +.Pq Vt ブール値 +IPv6 での +.Va router_enable +相当の変数です。 +.Dq Li YES +に設定すると、 +.Va ipv6_router +および +.Va ipv6_router_flags +の設定に基づいて、ある種のルーティングデーモンを実行します。 +.It Va router +.Pq Vt 文字列 +.Va router_enable +が +.Dq Li YES +に設定されると、これが使用するルーティングデーモン名になります。 +.It Va ipv6_router +.Pq Vt 文字列 +IPv6 での +.Va router +相当の変数です。 +.It Va router_flags +.Pq Vt 文字列 +.Va router_enable +が +.Dq Li YES +に設定されると、これらがルーティングデーモンへ渡すフラグとなります。 +.It Va ipv6_router_flags +.Pq Vt 文字列 +IPv6 での +.Va router_flags +相当の変数です。 +.It Va mrouted_enable +.Pq Vt ブール値 +.Dq Li YES +に設定すると、マルチキャストルーティングデーモン +.Xr mrouted 8 +を起動します。 +.It Va mroute6d_enable +.Pq Vt ブール値 +IPv6 での +.Va mrouted_enable +相当の変数です。 +.Dq Li YES +に設定すると、IPv6 マルチキャストルーティングデーモンを実行します。 +IPv6 マルチキャストルーティングデーモンは +.Fx +ベースシステムに含まれていませんが、 +.Xr pim6dd 8 +を +.Fx +Ports Collection からインストールすることができます。 +.It Va mrouted_flags +.Pq Vt 文字列 +.Va mrouted_enable +が +.Dq Li YES +の場合、これらは +.Xr mrouted 8 +へ渡すフラグとなります。 +.It Va mroute6d_flags +.Pq Vt 文字列 +IPv6 での +.Va mrouted_flags +相当の変数です。 +.Va mroute6d_enable +が +.Dq Li YES +の場合、 +これらは IPv6 マルチキャストルーティングデーモンへ渡すフラグとなります。 +.It Va mroute6d_program +.Pq Vt 文字列 +.Va mroute6d_enable +が +.Dq Li YES +の場合、これが IPv6 マルチキャストルーティングデーモンのパスです。 +.It Va rtadvd_enable +.Pq Vt ブール値 +.Dq Li YES +の場合、起動時に +.Xr rtadvd 8 +デーモンを実行します。 +.Xr rtadvd 8 +は +.Va ipv6_gateway_enable +も +.Dq Li YES +に設定されている場合のみ実行します。 +.Xr rtadvd 8 +ユーティリティは、ルータ広告パケットを、 +.Va rtadvd_interfaces +で指定したインタフェースへ送ります。 +この変数は非常に注意を払ったときのみ有効にすべきです。 +.Xr rtadvd.conf 5 +を細かく調整したいと思うかもしれません。 +.It Va rtadvd_interfaces +.Pq Vt 文字列 +.Va rtadvd_enable +が +.Dq Li YES +の場合、これが使用するインタフェースリストです。 +.It Va ipxgateway_enable +.Pq Vt ブール値 +.Dq Li YES +に設定すると、IPX トラフィックのルーティングを有効にします。 +.It Va ipxrouted_enable +.Pq Vt ブール値 +.Dq Li YES +に設定すると、ブート時に +.Xr IPXrouted 8 +デーモンを起動します。 +.It Va ipxrouted_flags +.Pq Vt 文字列 +.Va ipxrouted_enable +が +.Dq Li YES +の場合、これらは +.Xr IPXrouted 8 +デーモンへ渡すフラグとなります。 +.It Va arpproxy_all +.Pq Vt ブール値 +.Dq Li YES +に設定すると、グローバルプロキシ ARP を有効にします。 +.It Va forward_sourceroute +.Pq Vt ブール値 +これが +.Dq Li YES +に設定され、更に +.Va gateway_enable +もまた +.Dq Li YES +に設定されている場合、 +送信元が経路指定したパケット (source routed packets) がフォワードされます。 +.It Va accept_sourceroute +.Pq Vt ブール値 +.Dq Li YES +に設定すると、 +システムは自分宛の送信元経路指定パケットを受け付けます。 +.It Va rarpd_enable +.Pq Vt ブール値 +.Dq Li YES +に設定すると、システムブート時に +.Xr rarpd 8 +デーモンを起動します。 +.It Va rarpd_flags +.Pq Vt 文字列 +.Va rarpd_enable +が +.Dq Li YES +の場合、これらは +.Xr rarpd 8 +デーモンへ渡すフラグとなります。 +.It Va bootparamd_enable +.Pq Vt ブール値 +.Dq Li YES +に設定すると、システムブート時に +.Xr bootparamd 8 +デーモンを起動します。 +.It Va bootparamd_flags +.Pq Vt 文字列 +.Va bootparamd_enable +が +.Dq Li YES +の場合、これらは +.Xr bootparamd 8 +デーモンへ渡すフラグとなります。 +.It Va stf_interface_ipv4addr +.Pq Vt 文字列 +.Dq Li NO +以外に設定すると、これが 6to4 (IPv6 over IPv4 トンネリングインタフェース) +のローカル IPv4 アドレスです。 +6to4 インタフェースを有効にするには、このエントリを指定してください。 +.It Va stf_interface_ipv4plen +.Pq Vt 整数 +6to4 IPv4 アドレスのプレフィックス長であり、対向アドレス範囲を限定します。 +有効な値は 0-31 です。 +.It Va stf_interface_ipv6_ifid +.Pq Vt 文字列 +.Xr stf 4 +の IPv6 インタフェース ID です。 +.Dq Li AUTO +に設定可能です。 +.It Va stf_interface_ipv6_slaid +.Pq Vt 文字列 +.Xr stf 4 +の IPv6 サイトレベルアグリゲータです。 +.It Va ipv6_faith_prefix +.Pq Vt 文字列 +.Dq Li NO +以外に設定すると、これが faith プレフィックスになり、 +FAITH IPv6-to-IPv4 TCP 変換器を有効にします。 +.Xr faithd 8 +の設定も必要です。 +.It Va ipv6_ipv4mapping +.Pq Vt ブール値 +.Dq Li YES +に設定すると、 +.Li ( ::ffff:a.b.c.d +のような) +IPv4 をマップした IPv6 アドレス通信を有効にします。 +.It Va atm_enable +.Pq Vt ブール値 +.Dq Li YES +に設定すると、 +システムブート時に ATM インタフェースの設定を有効にします。 +次に説明する ATM 関連の変数に関し、 +利用可能なコマンドパラメータの更なる詳細については、 +.Xr atm 8 +のマニュアルページを参照してください。 +更なる詳細な設定情報に関しては、 +.Pa /usr/share/examples/atm +中のファイルも参照してください。 +.It Va atm_load +.Pq Vt 文字列 +ロードすべき物理 ATM インタフェースドライバのリストです。 +典型的な値は +.Dq Li hfa_pci +や +.Dq Li hea_pci +です。 +.It Va atm_netif_ Ns Aq Ar intf +.Pq Vt 文字列 +ATM 物理インタフェース +.Ar intf +に対し、本変数は、 +生成すべき ATM ネットワークインタフェースの名前の +プレフィックスと数字を定義します。 +値はコマンド +.Dq Nm atm Cm "set netif" Ar intf +のパラメータとして渡されます。 +.It Va atm_sigmgr_ Ns Aq Ar intf +.Pq Vt 文字列 +ATM 物理インタフェース +.Ar intf +に対し、本変数は使用すべき ATM シグナリングマネージャを定義します。 +値はコマンド +.Dq Nm atm Cm attach Ar intf +のパラメータとして渡されます。 +.It Va atm_prefix_ Ns Aq Ar intf +.Pq Vt 文字列 +ATM 物理インタフェース +.Ar intf +に対し、本変数は、 +UNI シグナリングマネージャを使用するインタフェースの +NSAP プレフィックスを定義します。 +.Dq Li ILMI +に設定すると、プレフィックスは自動的に +.Xr ilmid 8 +デーモンを介して設定されます。 +そうでない場合、値はコマンド +.Dq Nm atm Cm "set prefix" Ar intf +のパラメータとして渡されます。 +.It Va atm_macaddr_ Ns Aq Ar intf +.Pq Vt 文字列 +ATM 物理インタフェース +.Ar intf +に対し、本変数は、 +UNI シグナリングマネージャを使用するインタフェースの +MAC アドレスを定義します。 +.Dq Li NO +に設定すると、ATM インタフェースカードに格納されている +ハードウェア MAC アドレスが使用されます。 +そうでない場合、値はコマンド +.Dq Nm atm Cm "set mac" Ar intf +のパラメータとして渡されます。 +.It Va atm_arpserver_ Ns Aq Ar netif +.Pq Vt 文字列 +ATM 物理インタフェース +.Ar netif +に対し、本変数は、ATMARP サービスを提供するホストの ATM アドレスを定義します。 +本変数は、UNI シグナリングマネージャを使用するインタフェースにおいてのみ +利用可能です。 +.Dq Li local +に設定すると、本ホストが ATMARP サーバになります。 +値はコマンド +.Dq Nm atm Cm "set arpserver" Ar netif +のパラメータとして渡されます。 +.It Va atm_scsparp_ Ns Aq Ar netif +.Pq Vt ブール値 +.Dq Li YES +に設定すると、ネットワークインタフェース +.Ar netif +に対する SCSP/ATMARP サービスが、 +.Xr scspd 8 +および +.Xr atmarpd 8 +を使用して開始されます。 +本変数は +.Va atm_arpserver_ Ns Aq Ar netif +が +.Dq Li local +に設定されている場合にのみ利用可能です。 +.It Va atm_pvcs +.Pq Vt 文字列 +システムブート時に追加したい ATM PVC のリストを設定します。 +この値を空白で区切った要素 +.Ar element +それぞれに対し、変数 +.Va atm_pvc_ Ns Aq Ar element +が存在すると仮定されます。 +これらの変数それぞれについて、その値がコマンド +.Dq Nm atm Cm "add pvc" +のパラメータとして渡されます。 +.It Va atm_arps +.Pq Vt 文字列 +システムブート時に追加したい、 +永続的な ATM ARP エントリのリストを設定します。 +この値の中で空白で区切られた +.Ar element +ごとに、変数 +.Va atm_arp_ Ns Aq Ar element +が存在するものと仮定されます。 +これらの変数の値がコマンド +.Dq Nm atm Cm "add arp" +のパラメータとして渡されます。 +.It Va natm_interfaces +.Pq Vt 文字列 +.Xr harp 4 +を介して HARP でも使用される、 +.Xr natm 4 +インタフェースのリストに設定します。 +このリストが空ではない場合、このリスト中のすべてのインタフェースが +.Xr ifconfig 8 +で立ち上げられ、 +.Xr harp 4 +がロードされます。 +これが動作するためには、 +該当するインタフェースドライバがカーネルに組み込まれているか +ルートパーティションに存在することが必要です。 +.It Va keybell +.Pq Vt 文字列 +キーボードベル音。 +デフォルト動作が必要な場合、 +.Dq Li normal , +.Dq Li visual , +.Dq Li off , +.Dq Li NO +のいずれかに設定します。 +詳細については +.Xr kbdcontrol 1 +マニュアルページを参照してください。 +.It Va keyboard +.Pq Vt 文字列 +空文字列以外を設定した場合、このデバイスを +仮想コンソールのキーボード入力として設定します。 +.It Va keymap +.Pq Vt 文字列 +.Dq Li NO +に設定すると、キーマップはインストールされません。 +それ以外の場合、 +ここで指定した値 +value +がキーマップファイル +.Pa /usr/share/syscons/keymaps/ Ns Ao Ar value Ac Ns Pa .kbd +をインストールするのに用いられます。 +.It Va keyrate +.Pq Vt 文字列 +キーボードのリピートスピードです。 +以下のいずれかに設定します。 +.Dq Li slow , +.Dq Li normal , +.Dq Li fast +か、 +デフォルト値を希望する場合は +.Dq Li NO +とします。 +.It Va keychange +.Pq Vt 文字列 +.Dq Li NO +以外に設定すると、その値でファンクションキーをプログラムしようとします。 +指定できる値は単一の文字列で, +.Dq Ar funkey_number new_value Op Ar funkey_number new_value ... . +という形式でないといけません。 +.It Va cursor +.Pq Vt 文字列 +カーソルの動作を明示的に指定する場合は +.Dq Li normal , +.Dq Li blink , +.Dq Li destructive +のいずれかの値に設定します。 +デフォルト動作を選ぶには +.Dq Li NO +とします。 +.It Va scrnmap +.Pq Vt 文字列 +.Dq Li NO +に設定すると、スクリーンマップはインストールされません。 +それ以外の場合には、ここで指定した +value +がスクリーンマップファイル +.Pa /usr/share/syscons/scrnmaps/ Ns Aq Ar value +をインストールするのに用いられます。 +.It Va font8x16 +.Pq Vt 文字列 +.Dq Li NO +に設定すると、スクリーンサイズの要求に対しデフォルトの 8x16 フォント値が +用いられます。 +それ以外の場合は +.Pa /usr/share/syscons/fonts/ Ns Aq Ar value +の値が用いられます。 +.It Va font8x14 +.Pq Vt 文字列 +.Dq Li NO +に設定すると、スクリーンサイズの要求に対しデフォルトの 8x14 フォント値が +用いられます。 +それ以外の場合は +.Pa /usr/share/syscons/fonts/ Ns Aq Ar value +の値が用いられます。 +.It Va font8x8 +.Pq Vt 文字列 +.Dq Li NO +に設定すると、スクリーンサイズの要求に対しデフォルトの 8x8 フォント値が +用いられます。 +それ以外の場合は +.Pa /usr/share/syscons/fonts/ Ns Aq Ar value +の値が用いられます。 +.It Va blanktime +.Pq Vt 整数 +.Dq Li NO +に設定すると、デフォルトのスクリーンブランク時間間隔が用いられます。 +それ以外の場合は +.Ar value +秒に設定されます。 +.It Va saver +.Pq Vt 文字列 +.Dq Li NO +以外に設定すると、これが実際に使用する +スクリーンセーバ +.Li ( blank , snake , daemon +など) となります。 +.It Va moused_nondefault_enable +.Pq Vt 文字列 +.Dq Li NO +に設定した場合、コマンド行で指定したマウスデバイスが +.Pa /etc/rc.d/moused +スクリプトからは自動的に有効とみなされなくなります。 +この変数を +.Dq Li YES +にすることで、例えば +.Xr usb 4 +マウスが差し込まれたらすぐに使用できるようになります。 +.It Va moused_enable +.Pq Vt 文字列 +.Dq Li YES +に設定すると、コンソール上でのカット/ペーストセレクション用に +.Xr moused 8 +デーモンが起動されます。 +.It Va moused_type +.Pq Vt 文字列 +このホストに接続しているマウスのプロトコルのタイプ。 +.Va moused_enable +が +.Dq Li YES +の場合、この変数は必ず設定しなければなりません。 +多くの場合、 +.Xr moused 8 +デーモンは適切なマウスタイプを自動的に検出することができます。 +デーモンにマウスを検出させるには、この変数を +.Dq Li auto +に設定します。 +自動検出が失敗する場合、以下のリストから 1 つを選びます。 +.Pp +マウスが PS/2 マウスポートに接続されている場合、 +.Dq Li auto +か +.Dq Li ps/2 +を常に指定する必要があります。 +マウスのブランドやモデルには無関係です。 +同様に、マウスがバスマウスポートに接続されている場合、 +.Dq Li auto +か +.Dq Li busmouse +を選択してください。 +他のプロトコルはシリアルマウス用であり、 +PS/2 マウスおよびバスマウスでは動作しません。 +USB マウスの場合、 +.Dq Li auto +のみが、動作する唯一のプロトコルです。 +.Pp +.Bl -tag -width ".Li x10mouseremote" -compact +.It Li microsoft +Microsoft マウス (シリアル) +.It Li intellimouse +Microsoft IntelliMouse (シリアル) +.It Li mousesystems +Mouse system 社製のマウス (シリアル) +.It Li mmseries +MM シリーズのマウス (シリアル) +.It Li logitech +Logitech 製のマウス (シリアル) +.It Li busmouse +バスマウス +.It Li mouseman +Logitech の MouseMan および TrackMan (シリアル) +.It Li glidepoint +ALPS 製の GlidePoint (シリアル) +.It Li thinkingmouse +Kensington 製の ThinkingMouse (シリアル) +.It Li ps/2 +PS/2 マウス +.It Li mmhittab +MM の HitTablet (シリアル) +.It Li x10mouseremote +X10 MouseRemote (シリアル) +.It Li versapad +Interlink VersaPad (シリアル) +.El +.Pp +お使いのマウスが上記のリストにない場合でも、 +リスト中のいずれかと互換性があるかも知れません。 +互換性に関する情報については +.Xr moused 8 +のマニュアルページを参照してください。 +.Pp +また、 +この変数が有効であるときは、(Xサーバのような) 他の全ての +マウスクライアントは仮想マウスデバイス +.Pa /dev/sysmouse +を通してマウスにアクセスし、 +それを +.Dq Li sysmouse +タイプのマウスとして設定すべきであると +いうことにも注意すべきです。 +これは、 +.Xr moused 8 +使用時は、全てのマウスデータがこの単一の標準フォーマットに +変換されるためです。 +クライアントプログラムが +.Dq Li sysmouse +タイプを +サポートしないなら +.Dq Li mousesystems +を +指定してください。 +これがその次に望ましいタイプです。 +.It Va moused_port +.Pq Vt 文字列 +.Va moused_enable +が +.Dq Li YES +の場合、これはマウスが接続されている実際のポートになります。 +たとえば、COM1 シリアルマウスに対しては +.Pa /dev/cuad0 +、PS/2 マウスに対しては +.Pa /dev/psm0 +、バスマウスに対しては +.Pa /dev/mse0 +となります。 +.It Va moused_flags +.Pq Vt 文字列 +.Va moused_type +が設定されている場合、これらは +.Xr moused 8 +デーモンに渡す追加のフラグとなります。 +.It Va mousechar_start +.Pq Vt 整数 +.Dq Li NO +に設定すると、デフォルトのマウスカーソル文字範囲 +.Li 0xd0 Ns - Ns Li 0xd3 +が使用されます。 +そうでない場合、範囲の開始位置を +.Ar value +文字に設定されます。 +.Xr vidcontrol 1 +を参照してください。 +デフォルトの範囲が言語のコード表で占められている場合に使用してください。 +.It Va allscreens_flags +.Pq Vt 文字列 +設定すると、各仮想端末 +.Pq Pa /dev/ttyv* +に対し、これらのオプションを使用して +.Xr vidcontrol 1 +を実行します。 +例えば +.Dq Fl m Cm on +は、 +.Va moused_enable +が +.Dq Li YES +に設定されている場合、全仮想端末上でマウスポインタを有効にします。 +.It Va allscreens_kbdflags +.Pq Vt 文字列 +設定されると、各仮想端末 +.Pq Pa /dev/ttyv* +に対し、 +.Xr kbdcontrol 1 +がこれらのオプション付きで実行されます。 +例えば、 +.Dq Fl h Li 200 +は +.Xr syscons 4 +をスクロールバック (ヒストリ) バッファ 200 行に設定します。 +.It Va cron_enable +.Pq Vt ブール値 +.Dq Li YES +に設定すると、システムブート時に +.Xr cron 8 +デーモンを起動します。 +.It Va cron_program +.Pq Vt 文字列 +.Xr cron 8 +へのパス +(デフォルトは +.Pa /usr/sbin/cron +です)。 +.It Va cron_flags +.Pq Vt 文字列 +.Va cron_enable +が +.Dq Li YES +を設定されている場合、これが +.Xr cron 8 +へ渡すフラグとなります。 +.It Va cron_dst +.Pq Vt ブール値 +.Dq Li YES +に設定されている場合、 +.Xr cron 8 +における夏時間移行時の特別扱いが有効になります +.Fl ( s +フラグの使用と等価です)。 +.It Va lpd_program +.Pq Vt 文字列 +.Xr lpd 8 +へのパス (デフォルトは +.Pa /usr/sbin/lpd +です)。 +.It Va lpd_enable +.Pq Vt ブール値 +.Dq Li YES +に設定すると、システムブート時に +.Xr lpd 8 +デーモンを起動します。 +.It Va lpd_flags +.Pq Vt 文字列 +.Va lpd_enable +が +.Dq Li YES +の場合、これらは +.Xr lpd 8 +デーモンに渡すフラグとなります。 +.It Va mta_start_script +.Pq Vt 文字列 +本変数は、メール転送エージェントを起動するスクリプトへの +フルパスを指定します。 +デフォルトは、 +.Pa /etc/rc.sendmail +です。 +.Pa /etc/rc.sendmail +が使用する +.Va sendmail_* +変数は、 +.Xr rc.sendmail 8 +マニュアルページに記述してあります。 +.It Va dumpdev +.Pq Vt 文字列 +システムクラッシュ時にクラッシュダンプを書き込むデバイス +(通常はスワップパーティション) を指定します。 +この変数の値は +.Xr dumpon 8 +への引数として渡されます。 +クラッシュダンプを無効にするには、この変数を +.Dq Li NO +に設定します。 +.It Va dumpdir +.Pq Vt 文字列 +クラッシュ後にシステムがリブートするとき、 +.Va dumpdev +変数で指定されるデバイスにクラッシュダンプが見付かると、 +.Xr savecore 8 +は、 +このクラッシュダンプとカーネルのコピーを、 +.Va dumpdir +変数で指定されるディレクトリへ保存します。 +デフォルト値は +.Pa /var/crash +です。 +.Va dumpdir +を +.Dq Li NO +に設定すると、ブート時に +.Xr savecore 8 +を起動しません。 +.It Va savecore_flags +.Pq Vt 文字列 +クラッシュダンプが有効な場合、これらは +.Xr savecore 8 +ユーティリティに渡すフラグになります。 +.It Va enable_quotas +.Pq Vt ブール値 +.Dq Li YES +に設定すると、システム起動時に、 +.Xr quotaon 8 +コマンドによってユーザディスクのクォータチェックを有効にします。 +.It Va check_quotas +.Pq Vt ブール値 +.Dq Li YES +に設定すると、 +.Xr quotacheck 8 +コマンドによってユーザディスクのクォータチェックを有効にします。 +.It Va accounting_enable +.Pq Vt ブール値 +.Dq Li YES +に設定すると、 +.Xr accton 8 +機能でシステムアカウンティングを有効にします。 +.It Va ibcs2_enable +.Pq Vt ブール値 +.Dq Li YES +に設定すると、 +システム初期ブート時に iBCS2 (SCO) バイナリエミュレーションを有効にします。 +.It Va ibcs2_loaders +.Pq Vt 文字列 +これを +.Dq Li NO +に設定せずに +.Va ibcs2_enable +を +.Dq Li YES +に設定した場合、 +この文字列は有効化すべき追加の iBCS2 ローダのリストを指定します。 +.It Va linux_enable +.Pq Vt ブール値 +.Dq Li YES +に設定すると、 +システムブート時に Linux/ELF バイナリエミュレーションを有効にします。 +.It Va osf1_enable +.Pq Vt ブール値 +システムブート時に OSF/1 (Digital UNIX) バイナリエミュレーションを +有効にしたいなら +.Dq Li YES +に設定します (Alpha)。 +.It Va svr4_enable +.Pq Vt ブール値 +.Dq Li YES +に設定すると、起動時に SysVR4 エミュレーションを有効にします。 +.It Va sysvipc_enable +.Pq Vt ブール値 +.Dq Li YES +に設定すると、起動時に System V IPC プリミティブをロードします。 +.It Va clear_tmp_enable +.Pq Vt ブール値 +.Dq Li YES +に設定すると、 +起動時に +.Pa /tmp +下を消去します。 +.It Va ldconfig_paths +.Pq Vt 文字列 +.Xr ldconfig 8 +で使用する共有ライブラリのパスのリストを設定します。 +注意: +.Pa /usr/lib +は常に先頭に追加されるので、このリストに指定する必要はありません。 +.It Va ldconfig_paths_aout +.Pq Vt 文字列 +.Xr ldconfig 8 +が古い +.Xr a.out 5 +形式をサポートする際に使用する共有ライブラリパスのリストを設定します。 +.It Va ldconfig_insecure +.Pq Vt ブール値 +.Xr ldconfig 8 +ユーティリティは、通常、 +root 以外が書き込み可能なディレクトリの使用を拒否します。 +.Dq Li YES +に設定すると、 +システムの起動中はこのセキュリティチェックを無効化します。 +.It Va kern_securelevel_enable +.Pq Vt ブール値 +カーネルのセキュリティレベルをシステムスタートアップ時に設定したい場合に、 +.Dq Li YES +に設定します。 +.It Va kern_securelevel +.Pq Vt 整数 +スタートアップ時に設定されるカーネルセキュリティレベルです。 +値 +.Ar value +として許される範囲は \-1 (コンパイル時のデフォルト) +から 3 (最も安全) です。 +利用可能なセキュリティレベルと、 +それがシステムの動作へ及ぼす影響については、 +.Xr init 8 +を参照してください。 +.It Va sshd_program +.Pq Vt 文字列 +SSH サーバプログラムへのパスです +.Pa ( /usr/sbin/sshd +がデフォルトです)。 +.It Va sshd_enable +.Pq Vt ブール値 +.Dq Li YES +に設定すると、 +ブート時に +.Xr sshd 8 +を起動します。 +.It Va sshd_flags +.Pq Vt 文字列 +.Va sshd_enable +が +.Dq Li YES +の場合、これらは +.Xr sshd 8 +デーモンに渡すフラグになります。 +.It Va usbd_enable +.Pq Vt ブール値 +.Dq Li YES +に設定すると、起動時に +.Xr usbd 8 +を実行します。 +.It Va usbd_flags +.Pq Vt 文字列 +.Va usbd_enable +が +.Dq Li YES +の場合、これらは +.Xr usbd 8 +デーモンに渡すフラグになります。 +.It Va watchdogd_enable +.Pq Vt ブール値 +.Dq Li YES +に設定すると、ブート時に +.Xr watchdogd 8 +を起動します。 +このためには、カーネルが +.Xr watchdog 4 +互換のデバイス付きでコンパイルされていることが必要です。 +.It Va watchdogd_flags +.Pq Vt 文字列 +.Va watchdogd_enable +に +.Dq Li YES +が設定されている場合、これらのフラグが +.Xr watchdogd 8 +デーモンに渡されます。 +.It Va performance_cx_lowest +.Pq Vt 文字列 +AC 電源使用時に使用する CPU アイドル状態です。 +.Dq Li LOW +を与えると +.Xr acpi 4 +は利用可能である最低パワー状態を利用し、逆に +.Dq Li HIGH +を与えると最小遅延状態 (そのぶんパワーセーブはできなく +なります) を利用するようになります。 +.It Va performance_cpu_freq +.Pq Vt 文字列 +AC 電源使用時に使用する CPU クロック周波数です。 +.Dq Li LOW +を与えると +.Xr cpufreq 4 +は利用可能である最小の周波数を使用し、逆に +.Dq Li HIGH +を与えると最高の周波数 (そのぶんパワーセーブはできなく +なります) を使用するようになります。 +.It Va economy_cx_lowest +.Pq Vt 文字列 +AC 電源を使用していないときの CPU アイドル状態です。 +.Dq Li LOW +を与えると +.Xr acpi 4 +は利用可能である最低パワー状態を利用し、逆に +.Dq Li HIGH +を与えると最小遅延状態 (そのぶんパワーセーブはできなく +なります) を利用するようになります。 +.It Va economy_cpu_freq +.Pq Vt 文字列 +AC 電源を使用していないときに使用する CPU クロック周波数です。 +.Dq Li LOW +を与えると +.Xr cpufreq 4 +は利用可能である最小の周波数を使用し、逆に +.Dq Li HIGH +を与えると最高の周波数 (そのぶんパワーセーブはできなく +なります) を使用するようになります。 +.It Va jail_enable +.Pq Vt ブール値 +.Dq Li NO +に設定すると、設定済の jail は起動されません。 +.It Va jail_list +.Pq Vt 文字列 +空白で区切られた jail 名のリストです。 +これは、複数の jail の識別と設定を助ける、設定のためのものです。 +このリストで指定される名前が、 +ある jail のインスタンスに共通する識別子として使用されます。 +対象の jail 名が +.Li vjail +とすると、これに依存する下記の変数ができます: +.Bd -literal +jail_vjail_hostname="jail.example.com" +jail_vjail_ip="192.168.1.100" +jail_vjail_rootdir="/var/jails/vjail/root" +jail_vjail_exec="/bin/sh /etc/rc" +.Ed +.Pp +最後の項目は省略可能です。 +設定されていない場合には、デフォルトの +.Pa /etc/rc +になります。 +.It Va jail_set_hostname_allow +.Pq Vt ブール値 +.Dq Li NO +に設定すると、jail 中の root ユーザがホスト名を設定できないようにします。 +.It Va jail_socket_unixiproute_only +.Pq Vt ブール値 +.Dq Li NO +に設定すると、jail 内で TCP/IP 以外のプロトコルを使えないようにします。 +.It Va jail_sysvipc_allow +.Pq Vt ブール値 +.Dq Li YES +に設定すると、jail 内のアプリケーションが System V IPC を使えるようにします。 +.It Va unaligned_print +.Pq Vt ブール値 +.Dq Li NO +に設定すると、境界調整されていないアクセスに対する警告は +表示されません (Alpha)。 +.\" ----- isdn settings --------------------------------- +.It Va isdn_enable +.Pq Vt ブール値 +デフォルトは +.Dq Li NO +です。 +.Dq Li YES +に設定すると、 +.Xr isdnd 8 +デーモン +をシステム起動時に起動します。 +.It Va isdn_flags +.Pq Vt 文字列 +デフォルトは +.Dq Fl d Ns Cm n Fl d Ns Li 0x1f9 +です。 +.Xr isdnd 8 +に渡される追加のフラグです (調整可能なパラメータについては +.Va isdn_fsdev +と +.Va isdn_ttype +を参照してください)。 +.It Va isdn_ttype +.Pq Vt 文字列 +デフォルトは +.Dq Li cons25 +です。 +.Xr isdnd 8 +が全画面モードで動作する場合の出力端末の型です。 +.It Va isdn_screenflags +.Pq Vt 文字列 +デフォルトで +.Dq Li NO +に設定されます。 +全画面モード用のビデオモードです +.Xr ( syscons 4 +コンソールドライバ専用です)。 +.Xr vidcontrol 1 +を参照してください。 +.It Va isdn_fsdev +.Pq Vt 文字列 +デフォルトは +.Dq Li NO +です。 +.Xr isdnd 8 +が全画面モードで動作する場合の出力端末です (デーモンモード時は +.Dq Li NO +です)。 +.It Va isdn_trace +.Pq Vt ブール値 +デフォルトは +.Dq Li NO +です。 +.Dq Li YES +に設定すると、ISDN プロトコルトレースユーティリティ +.Xr isdntrace 8 +をシステム起動時に有効にします。 +.It Va isdn_traceflags +.Pq Vt 文字列 +デフォルトは +.Dq Fl f Pa /var/tmp/isdntrace0 +です。 +.Xr isdntrace 8 +へのフラグです。 +.\" ----------------------------------------------------- +.It Va pcvt_verbose +.Pq Vt ブール値 +デフォルトで +.Dq Li NO +に設定されます。 +.Dq Li YES +に設定すると、 +起動スクリプトが行った動作に関する冗長なメッセージが表示されます。 +.Em 注 : +ここで記述されている +.Xr pcvt 4 +オプション関連の効果のためには、 +.Xr pcvt 4 +ドライバがカーネルに組み込まれている必要があります。 +.It Va pcvt_keymap +.Pq Vt 文字列 +デフォルトで +.Dq Li NO +に設定されます。 +これで各国キーボード配列の初期化をします。 +キーボード配列は +.Pa /usr/share/misc/keycap.pcvt +ファイルに記述されています +.Xr ( pcvt 4 +の keycap データベースの使用方法については、マニュアルページ +.Xr keycap 5 +および +.Xr keycap 3 +を参照し、各国キーボード配列の設定については +.Xr kcon 1 +のオプション +.Fl m +を参照してください)。 +.It Va pcvt_keydel +.Pq Vt 整数 +デフォルトで +.Dq Li NO +に設定されます。 +キーボードのキーリピート遅延値に使用されます。 +正当な値は 0..3 の範囲であり、遅延値 250, 500, 750, 1000 msec です +.Xr ( kcon 1 +マニュアルページも参照してください)。 +.It Va pcvt_keyrate +.Pq Vt 整数 +デフォルトで +.Dq Li NO +に設定されます。 +キーボードのキーリピートレート値に使用されます。 +正当な値は 0..31 の範囲であり、秒あたり 2..30 文字のリピート値です。 +.It Va pcvt_keyrepeat +.Pq Vt ブール値 +デフォルトで +.Dq Li NO +に設定されます。 +.Dq Li YES +に設定すると、自動キーボードキーリピートを有効にします。 +.It Va pcvt_force24 +.Pq Vt ブール値 +デフォルトで +.Dq Li NO +に設定されます。 +.Dq Li YES +に設定すると、オリジナルの +.Tn VT220 +端末との互換性のために (25 行モードで) 24 行のみを使用するよう +.Xr pcvt 4 +に強制します。 +.It Va pcvt_hpext +.Pq Vt ブール値 +デフォルトで +.Dq Li NO +に設定されます。 +.Dq Li YES +に設定すると、ファンクションキーラベル +.Tn ( Hewlett-Packard +の +.Tn HP2392A +や +.Tn HP700/92 +のような端末の +.Tn ANSI +モードで見られるもの) の表示と機能を有効にします。 +.It Va pcvt_lines +.Pq Vt 整数 +デフォルトの +.Dq Li NO +は、値 25 になります。 +画面の行数を設定するために使用します。 +VGA ディスプレイでは、正当な値は 25, 28, 40, 50 行です +.Xr ( scon 1 +マニュアルページも参照してください)。 +.It Va pcvt_blanktime +.Pq Vt 整数 +デフォルトで +.Dq Li NO +に設定されます。 +0 より大きい値を使用することで、スクリーンセーバのタイムアウトを、 +秒単位で指定します。 +.It Va pcvt_cursorh +.Pq Vt 整数 +デフォルトで +.Dq Li NO +に設定されます。 +カーソルトップスキャンラインを設定するために使用されます +.Xr ( cursor 1 +マニュアルページも参照してください)。 +.It Va pcvt_cursorl +.Pq Vt 整数 +デフォルトで +.Dq Li NO +に設定されます。 +カーソルボトムスキャンラインを設定するために使用されます。 +.It Va pcvt_monohigh +.Pq Vt ブール値 +デフォルトで +.Dq Li NO +に設定されます。 +.Dq Li YES +に設定すると、モノクロームモニタの輝度を高くします +(VGA パレット値の変更に関する更なる情報は、 +.Xr scon 1 +マニュアルページの +.Fl p +を参照してください)。 +.It Va harvest_interrupt +.Pq Vt ブール値 +.Dq Li YES +に設定すると、エントロピ源としてハードウェア割り込みを使用します。 +更なる情報については +.Xr random 4 +を参照してください。 +.It Va harvest_ethernet +.Pq Vt ブール値 +.Dq Li YES +に設定すると、エントロピ源として LAN トラフィックを使用します。 +更なる情報については +.Xr random 4 +を参照してください。 +.It Va harvest_p_to_p +.Pq Vt ブール値 +.Dq Li YES +に設定すると、エントロピ源としてシリアル線を使用します。 +更なる情報については +.Xr random 4 +を参照してください。 +.It Va entropy_dir +.Pq Vt 文字列 +.Dq Li NO +に設定すると、 +.Xr cron 8 +によるエントロピキャッシングを無効化します。 +そうでない場合、エントロピファイルを格納するディレクトリを設定します。 +.It Va entropy_file +.Pq Vt 文字列 +.Dq Li NO +に設定すると、リブートを通じたエントロピキャッシングを無効化します。 +そうでない場合、キャッシュしたエントロピを、 +リブートの間に格納するために使用するファイル名を設定します。 +このファイルはルートファイルシステムに置き、ブート処理のなるべく早期に +.Xr random 4 +デバイスをシードするべきです。 +.It Va entropy_save_sz +.Pq Vt 整数 +.Nm save-entropy +により定期的に保存されるエントロピキャッシュファイルの大きさです。 +.It Va entropy_save_num +.Pq Vt 整数 +.Nm save-entropy +により定期的に保存されるエントロピキャッシュファイルの数です。 +.It Va ipsec_enable +.Pq Vt ブール値 +.Dq Li YES +に設定すると、起動時に +.Xr setkey 8 +を +.Va ipsec_file +に対して実行します。 +.It Va ipsec_file +.Pq Vt 文字列 +.Xr setkey 8 +の設定ファイルです。 +.It Va dmesg_enable +.Pq Vt ブール値 +.Dq Li YES +に設定すると、ブート時に +.Xr dmesg 8 +を +.Pa /var/run/dmesg.boot +に保存します。 +.It Va rcshutdown_timeout +.Pq Vt 整数 +設定した場合、バックグラウンドでウォッチドッグタイマを起動し、 +.Xr shutdown 8 +が指定した時間 (秒単位) で完了しない場合には +.Pa rc.shutdown +を終了させます。 +.It Va virecover_enable +.Pq Vt ブール値 +.Dq Li NO +に設定すると、 +正常終了しなかっった +.Xr vi 1 +セッションを復旧しようと試みなくなります。 +.It Va ugidfw_enable +.Pq Vt ブール値 +.Dq Li YES +を設定すると +システム初期化時に +.Xr mac_bsdextended 4 +モジュールをロードし、デフォルトのルールセットファイルを読み込みます。 +.It Va bsdextended_script +.Pq Vt 文字列 +.Xr mac_bsdextended 4 +が読み込むデフォルトのルールセットファイルです。 +この変数のデフォルト値は +.Pa /etc/rc.bsdextended +です。 +.It Va ramdisk_units +.Pq Vt 文字列 +.Xr fstab 5 +からマウントする際に、 +.Xr mdconfig 8 +と +.Xr newfs 8 +を用いて設定する RAM ディスクユニットのリストです。 +ここにリストされたユニット +.Ar X +のそれぞれは、少なくとも 1 つの型 +.Ar type +を +.Va ramdisk_ Ns Ao Ar X Ac Ns Va _config +変数で指定しなければなりません。 +.It Va ramdisk_ Ns Ao Ar X Ac Ns Va _config +.Pq Vt 文字列 +RAM ディスク +.Ar X +について、 +.Xr mdconfig 8 +に渡す引数。 +少なくとも +.Fl t Ar type +は指定しなければなりません。 +ここで、 +.Ar type +とは、 +.Cm malloc +または +.Cm swap +のいずれかです。 +.It Va ramdisk_ Ns Ao Ar X Ac Ns Va _newfs +.Pq Vt 文字列 +RAM ディスク +.Ar X +を初期化する際に、 +.Xr newfs 8 +に渡す引数。 +.It Va ramdisk_ Ns Ao Ar X Ac Ns Va _owner +.Pq Vt 文字列 +RAM ディスクユニット +.Ar X +がマウントされた後、 +.Xr chown 8 +に渡す所有権指定情報。 +.Xr md 4 +デバイスとマウントポイントの両方とも変更されます。 +.It Va ramdisk_ Ns Ao Ar X Ac Ns Va _perms +.Pq Vt 文字列 +RAM ディスクユニット +.Ar X +がマウントされた後、 +.Xr chmod 1 +に渡すファイルモード文字列。 +.Xr md 4 +デバイスとマウントポイントの両方とも変更されます。 +.El +.Sh 関連ファイル +.Bl -tag -width ".Pa /etc/defaults/rc.conf" -compact +.It Pa /etc/defaults/rc.conf +.It Pa /etc/rc.conf +.It Pa /etc/rc.conf.local +.El +.Sh 関連項目 +.Xr catman 1 , +.Xr chmod 1 , +.Xr gdb 1 , +.Xr info 1 , +.Xr kbdcontrol 1 , +.Xr makewhatis 1 , +.Xr vi 1 , +.Xr vidcontrol 1 , +.Xr ip 4 , +.Xr kld 4 , +.Xr tcp 4 , +.Xr udp 4 , +.Xr exports 5 , +.Xr motd 5 , +.Xr newsyslog.conf 5 , +.Xr accton 8 , +.Xr amd 8 , +.Xr apm 8 , +.Xr atm 8 , +.Xr chown 8 , +.Xr cron 8 , +.Xr dhclient 8 , +.Xr ifconfig 8 , +.Xr inetd 8 , +.Xr isdnd 8 , +.Xr isdntrace 8 , +.Xr kldxref 8 , +.Xr lpd 8 , +.Xr mdconfig 8 , +.Xr mdmfs 8 , +.Xr mountd 8 , +.Xr moused 8 , +.Xr mrouted 8 , +.Xr named 8 , +.Xr newfs 8 , +.Xr nfsd 8 , +.Xr ntpd 8 , +.Xr ntpdate 8 , +.Xr pcnfsd 8 , +.Xr quotacheck 8 , +.Xr quotaon 8 , +.Xr rc 8 , +.Xr rc.sendmail 8 , +.Xr route 8 , +.Xr routed 8 , +.Xr rpcbind 8 , +.Xr rpc.lockd 8 , +.Xr rpc.statd 8 , +.Xr rwhod 8 , +.Xr savecore 8 , +.Xr sshd 8 , +.Xr swapon 8 , +.Xr sysctl 8 , +.Xr syslogd 8 , +.Xr timed 8 , +.Xr usbd 8 , +.Xr yp 8 , +.Xr ypbind 8 , +.Xr ypserv 8 , +.Xr ypset 8 +.Sh 歴史 +.Nm +ファイルは +.Fx 2.2.2 +で登場しました。 +.Sh 作者 +.An Jordan K. Hubbard . diff --git a/documentation/manual-pages/ja/man5/remote.5 b/documentation/manual-pages/ja/man5/remote.5 new file mode 100644 index 0000000000..90bdb6359e --- /dev/null +++ b/documentation/manual-pages/ja/man5/remote.5 @@ -0,0 +1,214 @@ +.\" Copyright (c) 1983, 1991, 1993 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. All advertising materials mentioning features or use of this software +.\" must display the following acknowledgement: +.\" This product includes software developed by the University of +.\" California, Berkeley and its contributors. +.\" 4. Neither the name of the University nor the names of its contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" @(#)remote.5 8.1 (Berkeley) 6/5/93 +.\" %FreeBSD: src/share/man/man5/remote.5,v 1.16 2004/07/03 18:29:23 ru Exp % +.\" +.\" $FreeBSD$ +.\" +.Dd October 20, 2003 +.Dt REMOTE 5 +.Os +.Sh 名称 +.Nm remote +.Nd リモートホスト記述ファイル +.Sh 解説 +.Xr tip 1 +によって知られるシステムとその属性は、 +.Xr termcap 5 +ファイルのような構造の +.Tn ASCII +ファイルに記録されます。 +ファイルの各行は、1 つの +.Em システム +についての記述を提供します。 +フィールドはコロン (``:'') で分けられています。 +\e 文字の直後に改行がある行末は、次の行へ継続されます。 +.Pp +最初のエントリはホストシステムの (複数の) 名称です。 +システムの名称が 1 つ以上ある場合、名称は縦棒で区切られます。 +システムの名称の後に記述フィールドが続きます。 +`=' 記号が続くフィールド名は、文字列型を示します。 +`#' 記号が続くフィールド名は、数値を示します。 +.Pp +``tip*'' と ``cu*'' という名前が付いたエントリは、 +.Xr tip 1 +や、以下で述べるように +.Nm tip +に対するインタフェース +.Xr cu 1 +でデフォルトのエントリとして使われます。 +.Nm tip +が電話番号だけをつけて呼び出された時、 ``tip300'' の形式のエントリを探 +します。 +ここで、 300 は接続が張られたボーレートです。 +.Nm cu +インタフェースが使われた時は、 ``cu300'' という形式のエントリが使わ +れます。 +.Sh ケーパビリティ +ケーパビリティは、文字列 (str) ・数値 (num) ・ブーリアンフラグ (bool) +のいずれかです。 +文字列ケーパビリティは +.Em capability Ns Ar = Ns Em value +のように指定されます。 +例えば、 ``dv=/dev/harris'' のように指定します。 +数値ケーパビリティは +.Em capability Ns Ar # Ns Em value +のように指定されます。 +例えば、 ``xa#99'' のように指定します。 +ブーリアンケーパビリティは単にケーパビリティを記述するだけで +指定されます。 +.Bl -tag -width indent +.It Cm \&at +(str) +自動呼び出しユニットの形式です。 +.It Cm \&br +(num) +シリアルポート上の通信に使用されるデータレート (秒毎のビット数)。 +モデム使用時には、リモートモデムとの通信に使用されるデータレートは +このレートとは異なるかもしれません。 +これは、10 進の数値です。 +デフォルトのボーレートは 300 ボーです。 +.It Cm \&cm +(str) +リモートホストに送られる初期接続メッセージです。 +例えば、ホストにポート選択器を通して到達する場合、 +ここにはホストに切り替えるために必要とされる適切なシーケンスが設定されて +いるべきです。 +.It Cm \&cu +(str) +電話の呼び出しが行われる場合の呼び出しユニットです。 +デフォルトは、 `dv' フィールドと同じです。 +.It Cm \&di +(str) +ユーザによって切断が要求されている時にホストに送られる +切断メッセージです。 +.It Cm \&du +(bool) +このホストはダイヤルアップ線上にあることを示します。 +.It Cm \&dv +(str) +接続を確立するためにオープンする (複数の) +.Ux +デバイスです。このファイルが端末線を参照している場合、 +.Xr tip 1 +は、1 度に 1 ユーザだけがポートにアクセスすることを保証するために、 +デバイスを排他的にオープンします。 +.It Cm \&el +(str) +行末 (end-of-line) を示す文字です。 +デフォルトでは +.Dv NULL +文字です。`el' 中の 1 文字もしくは復帰文字 (carriage return) の後の +`~' エスケープは +.Nm tip +だけで認識されます。 +.It Cm \&fs +(str) +転送のためのフレームサイズです。 +デフォルトフレームサイズは +.Dv BUFSIZ +と同じです。 +.It Cm \&hd +(bool) +ホストが半 2 重通信を使い、ローカルエコーが行われることを示します。 +.It Cm \&ie +(str) +入力のファイル終了 (end-of-file) マークです。 +デフォルトは +.Dv NULL +です。 +.It Cm \&oe +(str) +出力のファイル終了 (end-of-file) 文字列です。 +デフォルトは +.Dv NULL +です。 +.Nm tip +がファイルを転送している時、この文字列はファイル終了時に送られます。 +.It Cm \&pa +(str) +データをホストに送っている時に使われるパリティの形式です。 +これは ``even'', ``odd'', ``none'', ``zero'' (いつでも 8 ビット目を 0 +に設定する), ``one'' (いつでも 8 ビット目を 1 に設定する)のいずれかです。 +デフォルトではイーブンパリティです。 +.It Cm \&pn +(str) +ホストに対する (複数の) 電話番号です。 +電話番号フィールドが @ 符号を含んでいる場合、 +.Nm tip +は電話番号の一覧を +.Pa /etc/phones +ファイルから検索します ( +.Xr phones 5 +参照)。 +.It Cm \&tc +(str) +ケーパビリティのリストが、名前で与えられた記述に継続されることを示し +ます。これは主に共通のケーパビリティ情報を共有するために使われます。 +.El +.Sh 使用例 +ここで、ケーパビリティの継続機能の利用をしめす短い例をお見せしましょう。 +この定義は、56k モデム接続、115200 bps の最初のシリアルポート、 +パリティ無し、 +標準の行編集文字とファイル終端文字付きの Hayes コマンド集合の使用を +定義しています。 +arpavax エントリは、UNIX-57600 エントリのすべてを含み、 +それに加えて arpavax 用の電話番号を含んでいます +(この場合は @ 文字であり、電話番号は環境変数から取得されます)。 +.Bd -literal +UNIX-57600:\e +:dv=/dev/cuaa0:el=^D^U^C^S^Q^O@:oe=^D:du:at=hayes:br#115200:pa=none: +arpavax|ax:\e +:pn=\e@:tc=UNIX-57600 +.Ed +.Sh 関連ファイル +.Bl -tag -width /etc/remote -compact +.It Pa /etc/remote +.Pa /etc +に置かれた +.Nm リモート +ホスト記述ファイル。 +.El +.Sh 関連項目 +.Xr cu 1 , +.Xr tip 1 , +.Xr phones 5 +.Sh 歴史 +.Nm +ファイル書式は +.Bx 4.2 +から登場しました。 +.Sh バグ +.Xr tip 1 +ユーティリティは、シリアルポートのデータレートに、 +シリアルポート用のシステムデフォルトではなく、 +独自の表現を使用します。 diff --git a/documentation/manual-pages/ja/man5/resolver.5 b/documentation/manual-pages/ja/man5/resolver.5 new file mode 100644 index 0000000000..b334661c09 --- /dev/null +++ b/documentation/manual-pages/ja/man5/resolver.5 @@ -0,0 +1,216 @@ +.\" Copyright (c) 1986, 1991, 1993 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. All advertising materials mentioning features or use of this software +.\" must display the following acknowledgement: +.\" This product includes software developed by the University of +.\" California, Berkeley and its contributors. +.\" 4. Neither the name of the University nor the names of its contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" @(#)resolver.5 8.1 (Berkeley) 6/5/93 +.\" %FreeBSD: src/share/man/man5/resolver.5,v 1.11.2.1 2004/11/13 12:04:02 yar Exp % +.\" $FreeBSD$ +.\" +.Dd September 9, 2004 +.Dt RESOLVER 5 +.Os +.Sh 名称 +.Nm resolver +.Nd リゾルバ設定ファイル +.Sh 書式 +.Nm resolv.conf +.Sh 解説 +.Xr resolver 3 +はインターネットドメインネームシステムへのアクセスを提供する +C ライブラリのルーチン群です。 +リゾルバ設定ファイルは、はじめてリゾルバルーチンがプロセスによって呼び出 +されたときに読み込まれる情報を含んでいます。 +ファイルは人間が読めるように設計されており、様々な種類のリゾルバ情報を +提供する、値つきのキーワードのリストを含んでいます。 +.Pp +普通に構成されたシステムでは、このファイルは必要ではありません。 +問い合わせされる唯一のネームサーバはローカルマシン上にあり、ホスト名 +からドメイン名が決定され、ドメインの検索パスがそのドメイン名から作成 +されます。 +.Pp +様々な設定オプションは以下の通りです。 +.Bl -tag -width nameserver +.It Sy nameserver +リゾルバが問い合わせをするネームサーバのインターネットアドレス +(ドット表記)です。 +キーワード毎に 1 つづつ、計 +.Dv MAXNS +(現状では 3)台までのネームサーバが記述できます。 +複数のサーバが記述されている場合、リゾルバライブラリは記述された順に +問い合わせを出します。 +.Sy nameserver +エントリが記述されていない場合、デフォルトではローカルマシン上のネーム +サーバを使用します +(ここで使われるアルゴリズムは以下のようになります。 +まず、あるネームサーバに問い合わせを試みます。 +この問い合わせがタイムアウトになれば、 +次のネームサーバに問い合わせを試み、これをネームサーバがなくなるまで続けます。 +応答がない場合、この一連の問い合わせの試みをリトライ最大回 +数に達するまで繰り返します)。 +.It Sy domain +ローカルドメイン名。 +そのドメイン内での名前の問い合わせのほとんどが、ローカルドメインにおける +短い名前を使用することができます。 +.Sy domain +エントリが記述されていない場合、 +.Xr gethostname 3 +で得たローカルホスト名からドメインを決定します。 +ドメイン部は最初の +.Ql \&. +以降の全てとなります。 +ホスト名がドメイン部を含んでいない場合、最終的には +ルートドメインが使用されます。 +.It Sy search +ホスト名調査のための検索リスト。 +通常、検索リストはローカルドメイン名から決定されます。 +デフォルトでは、ローカルドメイン名のみを含みます。 +検索リストは、 +.Sy search +キーワードの後にスペースまたはタブで区切られた +ドメイン検索パス名を羅列することで +変更できます。 +ほとんどのリゾルバの問い合わせは、検索パスの各構成要素を一致するエントリが +見つかるまで順に試します。 +記述されたドメインのサーバがローカルではない場合、この処理は低速で多くの +ネットワークトラフィックを発生させる可能性があることと、それらのいずれかの +ドメインに関して、使用可能なサーバが 1 つも存在しない場合には問い合わせが +タイムアウトすることに注意する必要があります。 +.Pp +現在のところ、検索リストは 6 ドメイン、計 256 文字に制限されます。 +.It Sy sortlist +sortlist を用いて gethostbyname により返されるアドレスをソートできます。 +sortlist は IP アドレスとネットマスクの組で指定されます。 +ネットマスクはオプションであり、 +デフォルトのネットマスクはネットに対する自然なネットマスク (natural netmask) +です。 +IP アドレスとオプションのネットマスクの組はスラッシュで区切ります。 +10 組まで指定可能です。 +例として、 +.Pp +.Dl "sortlist 130.155.160.0/255.255.240.0 130.155.0.0" +.It Sy options +options によりリゾルバの内部変数を修正できます。 +文法は +.Pp +\fBoptions\fP \fIoption\fP \fI...\fP +.Pp +であり、 +.Sy option +は以下のいずれかです: +.Pp +.Bl -tag -width no_tld_query +.It Sy debug +_res.options の +.Dv RES_DEBUG +を設定します。 +.It Sy ndots: Ns Ar n +.Em 最初の絶対問い合わせ +が行われる前に、 +.Fn res_query +.Pf ( Xr resolver 3 +参照) に与えられる名前に含まれるべきドット数の閾値を設定します。 +.Em n +のデフォルトは +.Dq 1 +です。 +これは、名前中にドットがあれば、 +.Em search list +要素が追加される前に、 +その名前がまず絶対名として試されることを意味します。 +.It Sy timeout: Ns Ar n +リゾルバが違うネームサーバに問い合わせにいくまでに、 +リモートのネームサーバからの応答を待つ初期時間を設定します。 +リゾルバは、現在の問い合わせ後のリトライ中にはこの初期時間よりも +長い時間応答を待ってもよいです。 +なぜなら、指数関数的なバックオフが +タイムアウト値に適用されるからです。 +秒数で数えられ、デフォルトは +.Dv RES_TIMEOUT +であり、許可される最大値は +.Dv RES_MAXRETRANS +.Pf ( In resolv.h +参照) です。 +.It Sy attempts: Ns Ar n +リゾルバがあきらめて呼び出し元のアプリケーションにエラーを返す前に、 +各ネームサーバに何度問い合わせを送信するか設定します。 +デフォルトは +.Dv RES_DFLRETRY +であり、許可される最大値は +.Dv RES_MAXRETRY +.Pf ( In resolv.h +参照) です。 +.It Sy no_tld_query +リゾルバにトップレベルのドメイン名、すなわちドットを持たない名前を +解決しないようにさせます。 +このオプションを使用しても、リゾルバが与えられた名前を使用して標準の +.Sy domain +と +.Sy search +のルールに従うことを防ぐことはできません。 +.El +.Pp +options は +.Dv RES_OPTIONS +環境変数を使用して、空白またはタブ区切りのリストとして指定できます。 +.El +.Pp +.Sy domain +と +.Sy search +キーワードは排他的です。 +これらのキーワードが 1 つ以上記述されている場合、 +最後のキーワードが有効になります。 +.Pp +キーワードと値は同一行に存在する必要があり、キーワード +(例えば +.Sy nameserver ) +は行の先頭にある必要があります。 +値はキーワードに続いて空白で区切って記述します。 +.Sh 関連ファイル +.Bl -tag -width /etc/resolv.conf -compact +.It Pa /etc/resolv.conf +.Nm resolv.conf +は +.Pa /etc +に存在します。 +.El +.Sh 関連項目 +.Xr gethostbyname 3 , +.Xr resolver 3 , +.Xr hostname 7 , +.Xr named 8 +.Rs +.%T "Name Server Operations Guide for BIND" +.Re +.Sh 歴史 +.Nm resolv.conf +ファイルフォーマットは +.Bx 4.3 +で登場しました。 diff --git a/documentation/manual-pages/ja/man5/rpc.5 b/documentation/manual-pages/ja/man5/rpc.5 new file mode 100644 index 0000000000..b9ca822e55 --- /dev/null +++ b/documentation/manual-pages/ja/man5/rpc.5 @@ -0,0 +1,57 @@ +.\" $NetBSD: rpc.5,v 1.3 2000/06/15 20:05:54 fvdl Exp % +.\" %FreeBSD: src/lib/libc/rpc/rpc.5,v 1.10 2001/03/20 08:51:20 ru Exp % +.\" @(#)rpc.4 1.17 93/08/30 SMI; from SVr4 +.\" Copyright 1989 AT&T +.\" $FreeBSD$ +.Dd December 10, 1991 +.Os +.Dt RPC 5 +.Sh 名称 +.Nm rpc +.Nd rpc プログラム番号データベース +.Sh 書式 +.Pa /etc/rpc +.Sh 解説 +.Nm +ファイルには、RPC プログラム番号の代わりに使用可能な、 +ユーザが可読な名前が記述されています。 +各 RPC プログラムに対し、以下の情報からなる 1 行が存在します。 +.Pp +.Bl -enum -compact +.It +RPC プログラム名 +.It +RPC プログラム番号 +.It +別名 +.El +.Pp +各項目は任意個の空白文字もしくはタブ文字で分けられます。 +ハッシュ +.Pq Dq Li # +はコメントの開始を示します。 +行末までの文字はファイルを検索するルーチンには解釈されません。 +.Sh 使用例 +以下は RPC データベースの例です。 +.Bd -literal +# +# rpc +# +rpcbind 100000 portmap sunrpc portmapper +rusersd 100002 rusers +nfs 100003 nfsprog +mountd 100005 mount showmount +walld 100008 rwall shutdown +sprayd 100012 spray +llockmgr 100020 +nlockmgr 100021 +status 100024 +bootparam 100026 +keyserv 100029 keyserver +.Ed +.Sh 関連ファイル +.Bl -tag -width /etc/nsswitch.conf -compact +.It Pa /etc/nsswitch.conf +.El +.Sh "関連項目" +.Xr getrpcent 3 diff --git a/documentation/manual-pages/ja/man5/rrenumd.conf.5 b/documentation/manual-pages/ja/man5/rrenumd.conf.5 new file mode 100644 index 0000000000..bc2ee0f1f8 --- /dev/null +++ b/documentation/manual-pages/ja/man5/rrenumd.conf.5 @@ -0,0 +1,338 @@ +.\" $KAME: rrenumd.conf.5,v 1.8 2001/02/06 02:17:23 jinmei Exp $ +.\" +.\" Copyright (C) 1995, 1996, 1997, and 1998 WIDE Project. +.\" All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. Neither the name of the project nor the names of its contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE PROJECT AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE PROJECT OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" %FreeBSD: src/usr.sbin/rrenumd/rrenumd.conf.5,v 1.16 2004/07/02 23:12:55 ru Exp % +.\" +.\" $FreeBSD$ +.\" WORD: Full Qualified Domain Name 完全な形でのドメイン名 [rc.conf.5] +.Dd November 5, 1998 +.Dt RRENUMD.CONF 5 +.Os +.Sh 名称 +.\" +.Nm rrenumd.conf +.Nd ルータリナンバリングデーモンの設定ファイル +.\" +.Sh 解説 +rrenumd 設定ファイルは、 +どのようにルータリナンバリング (ルータの番号付け直し) パケットを構成するか、 +そしてこのパケットをどの終点に送信するかを記述します。 +このファイルは、セミコロン (`;') で終端される文の連続から成ります。 +文は、空白で区切られるトークンから成ります。 +空白は、ブランク、タブ、改行の任意の組み合わせから成ります。 +この構造により、 +設定中で互いに関連のある部分の識別が単純になります。 +.Ql # +から開始する行はコメントです。 +.\" +.Sh メタ文法 +パーサが完全に合致することを期待するキーワードと特殊文字は、ボールド ( +.Ic bold +) フォントで示します。 +パラメータは下線 ( +.Ar underline +) で示します。 +角括弧 (`[' と `]') 中に示されるパラメータは、 +省略可能なキーワードとパラメータを表現するために使用します。 +垂直バー (`|') は、省略可能なパラメータからの選択を表現するために使用します。 +カーリーブレース (`{' と `}') は、 +必要時にキーワードとパラメータをグループ化するために使用します。 +.\" +.Sh インタフェース指定 +文によっては、インタフェースの指定が可能または指定が必要なものがあります。 +インタフェースは、 +.Ar lo0 +や +.Ar ep1 +のように、"名前 ユニット" の書式で指定します。 +.\" +.Sh 設定文 +.Bl -tag -width Ds +.\" +.It Ic debug on|off ; +設定ファイルのパーサのデバッギングを有効にします。 +.Ic on +指定時にはデバッギングが有効になり、 +.Ic off +指定時にはデバッギングが無効になります。 +デフォルトでは無効です。 +.\" +.It Ic dest Ar dest-list Op Ar retrycmd ; +ルータリナンバリングメッセージを送る終点を指定します。 +.Ar dest-list +は、単一もしくは複数の、 +数値指定の IPv6 アドレスまたは完全な形でのドメイン名の、任意の組み合わせです。 +.Ar retrycmd +の文法は次の通りです。 +.\" +.Bl -tag -width Ds +.It Ic retry Ar retry-num +.Ar retry-num +は、何回繰り返してルータリナンバリングメッセージを送信するかを指定します。 +.El +.It Op Ic add|change|setglobal +.Cm match-prefix Ar match-prefix-val +.Bk -words +.Op /match-prefix-len +.Ek +.Bk -words +.Op Cm maxlen Ar maxlen-val +.Ek +.Bk -words +.Op Cm minlen Ar minlen-val +.Ek +.Bk -words +.Op Cm use-prefix Ar use-prefix-val +.Ek +.Bk -words +.Op /use-prefix-len +.Ek +.Bk -words +.Op Cm keeplen Ar keeplen-val +.Ek +.Bk -words +.Op Ar use-prefix-values ; +.Ek +.Pp +seqnum 0 で送信する、ルータリナンバリングメッセージの内容を指定します。 +.Cm add|change|setglobal +が指定されないと、 +.Cm add +が仮定されます。 +.Ar use-prefix-values +の文法は次の通りです。 +.Pp +{ +.Op Cm vltime Ar vltime-val +.Bk -words +.Op Cm pltime Ar pltime-val +.Ek +.Bk -words +.Op Cm raf_onlink Cm on|off +.Ek +.Bk -words +.Op Cm raf_auto Cm on|off +.Ek +.Bk -words +.Op Cm rrf_decrprefd Cm on|off +.Ek +.Bk -words +.Op Cm rrf_decrvalid Cm on|off +.Ek +} +.Pp +各値は次の意味を持ちます。 +.Pp +.Bl -tag -width Ds -compact +.It Cm match-prefix Ar match-prefix-val Op /match-prefix-len +.Cm add|change|setglobal +コマンド適用対象の割り当て済みプレフィックスとのマッチングに使用される、 +.Ar match-prefix-val +を指定します。 +.Ar /match-prefix-len +は、割り当て済みプレフィックスとのマッチングに使用される +.Ar match-prefix-val +の開始部分を、10 進数のビット数で指定します。 +.It Cm maxlen Ar maxlen-val +.Ar match-prefix-val +とマッチ可能なプレフィックスの最大長を、10 進数のビット数で指定します。 +.It Cm minlen Ar minlen-val +.Ar match-prefix-val +とマッチ可能なプレフィックスの最短長を、10 進数のビット数で指定します。 +.It Cm use-prefix Ar use-prefix-val Op /usr-prefix-len +.Cm add|change|setglobal +コマンドで追加されるプレフィックスとして使用される +.Ar use-prefix-val +を指定します。 +.Ar /use-prefix-len +は、 +.Cm add|change|setglobal +コマンドで追加されるプレフィックスの開始部分にコピーされる +.Ar use-prefix-val +の開始部分を、10 進数のビット数で指定します。 +.It Cm keeplen Ar keeplen-val +.Ar use-prefix-val +において、 +.Ar use-prefix-len +で指定された開始部分の直後の中間部分を、10 進数のビット数で指定します。 +.Ar match-prefix-val +とマッチした既存プレフィックスでこれと同じビット位置の連続ビット部分が、 +追加されるプレフィックスの同じビット位置にコピーされます。 +.It Cm vltime Ar vmtime-val +追加されるプレフィックスのプレフィックス有効期間を、 +.Ar time +に割り当てます。 +.Ar time +に有効な値は、10 進数の秒数か、特殊フォーマット "d00h00m00s00" です。 +ここで 00 は任意の 10 進数を取り、"d" は日数を、"h" は時間数を、"m" は +分数を、"s" は秒数を意味します。 +また、特殊キーワード "infinity" も指定可能です。 +.It Cm pltime Ar pltime-val +追加されるプレフィックスのプレフィックス推奨有効期間を、 +.Ar time +に割り当てます。 +.Ar time +に有効な値は、 +.Ar vltime-val +と同じです。 +.It Cm raf_onlink Cm on|off +追加されるプレフィックスが、 +割り当てられるインタフェースに対し、 +オンリンクまたはオフリンクのどちらかの属性を持たせます。 +.Cm on +指定時には、 +プレフィックスはオンリンク属性 (プレフィックスはリンクに属する) を持ちます。 +.Cm off +指定時には、 +プレフィックスはオフリンク属性 (プレフィックスはリンクに属さない) を持ちます。 +.It Cm raf_auto Cm on|off +追加されるプレフィックスに対し、 +自律的アドレス自動設定を有効化または無効化します。 +.Cm on +指定時には、自律的アドレス自動設定が有効です。 +.Cm off +指定時には、無効です。 +.It Cm rrf_decrprefd Cm on|off +pltime の減算を有効化または無効化します。 +.Cm on +指定時には、pltime の減算は有効です。 +.Cm off +指定時には、pltime の減算は無効です。 +.It Cm rrf_decrvalid Cm on|off +vltime の減算を有効化または無効化します。 +.Cm on +指定時には、vltime の減算は有効です。 +.Cm off +指定時には、vltime の減算は無効です。 +.El +.\" +.It seqnum Ar seqnum-val { Ar rrenum-cmd } ; +特定の seqnum で送信するルータリナンバリングメッセージを指定します。 +それぞれの +.Ar seqnum-val +が異なる場合には、この文を複数指定可能です。 +.Ar rrenum-cmd +は、前述の add|change|setglobal 文のものとまったく同じ文法です。 +.El +.\" +.Sh 使用例 +以降に示す各設定ファイル例では、 +fec0:0:0::/48 および各自のサブネット番号で開始する各自のプレフィックスを、 +各 IPv6 サブネットが持つことを仮定しています +(この場合サブネット番号は、 +プレフィックスの 7 番目と 8 番目のオクテット値です)。 +.Pp +各サブネットに 3ffe:501:ffff::/48 +から開始するプレフィックスを割り当てたい場合、 +各ルータが IPv6 マルチキャストフォワーディングをサポートしていれば、 +次の設定で十分でしょう。 +サブネット番号は、既存の fec0:0:0::/48 プレフィックスと、 +新規に割り当てられる 3ffe:501:ffff::/48 プレフィックスでは、同一です。 +.\" +.Bd -literal -offset indent +dest ff05::2; + +add match-prefix fec0:0:0:: /48 use-prefix 3ffe:501:ffff:: /48 keeplen 16; +.Ed +.Pp +.\" +ルータが IPv6 マルチキャストフォワーディングをサポートしない場合、 +.Cm dest +コマンドで各々の終点を指定する必要があります。 +.\" +.Bd -literal -offset indent +dest fec0:0:0:1:260:8ff:fe24:fb3a fec0:0:0:2:200:eff:fe2e:dfe1 fec0:0:0:3:5254:ff:fedc:5217; + +add match-prefix fec0:0:0:: /48 use-prefix 3ffe:501:ffff:: /48 keeplen 16; +.Ed +.Pp +.\" +リナンバリングを行う場合、次の手順で行うのが自然です。 +.Bl -enum -offset indent +.It +新規プレフィックスを割り当てます。 +.It +古いプレフィックスの有効期間を、適切な移行期間長に設定します。 +次の例では、有効期間として 1 週間を使用し、 +推奨有効期間として 0 を使用しています。 +また、古いプレフィックスに対し、有効期間の期限切れ機能を有効にします +(デフォルトでは、静的であり期限切れにはなりません)。 +.It +移行期間後、古いプレフィックスは無効になるはずで、 +除去されてしまったかもしれません。 +除去されたことを確認するには、 +マッチプレフィックスが古いプレフィックスで、使用プレフィックスを指定しない、 +新規ルータリナンバリングメッセージを送ります。 +.El +.\" +次の設定ファイルが 1 と 2 を行います。 +.\" +.Bd -literal -offset indent +dest ff05::2; + +seqnum 0 { + add match-prefix fec0:0:0:: /48 use-prefix 3ffe:501:fffe:: /48 keeplen 16; + }; + +seqnum 1 { + change match-prefix 3ffe:501:ffff:: /48 use-prefix 3ffe:501:ffff:: /48 keeplen 16 vltime d7 pltime 0 rrf_decrvalid on rrf_decrprefd on; + }; +.Ed +.Pp +.\" +次の設定ファイルが 3 を行います +(1 週間後にルータリナンバリングメッセージを送信するために使用します)。 +.\" +.Bd -literal -offset indent +dest ff05::2; + +change match-prefix 3ffe:501:ffff:: /48; +.Ed +.Pp +.\" +前記の例では、 +.Cm add +と +.Cm change +のコマンドのみを使用し、 +.Cm setglobal +コマンドの例はありません。 +.Cm setglobal +コマンドは、 +.Cm change +コマンドとほとんど同じですが、 +定義済みの IPv6 グローバルアドレスをすべて削除することが違います。 +.Sh 関連項目 +.Xr prefix 8 , +.Xr rrenumd 8 +.Sh 歴史 +.Nm +設定ファイルは KAME IPv6 プロトコルスタックキットではじめて登場しました。 +.\" .Sh BUGS +.\" (to be written) diff --git a/documentation/manual-pages/ja/man5/rtadvd.conf.5 b/documentation/manual-pages/ja/man5/rtadvd.conf.5 new file mode 100644 index 0000000000..dae7825965 --- /dev/null +++ b/documentation/manual-pages/ja/man5/rtadvd.conf.5 @@ -0,0 +1,435 @@ +.\" %FreeBSD: src/usr.sbin/rtadvd/rtadvd.conf.5,v 1.14 2004/07/02 22:50:25 ru Exp % +.\" $KAME: rtadvd.conf.5,v 1.49 2003/07/24 21:51:26 jinmei Exp $ +.\" +.\" Copyright (C) 1995, 1996, 1997, and 1998 WIDE Project. +.\" All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. Neither the name of the project nor the names of its contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE PROJECT AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE PROJECT OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" $FreeBSD$ +.\" +.Dd May 17, 1998 +.Dt RTADVD.CONF 5 +.Os +.Sh 名称 +.Nm rtadvd.conf +.Nd ルータ通知デーモンの設定ファイル +.Sh 解説 +このファイルには各インタフェースに対して、 +ルータ通知パケットをどのように組み立てなければならないかを記述します。 +.Pp +.Xr rtadvd 8 +の記述のように、特別な設定が必要で無い限りにおいては、 +この設定ファイルを設定する必要はまったくありません。 +このファイルがまったく存在しなくてかまいません。 +この場合、 +.Nm rtadvd +デーモンは、仕様で指定されるデフォルト値を仕様して、自己を自動設定します。 +.Pp +記述方法は有名な +.Xr termcap 5 +ファイルのフォーマットに従います。 +ファイル中の各行にはネットワークインタフェースを記述します。 +フィールドはコロン +.Pq \&: +により区切られ、 +各フィールドは 1 つのケーパビリティの記述を含みます。 +行は +.Sq \e +により次の行へ続けることができます。 +コメントは +.Sq \&# +で始まります。 +.Sh ケーパビリティ +ケーパビリティは ICMPv6 ルータ通知メッセージを埋めるため、また +.Xr rtadvd 8 +の振る舞いを制御するための値を記述します。 +したがって、もしサンプルの定義ファイルを変更したいのであれば、 +前述のように IETF 近隣探索文書を読むことが推奨されます。 +.Pp +ほとんど全ての項目はデフォルト値を持っていることに +注意してください。 +項目を省略すると、項目のデフォルト値が使用されます。 +.Pp +ルータ通知を送信する間隔を制御するための 2 つの項目があります。 +これらの項目は省略可能であり、この場合には +.Nm rtadvd +はデフォルト値を使用します。 +.Bl -tag -width indent +.It Cm \&maxinterval +(数値) 要請されていないマルチキャストルータ通知を送信する間隔の +最大時間です +.Pq 単位: 秒 +。 +デフォルト値は 600です。この値は 4 以上 1800 以下でなければなりません。 +.It Cm \&mininterval +(数値) 要請されていないマルチキャストルータ通知を送信する間隔の +最小時間です +.Pq 単位: 秒 +。 +デフォルト値は +.Cm maxinterval +の 3 分の 1 の値です。 +この値は 3 以上 .75 * +.Cm maxinterval +の値以下でなければなりません。 +.El +.Pp +以下の項目は ICMPv6 ルータ通知メッセージヘッダのためのものです。 +これらの項目は省略可能であり、この場合には +.Nm rtadvd +はデフォルト値を使用します。 +.Bl -tag -width indent +.It Cm \&chlim +(数値) カレント中継限界数フィールドに対する値です。 +デフォルト値は 64 です。 +.It Cm \&raflags +(文字列または数値) ルータ通知メッセージヘッダの 8 ビットフラグフィールドです。 +このフィールドは、大文字小文字を区別する文字列か、 +整数のいずれかで指定可能です。 +文字列は、各文字が特定のフラグビットに対応する文字で構成されます。 +整数は、有効ビットの論理 OR から成ります。 +7 ビット目 +.Po +.Li 'm' か 0x80 +.Pc +は 管理アドレス設定フラグのビットを意味します。 +そして 6 ビット目 +.Po +.Li 'o' か 0x40 +.Pc +はアザーステートフル設定フラグビットを意味します。 +4 ビット目 +.Po +.Li 0x10 +.Pc +と 3 ビット目 +.Po +.Li 0x08 +.Pc +は、ルータの推奨度をコード化するために使用されます。 +ビット 01 +.Po +か 'h' +.Pc +は高を、00 は中を、11 +.Po +か 'l' +.Pc +は低をそれぞれ意味します。 +ビット 10 は予約であり、指定してはなりません。 +明示的に中を指定する文字はありません。 +フラグ全体のデフォルト値は 0 +.Po +または空文字列 +.Pc +であり、追加設定方法無しで中のルータ推奨度を意味します。 +.It Cm \&rltime +(数値) ルータ有効期間フィールドです +.Pq 単位: 秒 +。 +この値は、0 であるか、 +.Cm maxinterval +と 9000 の間である必要があります。 +.Nm rtadvd +がホスト上で実行される場合、 +.Xr rtadvd 8 +で記述されているように、通知中の全インタフェース上で、 +この値を明示的に 0 に設定する必要があります。 +デフォルト値は 1800 です。 +.It Cm \&rtime +(数値) 到達可能時間フィールドです +.Pq 単位: ミリ秒 +。 +デフォルト値は 0 であり、これはこのルータにより +指定されないことを意味しています。 +.It Cm \&retrans +(数値) 再送タイマフィールドです。 +.Pq 単位: ミリ秒 +。 +デフォルト値は 0 であり、これはこのルータにより +指定されないことを意味しています。 +.El +.Pp +以下は ICMPv6 プレフィックス情報オプションに対する項目であり、 +ルータ通知ヘッダに付与されます。 +これらの項目は省略可能であり、この場合には +.Nm rtadvd +は自動的に適切なプレフィックスをカーネルの経路表から取得して、 +このプレフィックスをデフォルトパラメータと共に通知します。 +.Cm clockskew +以外のキーワードには +.Dq Li prefix2 +のように数値を付加することが可能であり、 +これにより複数のプレフィックスを指定可能です +.Bl -tag -width indent +.It Cm \&clockskew +(数値) リンク伝播遅延を調整するためのスキューであり、 +リンク上のルータ間のクロックスキュー +.Pq 単位: 秒 +。 +この値は、ローカルに設定されたプレフィックスの有効期間と +通知されたプレフィックスの有効期間との無矛盾性の確認に使用されます。 +この値が意味を持つのは、 +ローカルルータが、リンク上のプレフィックスを、 +実時間で減少する有効期付きで設定するときです。 +値が 0 の場合、このようなプレフィックスに対する無矛盾性の確認は行われません。 +デフォルト値は 0 です。 +.It Cm \&prefixlen +(数値) プレフィックス長フィールドです。 +デフォルト値は 64 です。 +.It Cm \&pinfoflags +(文字列または数値) +プレフィックス情報オプション中の 8 ビットフラグフィールドです。 +このフィールドは、大文字小文字を区別する文字列か、 +整数のいずれかで指定可能です。 +文字列は、各文字が特定のフラグビットに対応する文字で構成されます。 +整数は、有効ビットの論理 OR から成ります。 +7 ビット目 +.Po +.Li 'l' か 0x80 +.Pc +は オンリンクフラグビットです。そして 6 ビット目 +.Po +.Li 'a' か 0x40 +.Pc +は自律アドレス設定フラグビットです。 +デフォルト値は "la" か 0xc0 であり、すなわち両方のビットが設定されています。 +.It Cm \&addr +(文字列) プレフィックスフィールドに埋められるアドレスです。 +.Xr termcap 5 +ファイルフォーマットで、 IPv6 数値アドレスと同様に +.Dq \&: +が使われているために、フィールドはダブルクォート文字によって +クォートされなければなりません。 +.It Cm \&vltime +(数値) 正当な有効期間フィールドです +.Pq 単位: 秒 +。 +デフォルト値は 2592000 (30 日) です。 +.It Cm \&vltimedecr +(ブール値) この項目は、 +通知された有効期間が実時間で減らされることを意味します。 +デフォルトで無効化されています。 +.It Cm \&pltime +(数値) 推奨有効期間フィールドです +.Pq 単位: 秒 +。 +デフォルト値は 604800 (7 日) です。 +.It Cm \&pltimedecr +(ブール値) この項目は、 +通知された推奨有効期間が実時間で減らされることを意味します。 +デフォルトで無効化されています。 +.El +.Pp +以下は ICMPv6 MTU に対する項目であり、 +ルータ通知ヘッダに付与されます。 +この項目は省略可能であり、この場合には +.Nm rtadvd +はデフォルト値を使用します。 +.Bl -tag -width indent +.It Cm \&mtu +(数値もしくは文字列) MTU (最大転送単位) フィールドです。 +0 が指定された場合には、オプションは含まれません。 +デフォルト値は 0 です。 +もしこの項目に特別な文字列 +.Dq auto +が指定された場合、MTU オプションは含まれ、 +その値はインタフェースの MTU に自動的に設定されます。 +.El +.Pp +以下は ICMPv6 始点データリンク層アドレスオプションを制御するための項目であり、 +ルータ通知ヘッダに付与されます。 +前述のように、この項目は省略可能であり、この場合には +.Nm rtadvd +はデフォルト値を使用します。 +.Bl -tag -width indent +.It Cm \&nolladdr +(ブール値) デフォルトでは +.Po +もし +.Cm \&nolladdr +が指定されない場合 +.Pc +、 +.Xr rtadvd 8 +は、インタフェースに対するデータリンク層アドレスを +カーネルから取得しようと試み、 +それを始点データリンク層アドレスオプションに付与します。 +もしこのケーパビリティが存在する場合、 +.Xr rtadvd 8 +はルータ通知パケットに、始点データリンク層アドレスオプションを付与しません。 +.El +.Pp +以下は ICMPv6 ホームエージェント情報オプションを制御するための項目であり、 +モバイル IPv6 サポートで定義されています。 +このオプションは、他のオプション同様、ルータ通知ヘッダに付与されます。 +.Bl -tag -width indent +.It Cm \&hapref +(数値) ホームエージェントの推奨を設定します。 +非 0 に設定する場合、 +.Cm \&hatime +もまた存在する必要があります。 +.It Cm \&hatime +(数値) ホームエージェントの有効期間を指定します。 +.El +.Pp +.Xr rtadvd 8 +でモバイル IPv6 サポートを有効にすると、 +.Cm \&maxinterval +を明示的に構成することにより、 +通知間隔オプションがルータ通知パケットに付加されます。 +.Pp +以下は ICMPv6 経路情報オプションを制御するための項目であり、 +ルータ通知ヘッダに付与されます。 +これらの項目はオプションです。 +各項目には +.Dq Li rtplen2 +のように数値を付加することが可能であり、 +これにより複数のルータを指定可能です +.Bl -tag -width indent +.It Cm \&rtprefix +(文字列) 経路情報オプション中の、プレフィックス欄に埋められるプレフィックス。 +.Xr termcap 5 +ファイルフォーマットで、 IPv6 数値アドレスと同様に +.Dq \&: +が使われているために、フィールドはダブルクォート文字によって +クォートされなければなりません。 +.It Cm \&rtplen +(数値) 経路情報オプション中の、プレフィックス長。 +デフォルト値は 64 です。 +.It Cm \&rtflags +(文字列もしくは数値) 経路情報オプション中の、8 ビットフラグ欄。 +現在、推奨値のみが定義されています。 +表現方法は raflags 欄と同じです。 +ビット 4 +.Po +.Li 0x10 +.Pc +とビット 3 +.Po +.Li 0x08 +.Pc +が、経路の推奨度をコード化するために使用されます。 +デフォルト値は 0x00 であり、中間の推奨度の経路です。 +.It Cm \&rtltime +(数値) 経路情報オプション中の、経路の有効期間欄。 +.Pq 単位: 秒 +。 +仕様ではこの項目のデフォルト値を定義していませんので、 +この項目は手動で指定する必要があります。 +一方、 +.Nm rtadvd +は、この項目が未指定であることを許し、 +その場合にはルータの有効期限をデフォルト値として使用します。 +これは、古いバージョンのこのプログラムとの互換性のためです。 +.El +.Pp +上記のリスト中では、 +.Dq Li rt +で開始するキーワードは、 +.Dq Li rtr +で開始するものと交換できます。 +これは、後方互換性のためです。 +例えば、 +.Cm rtrplen +は、 +.Cm rtplen +の代りとして受け付けられます。 +しかしながら、 +.Dq Li rtr +で開始するキーワードは基本的に廃れたものであるので、 +もはや使用すべきではありません。 +.Pp +また +.Cm tc +ケーパビリティを用いることで、他の行を参照することができます。 +このケーパビリティの詳細に関しては +.Xr termcap 5 +を参照してください。 +.Sh 使用例 +前述のように、通知される全パラメータは仕様で定義されるデフォルト値があります。 +よって、特別な非デフォルト値を使用したいので無い限りにおいては手動 +で設定する必要はありません。 +誤った設定パラメータを使用すると、相互操作の問題が生じ得ます。 +.Pp +設定パラメータを変えるには、パラメータだけを指定すれば良いです。 +次の設定では、 +.Xr rtadvd 8 +は +.Li ne0 +インタフェースのルータ有効期間パラメータを変えます。 +.Bd -literal -offset +ne0:\\ + :rltime#0: +.Ed +.Pp +次の例は、 +.Li ef0 +インタフェースから通知されるプレフィックスを手動で設定します。 +この設定は、 +.Fl s +オプション付きの +.Xr rtadvd 8 +で使用することが必要です。 +.Bd -literal -offset +ef0:\\ + :addr="3ffe:501:ffff:1000::":prefixlen#64: +.Ed +.Pp +次の例は、明示的な方法でデフォルト値を示しています。 +この設定は、単に参照のためだけに提供されています。 +あなた自身が設定する必要はまったくありません。 +.Bd -literal -offset +default:\\ + :chlim#64:raflags#0:rltime#1800:rtime#0:retrans#0:\\ + :pinfoflags="la":vltime#2592000:pltime#604800:mtu#0: +ef0:\\ + :addr="3ffe:501:ffff:1000::":prefixlen#64:tc=default: +.Ed +.Sh 関連項目 +.Xr termcap 5 , +.Xr rtadvd 8 , +.Xr rtsol 8 +.Pp +.Rs +.%A Thomas Narten +.%A Erik Nordmark +.%A W. A. Simpson +.%T Neighbor Discovery for IP version 6 (IPv6) +.%R RFC 2461 +.Re +.Rs +.%A Richard Draves +.%T Default Router Preferences and More-Specific Routes +.%R draft-ietf-ipngwg-router-selection-xx.txt +.Re +.Sh 歴史 +.Xr rtadvd 8 +と設定ファイル +.Nm +はWIDE Hydrangea IPv6 プロトコルスタックキットではじめて登場しました。 +.\" .Sh BUGS +.\" (to be written) diff --git a/documentation/manual-pages/ja/man5/services.5 b/documentation/manual-pages/ja/man5/services.5 new file mode 100644 index 0000000000..31464ba49c --- /dev/null +++ b/documentation/manual-pages/ja/man5/services.5 @@ -0,0 +1,88 @@ +.\" Copyright (c) 1983, 1991, 1993 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. All advertising materials mentioning features or use of this software +.\" must display the following acknowledgement: +.\" This product includes software developed by the University of +.\" California, Berkeley and its contributors. +.\" 4. Neither the name of the University nor the names of its contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" @(#)services.5 8.1 (Berkeley) 6/5/93 +.\" %FreeBSD: src/share/man/man5/services.5,v 1.11 2004/07/03 18:29:23 ru Exp % +.\" +.\" $FreeBSD$ +.\" +.Dd June 5, 1993 +.Dt SERVICES 5 +.Os +.Sh 名称 +.Nm services +.Nd サービス名のデータベース +.Sh 解説 +.Nm +ファイルには +インターネットで利用可能な既知のサービスの情報が格納されます。 +各サービス毎に、以下の情報を表す 1 行が存在します。 +.Bd -unfilled -offset indent +公式なサービス名 +ポート番号 +プロトコル名 +別名 +.Ed +.Pp +項目は任意個の空白文字やタブ文字で分けられます。 +ポート番号およびプロトコル名は単一の +.Em 項目 +とみなされ、 +``/'' を 1 つ使用してポートとプロトコルを分けます (例 ``512/tcp'')。 +``#'' はコメント開始を表し、 +行末までの文字はファイルを検索するルーチンに解釈されません。 +.Pp +サービス名は、フィールド区切り文字・改行文字・コメント文字以外の、 +任意の表示可能文字からなります。 +.Sh NIS との相互作用 +NIS の +.Pa services.byname +マップへのアクセスを有効にするには、単一の ``+'' のみからなる行を +.Pa /etc/services +ファイルに追加します。 +こうすると、NIS のサービスマップの内容が ``+'' のある位置に挿入されます。 +.Sh 関連ファイル +.Bl -tag -width /etc/services -compact +.It Pa /etc/services +.Nm +ファイルは +.Pa /etc +にあります。 +.El +.Sh 関連項目 +.Xr getservent 3 +.Sh バグ +静的ファイルの代わりに、ネームサーバを使用すべきです。 +.Sh 歴史 +.Nm +ファイルフォーマットは +.Bx 4.2 +に登場しました。 diff --git a/documentation/manual-pages/ja/man5/shells.5 b/documentation/manual-pages/ja/man5/shells.5 new file mode 100644 index 0000000000..d39bafbe55 --- /dev/null +++ b/documentation/manual-pages/ja/man5/shells.5 @@ -0,0 +1,64 @@ +.\" Copyright (c) 1986, 1991, 1993 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. All advertising materials mentioning features or use of this software +.\" must display the following acknowledgement: +.\" This product includes software developed by the University of +.\" California, Berkeley and its contributors. +.\" 4. Neither the name of the University nor the names of its contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" @(#)shells.5 8.1 (Berkeley) 6/5/93 +.\" %FreeBSD: src/share/man/man5/shells.5,v 1.5 2001/07/10 15:30:51 ru Exp % +.\" $FreeBSD$ +.\" +.Dd June 5, 1993 +.Dt SHELLS 5 +.Os +.Sh 名称 +.Nm shells +.Nd シェルデータベース +.Sh 解説 +.Nm +ファイルはシステム上のシェルのリストを格納します。 +各シェルごとに 1 行ずつ、ルートからの相対でシェルのパスを記述します。 +.Pp +ハッシュマーク (``#'') はコメントの開始を意味します。 +それ以降行末までの文字列はファイルを検索するルーチンには解釈されません。 +空行もまた無視されます。 +.Sh 関連ファイル +.Bl -tag -width /etc/shells -compact +.It Pa /etc/shells +.Nm +ファイルは +.Pa /etc +にあります。 +.El +.Sh 関連項目 +.Xr getusershell 3 +.Sh 歴史 +.Nm +ファイルフォーマットは +.Bx 4.3 tahoe +から登場しました。 diff --git a/documentation/manual-pages/ja/man5/ssh_config.5 b/documentation/manual-pages/ja/man5/ssh_config.5 new file mode 100644 index 0000000000..7cfc6f86aa --- /dev/null +++ b/documentation/manual-pages/ja/man5/ssh_config.5 @@ -0,0 +1,720 @@ +.\" -*- nroff -*- +.\" +.\" Author: Tatu Ylonen <ylo@cs.hut.fi> +.\" Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland +.\" All rights reserved +.\" +.\" As far as I am concerned, the code I have written for this software +.\" can be used freely for any purpose. Any derived versions of this +.\" software must be clearly marked as such, and if the derived work is +.\" incompatible with the protocol description in the RFC file, it must be +.\" called by a name other than "ssh" or "Secure Shell". +.\" +.\" Copyright (c) 1999,2000 Markus Friedl. All rights reserved. +.\" Copyright (c) 1999 Aaron Campbell. All rights reserved. +.\" Copyright (c) 1999 Theo de Raadt. All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +.\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +.\" +.\" $OpenBSD: ssh_config.5,v 1.7 2003/03/28 10:11:43 jmc Exp $ +.\" Japanese translation: $Id: ssh_config.5,v 1.8 2004-07-17 22:45:20 metal Exp $ +.\" by Yusuke Shinyama <yusuke @ cs . nyu . edu> +.\" +.\" %FreeBSD: src/crypto/openssh/ssh_config.5,v 1.10 2003/09/24 19:20:23 des Exp % +.\" $FreeBSD$ +.Dd September 25, 1999 +.Dt SSH_CONFIG 5 +.Os +.Sh 名称 +.Nm ssh_config +.Nd OpenSSH SSH クライアント 設定ファイル +.Sh 書式 +.Bl -tag -width Ds -compact +.It Pa $HOME/.ssh/config +.It Pa /etc/ssh/ssh_config +.El +.Sh 解説 +.Nm ssh +は以下のものから (この順序で) 設定情報を取得します: +.Bl -enum -offset indent -compact +.It +コマンドラインオプション +.It +ユーザごとの設定ファイル +.Pq Pa $HOME/.ssh/config +.It +システム全体にわたる (system-wide) 設定ファイル +.Pq Pa /etc/ssh/ssh_config +.El +.Pp +各設定項目にはそれぞれ最初に見つかったものが使われます。 +設定ファイルはいくつかのセクションに分かれており、これらは +.Dq Host +キーワードにより区切られています。あるセクションの設定が +適用されるのは、コマンドラインから与えられたホスト名が、 +このキーワードで指定されているパターンのどれかにマッチするときだけです。 +.Pp +各設定項目で最初に見つかった値が使われるので、ホストに特化した +宣言をファイルの先頭近くに置くようにし、一般的なものを後に置くのが +よいでしょう。 +.Pp +設定ファイルは以下のような形式になっています: +.Pp +空行、および +.Ql # +で始まる行は、コメントとみなされます。 +.Pp +それ以外の場合、この行は +.Dq キーワード 引数 +という形式になっています。 +キーワードと引数は、空白またはひとつの +.Ql = +(間に空白を含んでいてもよい) によって区切られます。 +後者の形式は、 +.Nm ssh , +.Nm scp +および +.Nm sftp +などで +.Fl o +オプションを使って設定項目を指定するときに、 +空白をクォートする必要がないようにするためです。 +.Pp +とりうるキーワードとその意味は以下のとおりです +(キーワードは大文字小文字どちらでもかまいませんが、 +その引数は大文字小文字が区別されることに注意してください) : +.Bl -tag -width Ds +.It Cm Host (ホスト) +これ以後の (次の +.Cm Host +キーワードが現れるまでの) 設定項目を、ここで +指定されたパターンのどれかにマッチするホストだけに +制限します。パターン中では +.Ql \&* +と +.Ql \&? +がワイルドカードとして使えます。単独の +.Ql \&* +は、すべてのホストに対するデフォルトとして使えます。 +ここでいうホストとは、コマンドライン引数で与えられた +.Ar ホスト名 +そのもののことです +(つまり、ホスト名はマッチングの前に正規化されたりしません)。 +.It Cm AFSTokenPassing (AFS トークンパス) +リモートホストに AFS トークンを渡すかどうかを指定します。 +この引数がとりうる値は +.Dq yes +あるいは +.Dq no +のどちらかになります。 +このオプションはプロトコル バージョン 1 でのみ有効です。 +.It Cm BatchMode (バッチ処理モード) +これが +.Dq yes +に設定されていると、パスフレーズおよびパスワードの +入力を求めないようになります。このオプションはスクリプトなどにおける +バッチ処理中で、パスワードを打ち込むユーザがいない場合に便利です。 +引数の値は +.Dq yes +あるいは +.Dq no +です。 +デフォルトは +.Dq no (パスワードあるいはパスフレーズの入力を求める) +です。 +.It Cm BindAddress (bind するアドレス) +複数のインタフェースあるいはエイリアスされたアドレスを +もっているマシンで、通信に使うインタフェースを指定します。 +このオプションは +.Cm UsePrivilegedPort +項目が +.Dq yes +になってるときは機能しないので注意してください。 +.It Cm ChallengeResponseAuthentication (チャレンジ・レスポンス認証) +チャレンジ・レスポンス認証をおこなうかどうかを指定します。 +この引数がとりうる値は +.Dq yes +あるいは +.Dq no +です。デフォルトでは +.Dq yes (チャレンジ・レスポンス認証をおこなう) +になっています。 +.It Cm CheckHostIP (ホスト IP の検査) +このオプションが +.Dq yes +に設定されていると、ssh は接続先ホスト名の IP アドレスが +.Pa known_hosts +に書かれている同一ホスト名 IP アドレスと同じかどうか +検査するようになります。 +これによって、DNS 詐称によりホスト鍵が変えられたことを +検出できます。このオプションが +.Dq no +に設定されている場合は、この検査はおこなわれません。 +デフォルトでは、これは +.Dq no (ホスト IP アドレスの検査をおこなわない) +になっています。 +.It Cm Cipher (暗号化アルゴリズム) +プロトコル バージョン 1 のセッションで使う暗号化の +アルゴリズムを指定します。現在のところ +.Dq blowfish , +.Dq 3des +および +.Dq des +がサポートされており、デフォルトは +.Dq 3des +です。 +.Ar des +は、 +.Ar 3des +暗号をサポートしていない、もはや古くなったプロトコル 1 の実装と +相互運用するためにのみサポートされています。 +この暗号は弱いため、使用はおすすめしません。 +.It Cm Ciphers (複数の暗号化アルゴリズム) +プロトコル バージョン 2 で使う暗号化アルゴリズムの +優先順位を指定します。複数の暗号化アルゴリズムを +コンマで区切って指定します。 +デフォルトは +.Pp +.Bd -literal + ``aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,arcfour, + aes192-cbc,aes256-cbc'' +.Ed +の順になっています。 +.It Cm ClearAllForwardings (すべてのポート転送をキャンセル) +設定ファイルあるいはコマンドラインで指定された、 +ローカル、リモートおよびダイナミックなポート転送をすべて +キャンセルします。このオプションは設定ファイルで指定されている +ポート転送を +.Nm ssh +のコマンドラインで打ち消すためにあり、 +.Xr scp 1 +や +.Xr sftp 1 +で自動的に使われます。この引数の値は +.Dq yes +あるいは +.Dq no +です。デフォルトでは +.Dq no +になっています。 +.It Cm Compression (圧縮) +データ圧縮をおこなうかどうかを指定します。 +引数の値は +.Dq yes +あるいは +.Dq no +です。 +デフォルトでは +.Dq no (圧縮をおこなわない) +になっています。 +.It Cm CompressionLevel (圧縮レベル) +圧縮をおこなうさいの圧縮レベルを指定します。 +この引数がとる値は +整数の 1 (速い) から 9 (遅い、高圧縮率) までです。 +デフォルトの値は 6 で、ほとんどのアプリケーションにはこれで充分です。 +この値の意味は +.Xr gzip 1 +と同じです。 +このオプションはプロトコル バージョン 1 のみに適用されることに +注意してください。 +.It Cm ConnectionAttempts (接続試行回数) +接続を試みる回数 ( 1 秒に 1 回) を指定します。これを越えると +ssh は終了してしまいます。この値は整数で +なければなりません。これは、ときどき接続に失敗する環境での +スクリプトなどに便利です。 +デフォルトは 1 回です。 +.It Cm DynamicForward (動的なポート転送) +暗号化された通信路を経由して、ローカルホスト側の TCP/IP ポートを +転送するよう指定します。このとき、どのリモートホストから +接続するかを決定するためにアプリケーションレベルのプロトコルが +使われます。このオプションの引数はポート番号である必要があります。 +今のところ SOCKS4 プロトコルが使われており、 +.Nm ssh +は SOCKS4 サーバのようにふるまいます。 +複数のポート転送も指定でき、コマンドラインからこれを追加することも +できます。特権ポートを転送できるのは root だけです。 +.It Cm EscapeChar (エスケープ文字) +エスケープ文字を設定します (デフォルトは +.Ql ~ +)。エスケープ文字はコマンドラインからも指定できます。 +この引数には 1 つの文字か、 +.Ql ^ +に 1 文字を付けたもの、あるいはエスケープ文字の使用をすべて禁止するなら +.Dq none +を指定します (これはその接続を、バイナリ +データに対して透過にすることになります)。 +.It Cm ForwardAgent (エージェント転送) +認証エージェントへの接続を、(それが存在する時は) リモートマシン上に +転送するかどうかを指定します。この引数の値は +.Dq yes +あるいは +.Dq no +でなければならず、デフォルトは +.Dq no (エージェント転送をおこなわない) +です。 +.Pp +認証エージェントの転送には注意が必要です。 +リモートホスト上で (エージェントの UNIX ドメインソケットに対する) +ファイルアクセス権限を無視できてしまうユーザがいる場合は、 +転送された接続を介してローカル側の +認証エージェントにアクセスできてしまうことになります。 +攻撃側は認証エージェントから鍵そのものを盗むことはできませんが、 +認証エージェントがもっている鍵に認証をおこなわせることはできます。 +.It Cm ForwardX11 (X11 転送) +X11 接続を自動的に安全な通信路へリダイレクトし、 +.Ev DISPLAY +を設定するかどうかを指定します。この引数の値は +.Dq yes +あるいは +.Dq no +でなければならず、デフォルトは +.Dq no (X11 接続を転送しない) +です。 +.Pp +X11 の転送には注意が必要です。 +リモートホスト上で (そのユーザの X 認証のための) ファイルアクセス権限を +無視できてしまうユーザがいる場合は、転送された接続を介してローカル側の +X11 ディスプレイにアクセスできてしまうことになります。 +すると攻撃側はキーストロークを盗み見るなどの行為が可能になってしまうかも +しれません。 +.It Cm GatewayPorts (ポート転送の中継) +ローカルからリモートへ転送されている (リモート→ローカルのポート転送) +ポートに、他ホストからの接続を許すかどうかを指定します。 +デフォルトでは、 +.Nm ssh +は転送されたローカルポートをループバックアドレス (127.0.0.1) に +bind します。このため他の (訳注: サーバ以外の) ホストが +転送されたポートに接続することはできません。 +.Cm GatewayPorts +を使うと、 +.Nm ssh +は転送されたローカルポートをワイルドカードアドレス (0.0.0.0) に +bind するようになります。これは他のホストもその転送されたポートに +接続できるということです。 +この引数の値は +.Dq yes +または +.Dq no +で、デフォルトは +.Dq no (転送されているポートに他ホストからの接続を許可しない) +に設定されています。 +.It Cm GlobalKnownHostsFile (大域的 known_host ファイル) +そのホスト全体で +.Pa /etc/ssh/ssh_known_hosts +のかわりに使用するホスト鍵データベースファイルを指定します。 +.It Cm HostbasedAuthentication (ホストベース認証) +ホスト間認証を使った rhosts ベースの認証をおこなうかどうかを指定します。 +とりうる引数の値は +.Dq yes +または +.Dq no +で、デフォルトは +.Dq no (ホストベース認証を試みない) +になっています。 +このオプションはプロトコル バージョン 2 のみに適用され、 +.Cm RhostsRSAAuthentication +と似ています。 +.It Cm HostKeyAlgorithms (ホスト間認証のアルゴリズム) +プロトコル バージョン 2 において、ホスト間認証で使われる +アルゴリズムを指定します。クライアントはここで指定された +優先順位のアルゴリズムを使って認証を試みます。 +このオプションのデフォルトは +.Dq ssh-rsa,ssh-dss +です。 +.It Cm HostKeyAlias (ホスト鍵のエイリアス) +ホスト鍵データベースからホスト鍵を検索するとき、あるいは +データベースにホスト鍵を保存するときに、実際のホスト名のかわりに +使われる名前を指定します。 +このオプションは ssh 接続をトンネリングしているときや、 +単一のホスト上で複数の sshd サーバを動かしているときなどに +便利です。 +.It Cm HostName (実際のホスト名) +実際にログインするホスト名を指定します。デフォルトでは +.Nm +はコマンドラインで与えられたホスト名に接続しますが、 +これを使うと、ホストのニックネームや省略形を使用することができます。 +数字の IP アドレスでもかまいません +(コマンドライン、 +.Cm HostName +キーワードの両方とも)。 +.It Cm IdentityFile (identity ファイル) +ユーザの RSA または DSA 認証用 identity (秘密鍵) を +読むファイルを指定します +(デフォルトは、プロトコル バージョン 1 の場合 +ユーザのホームディレクトリにある +.Pa $HOME/.ssh/identity +ファイルが、プロトコル バージョン 2 の場合は +.Pa $HOME/.ssh/id_rsa +および +.Pa $HOME/.ssh/id_dsa +が使われます)。 +これに加えて、認証エージェントによって現れる identity も使われます。 +ユーザのホームディレクトリを表すのにチルダ表記を使うこともできます。 +設定ファイルでは複数の identity を指定することもでき、 +この場合すべての identity が順に試されます。 +.It Cm KeepAlive (接続を生かしておく) +システムが相手のマシンに TCP keepalive メッセージを送るかどうかを +指定します。これが送られると、接続の異常終了や相手マシンの +クラッシュが正しく通知されるようになります。 +しかしこれを使うと、たとえ経路が一時的にダウンしていても +接続が死んでいるということになってしまい、これが邪魔になる場合もあります。 +.Pp +デフォルトは +.Dq yes (keepalive を送る) +です。そのため +クライアントはネットワークがダウンするか、 +リモートホストが落ちると通知してきます。 +これはスクリプト中では重要であり、多くのユーザもこれを望んでいます。 +.Pp +Keepalive を禁止するには、この値を +.Dq no +にする必要があります。 +.It Cm KerberosAuthentication (Kerberos 認証) +Kerberos 認証をおこなうかどうか指定します。この引数の値は +.Dq yes +あるいは +.Dq no +です。 +.It Cm KerberosTgtPassing (Kerberos TGT パス) +Kerberos TGT がサーバを転送するかどうかを指定します。これは +その Kerberos サーバが実際に AFS kaserver であるときのみ +機能します。この引数の値は +.Dq yes +あるいは +.Dq no +です。 +.It Cm LocalForward (ローカル→リモート転送) +ローカルマシンの TCP/IP ポートを、安全な通信路を経由して +リモートマシン上から与えられた host:port に転送するよう指示します +(訳注: -L オプションと同じ)。 +最初の引数は転送するローカルホストのポートを、2番目の引数には転送先を +.Ar host:port +の形で指定します。 +IPv6 アドレスはこれとは別の +.Ar host/port +という形式で指定します。ポート転送は複数指定することができ、 +コマンドラインから追加指定することもできます。 +特権ポートを転送できるのはスーパユーザだけです。 +.It Cm LogLevel (ログレベル) +.Nm +が出力するログの冗長性のレベルを指定します。 +とりうる値は次のとおりです: +QUIET, FATAL, ERROR, INFO, VERBOSE, DEBUG, DEBUG1, DEBUG2 +および DEBUG3。 +デフォルトでは INFO になっています。DEBUG と DEBUG1 は等価です。 +DEBUG2, DEBUG3 はそれぞれさらに冗長なログになります。 +.It Cm MACs (メッセージ認証コード) +使用する MAC (メッセージ認証コード) アルゴリズムの優先順位を指定します。 +MAC アルゴリズムはプロトコル バージョン 2 で使われる、 +データの改竄を防ぐ機構 (data integrity protection) です。 +複数のアルゴリズムをコンマで区切って指定します。 +デフォルトは +.Dq hmac-md5,hmac-sha1,hmac-ripemd160,hmac-sha1-96,hmac-md5-96 +の順になっています。 +.It Cm NoHostAuthenticationForLocalhost (localhostでのホスト認証を抑制) +このオプションはホームディレクトリがマシン間で共有されているときに +使います。このような状況ではそれぞれ別々のマシンで localhost のさす +ホストが異なっているため、ユーザはホスト鍵が変わったという警告を +受けてしまいます (訳注: 別々のホスト鍵をもつマシンで同一の localhost +ホスト鍵が共有されているため)。このオプションを使うと、相手が +localhost のときにはホスト間認証を抑制することができます。 +この引数がとりうる値は +.Dq yes +あるいは +.Dq no +です。 +デフォルトでは、yes (相手が localhost でも鍵をチェックする) になっています。 +.It Cm NumberOfPasswordPrompts (パスワード試行回数) +パスワードを最高何回まで訊くかを指定します。 +この回数を超えると認証は失敗します。 +このキーワードには整数を指定する必要があります。 +デフォルト値は 3 です。 +.It Cm PasswordAuthentication (パスワード認証) +パスワード認証をおこなうかどうかを指定します。この引数の値は +.Dq yes +または +.Dq no +です。デフォルトでは +.Dq yes (パスワード認証をおこなう) +になっています。 +.It Cm Port (ポート番号) +リモートホストに接続するときのポート番号を指定します。 +デフォルトは 22 です。 +.It Cm PreferredAuthentications (認証の優先順位) +プロトコル 2 で試される認証の優先順位を指定します。 +これによって、クライアントは特定の認証 ( +.Cm keyboard-interactive +など) をそれ以外の認証 ( +.Cm password +など) よりも優先して選ぶことができます。 +このオプションのデフォルトは +.Dq hostbased,publickey,keyboard-interactive,password +の順になっています。 +.It Cm Protocol (プロトコル) +.Nm ssh +がサポートすべきプロトコルのバージョンの優先順位を指定します。 +とりうる値は +.Dq 1 +と +.Dq 2 +です。 +複数のバージョンを +指定するときはコンマで区切ってください。 +デフォルト値は +.Dq 2,1 +です。これは +.Nm ssh +がまず始めにバージョン 2 がサポートされているかどうかを調べ、 +サーバがそれをサポートしていなかった場合に +バージョン 1 を使用することを指示しています +(訳注: もしサーバ側がバージョン 2 の認証をサポートしていた場合、 +バージョン 2 での認証に失敗すると ssh は +そこで終了します。バージョン 1 の認証は *おこなわない* ため、 +注意してください)。 +.It Cm ProxyCommand (プロキシ コマンド) +サーバに接続するのに使用するコマンドを指定します。 +コマンド文字列はこのキーワード以後、行末まで書くことができます。 +コマンド文字列は +.Pa /bin/sh +によって実行されます。 +コマンド文字列では、 +.Ql %h +は接続するホスト名に置換され、 +.Ql %p +はポート番号に置換されます。 +コマンドは基本的に何でもよいのですが、標準入力から読み込み、 +標準出力に書き込むようなものである必要があります。 +これは最終的にサーバマシン上で動いている +.Xr sshd 8 +に接続するか、どこか別の場所で +.Ic sshd -i +を起動させるようにします。 +ホスト鍵の管理は接続されているホストの +HostName を使っておこなわれます (デフォルトでは、これはユーザが +タイプした名前になります)。 +このコマンドを +.Dq none +に設定すると、このオプションは完全に使用禁止になります。 +プロキシコマンドを使うと、 +.Cm CheckHostIP (ホスト IP アドレスの検査) +は使用できませんので注意してください。 +.Pp +.It Cm PubkeyAuthentication (公開鍵認証) +公開鍵認証をおこなうかどうかを指定します。 +このキーワードの引数は +.Dq yes +か +.Dq no +のどちらかです。 +デフォルトでは +.Dq yes (公開鍵認証をおこなう) +になっています。 +このオプションはプロトコル バージョン 2 のみに適用されます。 +.It Cm RemoteForward (リモート→ローカル転送) +リモートマシン上の TCP/IP ポートを、安全な通信路を経由して +ローカルマシン上から与えられた host:post に転送するよう指示します +(訳注: -R オプションと同じ)。 +最初の引数は転送するリモートホストのポートを、 +2番目の引数には転送先を +.Ar host:port +の形で指定します。 +IPv6 アドレスはこれとは別の +.Ar host/port +という形式で指定します。ポート転送は複数指定することができ、 +コマンドラインから追加指定することもできます。 +特権ポートを転送できるのはスーパユーザだけです。 +.It Cm RhostsAuthentication (rhosts 認証) +rhosts ベースの認証をおこなうかどうかを指定します。この宣言は +クライアント側にのみ影響し、セキュリティ的にまったくなんの +効果もないことに注意してください。 +ほとんどのサーバでは RhostsAuthentication は +安全でないという理由で許可されていません ( +RhostsRSAAuthentication +を参照のこと)。 +この引数の値は +.Dq yes +または +.Dq no +です。 +デフォルトでは +.Dq no (rhosts 認証をおこなわない) +になっています。 +このオプションはプロトコル バージョン 1 のみに適用され、 +この機能を使うためには +.Nm ssh +が setuid root されていて +.Cm UsePrivilegedPort +が +.Dq yes +に設定されている必要があります。 +.It Cm RhostsRSAAuthentication (rhosts-RSA 認証) +RSA ホスト認証を使った rhosts ベースの認証を試みるかどうかを +指定します。 +この引数の値は +.Dq yes +または +.Dq no +です。 +デフォルトの値は +.Dq no (rhosts-RSA 認証をおこなわない) +です。 +このオプションはプロトコル バージョン 1 のみに適用され、 +これを使うには +.Nm ssh +を setuid root にしておくことが必要です。 +.It Cm RSAAuthentication (RSA 認証) +RSA 認証を使うかどうかを指定します。 +この引数の値は +.Dq yes +または +.Dq no +です。RSA 認証は identity ファイルが存在するときか、 +認証エージェントが動いているときのみ使用されます。 +デフォルトは +.Dq yes (RSA 認証をおこなう) +です。 +このオプションは +プロトコル バージョン 1 にしか適用されないので注意してください。 +.It Cm SmartcardDevice (スマートカード・デバイス) +使用するスマートカードのデバイスを指定します。 +この引数には +.Nm ssh +がスマートカードと通信するときに使うデバイスを指定します。 +スマートカードはユーザの RSA 秘密鍵を格納するのに使われます。 +デフォルトではデバイスは何も指定されておらず、スマートカードの使用は +有効になっていません。 +.It Cm StrictHostKeyChecking (厳格なホスト鍵チェック) +このオプションが +.Dq yes +に設定されている場合、 +.Nm ssh +は決して +.Pa $HOME/.ssh/known_hosts +ファイルに自動的にホスト認証鍵を追加しません。 +鍵が変更されているホストへの接続は拒否されます。 +これはトロイの木馬攻撃に対する最大の防御となりますが、 +.Pa /etc/ssh/ssh_known_hosts +ファイルをきちんと更新していなかったり、新規のホストに頻繁に +接続するような状況だと邪魔になるかもしれません。 +このオプションを使うとユーザは手で新しいホストの鍵を +追加しなければならなくなります。 +このオプションが +.Dq no +に設定されている場合、 +.Nm ssh +は新しいホスト鍵をユーザの known_hosts ファイルに +自動的に追加します。 +このオプションが +.Dq ask +に設定されていると、 +新しいホスト鍵が追加されるのは、ユーザが +本当にそれを望んでいると確認できたときだけになります。 +ホスト鍵が変更されているホストへの接続は拒否されます。 +known_hosts ファイルに含まれているホスト鍵は +いかなる場合でも自動的に検査されます。 +このオプションがとりうる値は +.Dq yes , +.Dq no +あるいは +.Dq ask +で、デフォルトは +.Dq ask +です。 +.It Cm UsePrivilegedPort (特権ポートを使用する) +外に向けての接続をおこなうときに、 +特権ポートを使用するかどうかを指定します。この引数の値は +.Dq yes +または +.Dq no +で、デフォルトは +.Dq no +になっています。 +.Dq yes +に設定した場合、 +.Nm ssh +は setuid root である必要があります。 +注意: +旧式の sshd に対して +.Cm RhostsAuthentication +あるいは +.Cm RhostsRSAAuthentication +の認証が必要な場合は、このオプションを +.Dq yes +にする必要があります。 +.It Cm User (ユーザ) +ログインするユーザ名を指定します。これは異なるマシン上で +異なるユーザ名が使われている場合に便利です。 +これでコマンドラインからわざわざユーザ名を与えなくてもすみます。 +.It Cm UserKnownHostsFile (個人用 known_hosts ファイル) +ホスト鍵データベースとして +.Pa $HOME/.ssh/known_hosts +以外のファイルを使うときに指定します。 +.It Cm VersionAddendum (バージョンに付加するもの) +OS もしくはサイトに特化した修正を示すために、通常のバージョン文字列に +付け加える文字列を指定します。 +デフォルトは +.Dq FreeBSD-20030924 +です。 +.It Cm XAuthLocation (xauth の位置) +.Xr xauth 1 +プログラムのフルパス名を指定します。デフォルトは +.Pa /usr/X11R6/bin/xauth +です。 +.El +.Sh 関連ファイル +.Bl -tag -width Ds +.It Pa $HOME/.ssh/config +ユーザごとの個人用設定ファイルです。 +ファイル形式は上で説明されています。 +このファイルは +.Nm ssh +クライアントによって使われます。 +このファイルはふつう特に秘密の情報は含んでいませんが、 +しかし望ましいパーミッションとしては、そのユーザからは +読み/書き可能で、他人からはアクセス不可能にしておくのがよいでしょう。 +.It Pa /etc/ssh/ssh_config +システム全体にわたる設定ファイルです。このファイルはユーザの設定 +ファイルでは指定されなかった値を提供し、また設定ファイルを +持たないユーザのためのデフォルトにもなります。このファイルは +誰にでも読み込み可能でなければいけません。 +.El +.Sh 作者 +OpenSSH は Tatu Ylonen による、フリーな +オリジナル版 ssh 1.2.12 リリースから派生したものです。 +Aaron Campbell、 Bob Beck、 Markus Friedl、 Niels Provos、 +Theo de Raadt および Dug Song が多くのバグをとり除き、 +新しい機能をふたたび追加して OpenSSH をつくりました。 +SSH プロトコル バージョン 1.5 および 2.0 のサポートは +Markus Friedl の貢献によるものです。 +.Sh 日本語訳 +新山 祐介 (yusuke @ cs . nyu . edu) 2003/4/17 (for 3.6.1p1) +.Pp +当マニュアルページは氏のご好意により +.Fx +日本語マニュアルに収録させていただいています。 +翻訳についてのご意見、ご指摘がありましたら新山氏 +(yusuke at cs . nyu . edu)、および +.Fx +jpman プロジェクト +.Aq man-jp@jp.FreeBSD.org +までお送りください。 +.Sh 関連項目 +.Xr ssh 1 diff --git a/documentation/manual-pages/ja/man5/sshd_config.5 b/documentation/manual-pages/ja/man5/sshd_config.5 new file mode 100644 index 0000000000..e730feec6f --- /dev/null +++ b/documentation/manual-pages/ja/man5/sshd_config.5 @@ -0,0 +1,821 @@ +.\" -*- nroff -*- +.\" +.\" Author: Tatu Ylonen <ylo@cs.hut.fi> +.\" Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland +.\" All rights reserved +.\" +.\" As far as I am concerned, the code I have written for this software +.\" can be used freely for any purpose. Any derived versions of this +.\" software must be clearly marked as such, and if the derived work is +.\" incompatible with the protocol description in the RFC file, it must be +.\" called by a name other than "ssh" or "Secure Shell". +.\" +.\" Copyright (c) 1999,2000 Markus Friedl. All rights reserved. +.\" Copyright (c) 1999 Aaron Campbell. All rights reserved. +.\" Copyright (c) 1999 Theo de Raadt. All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +.\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +.\" +.\" $OpenBSD: sshd_config.5,v 1.15 2003/03/28 10:11:43 jmc Exp $ +.\" Japanese translation: $Id: sshd_config.5,v 1.8 2004-07-17 22:45:20 metal Exp $ +.\" by Yusuke Shinyama <yusuke @ cs . nyu . edu> +.\" +.\" %FreeBSD: src/crypto/openssh/sshd_config.5,v 1.13 2003/10/31 21:49:47 simon Exp % +.\" $FreeBSD$ +.Dd September 25, 1999 +.Dt SSHD_CONFIG 5 +.Os +.Sh 名称 +.Nm sshd_config +.Nd OpenSSH SSH デーモン 設定ファイル +.Sh 書式 +.Bl -tag -width Ds -compact +.It Pa /etc/ssh/sshd_config +.El +.Sh 解説 +.Nm sshd +は +.Pa /etc/ssh/sshd_config +(あるいはコマンドラインから +.Fl f +オプションで指定したファイル) から設定を読み込みます。 +このファイルの各行は ``キーワード 引数'' の形式になっており、 +空行あるいは +.Ql # +で始まる行はコメントとみなされます。 +.Pp +使用できるキーワードとその説明は以下の通りです +(キーワードでは大文字小文字は区別されませんが、引数では区別されることに +注意してください): +.Bl -tag -width Ds +.It Cm AFSTokenPassing (AFS トークンパス) +このオプションは AFS トークンがサーバに転送されるかどうか指定します。 +デフォルトは +.Dq no +です。 +.It Cm AllowGroups (許可するグループ) +このキーワードにはいくつかのグループ名パターンをスペースで区切って +指定します。これが指定されると、ユーザの基本グループが +そのパターンのどれかにマッチするグループであるようなユーザだけが +ログインを許可されます。パターン中では +.Ql \&* +および +.Ql \&? +がワイルドカードとして使えます。有効なのはグループの「名前」だけで、 +数字で表されたグループ ID は認識されません。デフォルトでは、 +ログインはすべてのグループに許可されています。 +.Pp +.It Cm AllowTcpForwarding (TCP 転送の許可) +TCP 転送を許可するかどうか指定します。デフォルトは +.Dq yes +です。TCP 転送を禁止しても、ユーザにシェルのアクセスを禁止しない +かぎりセキュリティの向上にはならないことに注意してください。 +なぜならユーザはいつでも自前の転送プログラムをインストールして +使うことができるからです。 +.Pp +.It Cm AllowUsers (許可するユーザ) +このキーワードにはいくつかのユーザ名パターンをスペースで区切って +指定します。これが指定されると、そのパターンのどれかにマッチする +ユーザだけがログインを許可されます。パターン中では +.Ql \&* +および +.Ql \&? +がワイルドカードとして使えます。有効なのはユーザの「名前」だけで、 +数字で表されたユーザ ID は認識されません。デフォルトでは、 +ログインはすべてのユーザに許可されています。 +もしこのパターンが USER@HOST という形をとっている時は、 +ユーザ名 USER と ホスト名 HOST を別々にチェックでき、 +特定のホストからの特定のユーザのログインを制限することができます。 +.Pp +.It Cm AuthorizedKeysFile (authorized_keys ファイル) +ユーザ認証のさいに使われる公開鍵を格納しているファイル名を +指定します。 +.Cm AuthorizedKeysFile +のファイル名中に %T が含まれている場合、その部分は接続の間 +別のものに置換されます。%% は '%' 1 文字に置換されます。 +%h は認証しようとしているユーザのホームディレクトリに置換され、 +%u はそのユーザのユーザ名に置換されます。この後、 +その絶対パスあるいはユーザのホームディレクトリからの相対パスが +.Cm AuthorizedKeysFile +に渡されます。デフォルトでの値は +.Dq .ssh/authorized_keys +となっています。 +.It Cm Banner (バナー) +司法管区によっては、法的な保護を受けるためには +認証の前に警告メッセージを送ったほうがよい場合があります。 +ここで指定されたファイルの内容は、認証が許可される前に +リモートユーザに提示されます。 +このオプションは プロトコル バージョン 2 でのみサポートされています。 +デフォルトでは、バナーは表示されません。 +.Pp +.It Cm ChallengeResponseAuthentication (チャレンジ・レスポンス認証) +チャレンジ・レスポンス認証を許可するかどうか指定します。 +.Xr login.conf 5 +に記されているすべての認証形式が使えます。 +特に +.Fx +では、PAM +.Xr ( pam 3 +参照) を認証に使用するかを制御します。 +これは、 +.Cm PasswordAuthentication +および +.Cm PermitRootLogin +変数の効果に影響します。 +デフォルトは +.Dq yes +です。 +.It Cm Ciphers (SSH2の暗号化アルゴリズム) +プロトコル バージョン 2 で許可される暗号化アルゴリズムを +指定します。複数のアルゴリズムを指定する場合は、 +コンマで区切ってください。 +デフォルトは +.Pp +.Bd -literal + ``aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,arcfour, + aes192-cbc,aes256-cbc'' +.Ed +です。 +.It Cm ClientAliveInterval (クライアントの生存チェック間隔) +.Nm sshd +は一定時間ごとに、 +暗号化された通信路を経由してクライアントに応答を要求するメッセージ +(client alive message) を送ります。 +その際、何もデータが送られてこなかったらタイムアウトする +時間を秒数で指定します。デフォルトの値は 0 で、 +これはメッセージを送らないことを意味します。 +このオプションは プロトコル バージョン 2 でのみサポートされています。 +.It Cm ClientAliveCountMax (クライアントの生存チェック最大カウント数) +.Nm sshd +が無反応のクライアントに対して +client alive message (上記参照) を送ってみる最大数を指定します。 +client alive message に対する応答が連続してこの回数だけなかった場合、 +.Nm sshd +は接続を切り、セッションを終了します。 +client alive message は、 +.Cm KeepAlive +(下記) とはまったく違うことに注意してください。 +client alive message は暗号化された経路を介して送られるので、 +偽造されることはありません。 +.Cm KeepAlive +によって設定される TCP の keepalive オプションは +偽造される可能性があります。client alive のメカニズムは +クライアントあるいはサーバが、いつ接続が切れたのかを +知りたいときに役立ちます。 +.Pp +デフォルトの値は 3 です。もし +.Cm ClientAliveInterval +(上記) が 15 に設定され、 +.Cm ClientAliveCountMax +がデフォルトのままである場合、これに反応できない ssh クライアントは +およそ 45 秒後に接続が切られます。 +.It Cm Compression +圧縮を許可するかどうかを指定します。 +この引数がとりうる値は +.Dq yes +または +.Dq no +です。デフォルトでは +.Dq yes (圧縮を許可する) +になっています。 +.It Cm DenyGroups (拒否するグループ) +このキーワードにはいくつかのグループ名パターンをスペースで区切って指定します。 +ユーザの基本グループがこのパターンのどれかに +マッチするユーザはログインを禁止されます。パターン中では +.Ql \&* +および +.Ql \&? +がワイルドカードとして使えます。有効なのは +グループの「名前」だけで、数字で表されたグループ ID は +認識されません。デフォルトでは、 +ログインはすべてのグループに許可されています。 +.Pp +.It Cm DenyUsers (拒否するユーザ) +このキーワードにはいくつかのユーザ名パターンをスペースで区切って +指定します。これが指定されると、 +このパターンのどれかにマッチするユーザはログインを禁止されます。 +.Ql \&* +および +.Ql \&? +がワイルドカードとして使えます。 +有効なのはグループの「名前」だけで、数字で表されたグループ ID は +認識されません。デフォルトでは、ログインはすべてのユーザに許可されています。 +もしこのパターンが USER@HOST という形をとっている時は、 +ユーザ名 USER と ホスト名 HOST を別々にチェックでき、 +特定のホストからの特定のユーザのログインを制限することができます。 +.It Cm GatewayPorts (ポート中継の許可) +リモートホストがクライアント側に転送されたポートに接続することを +許可するかどうか指定します。デフォルトでは、 +.Nm sshd +はリモート転送ポートをループバックアドレスに bind します。 +これは他のリモートホストが、転送されたポートに接続してしまうのを +防いでいます。 +.Cm GatewayPorts +は +.Nm sshd +にリモート転送ポートをワイルドカードアドレスに bind させるときに使います。 +これによってリモートホストが転送されたポートに接続できるようになります。 +この引数の値は +.Dq yes +あるいは +.Dq no +です。デフォルトは +.Dq no +になっています。 +.It Cm HostbasedAuthentication (ホストベース認証の許可) +公開鍵ホスト認証が成功したときに、 +rhosts あるいは /etc/hosts.equiv 認証を許可するかどうか +指定します (ホストベース認証)。 +このオプションは +.Cm RhostsRSAAuthentication (RhostsRSA 認証の許可) +に似ており、プロトコル バージョン 2 のみに作用します。 +デフォルトの値は +.Dq no +になっています。 +.It Cm HostKey (ホスト鍵) +SSH で使われる、ホスト秘密鍵が格納されているファイルを指定します。 +デフォルトでは、プロトコル バージョン 1 用の鍵が +.Pa /etc/ssh/ssh_host_key +であり、プロトコル バージョン 2 用の鍵が +.Pa /etc/ssh/ssh_host_dsa_key +です。 +このファイルがグループあるいは他人からアクセス可能になっていると、 +.Nm sshd +はその使用を拒絶するので注意してください。 +複数のホスト鍵を使うことも可能です。 +.Dq rsa1 +鍵はバージョン 1 に使われ、 +.Dq dsa +または +.Dq rsa +はバージョン 2 の SSH プロトコルに使われます。 +.It Cm IgnoreRhosts (rhosts の無視) +.Cm RhostsAuthentication , +.Cm RhostsRSAAuthentication +または +.Cm HostbasedAuthentication +の各認証で、 +.Pa .rhosts +および +.Pa .shosts +ファイルを使わないようにします。 +.Pp +この状態でも、 +.Pa /etc/hosts.equiv +および +.Pa /etc/ssh/shosts.equiv +は依然として有効です。デフォルトでは +.Dq yes +になっています。 +.It Cm IgnoreUserKnownHosts (ユーザ用 known_hosts の無視) +.Cm RhostsRSAAuthentication +または +.Cm HostbasedAuthentication +の各認証で、ユーザの +.Pa $HOME/.ssh/known_hosts +ファイルを使わないようにします。 +デフォルトは +.Dq no +です。 +.It Cm KeepAlive (接続を生かしておく) +システムが相手のマシンに TCP keepalive メッセージを送るかどうか +指定します。これが送られると、接続の異常終了や相手マシンの +クラッシュが正しく通知されるようになります。 +しかしこれを使うと、たとえ経路が一時的にダウンしていても +接続が死んでいるということになってしまい、これが邪魔になる場合もあります。 +その一方で、もし keepalive が送られないとすると、セッションは +サーバ上で永久に残ってしまことがあり、 +.Dq 幽霊 +ユーザを居座らせてサーバ資源を消費することがあります。 +.Pp +デフォルトは +.Dq yes +(keepalive を送る) です。そのため +クライアントはネットワークがダウンするか、 +リモートホストがクラッシュすると通知してきます。 +これは永久に残るセッションを防ぎます。 +.Pp +Keepalive を禁止するには、この値を +.Dq no +にする必要があります。 +.It Cm KerberosAuthentication (Kerberos 認証) +Kerberos 認証をおこなうかどうか指定します。 +この認証は Kerberos チケットか、あるいはもし +.Cm PasswordAuthentication +が yes になっている場合なら、ユーザが入力して +Kerberos KDC 経由で批准されたパスワードが使われます。 +このオプションを使うには、サーバに KDC のアイデンティティを +批准するための Kerberos servtab が必要です。 +デフォルトでは +.Dq no +になっています。 +.It Cm KerberosOrLocalPasswd (Kerberos あるいはローカルパスワード) +これが指定されている場合、Kerberos 経由のパスワード認証が +失敗すると、そのパスワードは +.Pa /etc/passwd +などの別のローカルな機構によって確認されます。デフォルトは +.Dq yes +です。 +.It Cm KerberosTgtPassing (Kerberos TGT パス) +Kerberos TGT をサーバに転送してもよいかどうか指定します。デフォルトは +.Dq no +です。なぜなら、これがまともに動くのは Kerberos KDC が +実際の AFS kaserver であるときだけだからです。 +.It Cm KerberosTicketCleanup (Kerberos チケット自動除去) +ユーザのチケット用キャッシュをログアウト時に自動的に消去するかどうか +指定します。デフォルトは +.Dq yes +です。 +.It Cm KeyRegenerationInterval (鍵の再生成間隔) +プロトコル バージョン 1 では、サーバ鍵は (一度でも使われると) ここで +指定された間隔ごとに自動的に再生成されます。このように鍵を再生成する +目的は、あとでそのマシンに侵入して盗聴したセッションを解読されたり、 +鍵を盗まれたりするのを防ぐためです。この鍵はどこにも格納されません。 +値として 0 を指定すると、鍵はまったく再生成されなくなります。 +デフォルトでは 3600 (秒) になっています。 +.It Cm ListenAddress (接続受付アドレス) +.Nm sshd +が接続を受けつける (listen する) ローカルアドレスを指定します。 +ここでは以下の形式が使えます: +.Pp +.Bl -item -offset indent -compact +.It +.Cm ListenAddress +.Sm off +.Ar host No | Ar IPv4_addr No | Ar IPv6_addr +.Sm on +.It +.Cm ListenAddress +.Sm off +.Ar host No | Ar IPv4_addr No : Ar port +.Sm on +.It +.Cm ListenAddress +.Sm off +.Oo +.Ar host No | Ar IPv6_addr Oc : Ar port +.Sm on +.El +.Pp +.Ar port +が指定されていないときは、 +.Nm sshd +はそのアドレスで、それまでの +.Cm Port +オプションで指定されたすべてのポートで接続を受けつけます。 +デフォルトではすべてのローカルアドレスに対して +接続を受けつけるようになっています。 +.Cm ListenAddress +項目は複数指定してもかまいません。また +.Cm Port +オプションは、ポートつきでないアドレス指定に対しては +このオプションよりも前に指定しておく必要があります。 +.It Cm LoginGraceTime (ログイン猶予時間) +ユーザがここで指定された時間内にログインできないと、 +サーバは接続を切ります。この値を 0 にすると、時間制限はなくなります。 +デフォルトの値は 120 (秒) です。 +.It Cm LogLevel (ログレベル) +.Nm sshd +が出力するログメッセージの冗長性レベルを指定します。 +とりうる値は次のとおりです: QUIET, FATAL, ERROR, INFO, VERBOSE, DEBUG, +DEBUG1, DEBUG2 および DEBUG3。 +デフォルトでは INFO です。DEBUG と DEBUG1 は等価です。 +DEBUG2, DEBUG3 はそれぞれさらに冗長なログになります。 +DEBUG レベル以上のログはユーザのプライバシを侵害するので、 +勧められるものではありません。 +.It Cm MACs (メッセージ認証コード) +使用する MAC (メッセージ認証コード) アルゴリズムの優先順位を指定します。 +MAC アルゴリズムはプロトコル バージョン 2 で使われる、 +データの改竄を防ぐ機構 (data integrity protection) です。 +複数のアルゴリズムをコンマで区切って指定します。 +デフォルトは +.Dq hmac-md5,hmac-sha1,hmac-ripemd160,hmac-sha1-96,hmac-md5-96 +の順になっています。 +.It Cm MaxStartups (最大起動数) +認証されていない段階の接続を +.Nm sshd +デーモンが最大でどれだけ受けつけるかを指定します。 +この値を超えた (認証されていない段階の) 接続は捨てられます。 +この状態は (すでに接続したクライアントの) 認証が成功するか、その +.Cm LoginGraceTime +(ログイン猶予時間) が切れるまで続きます。 +デフォルトではこの数は 10 です。 +.Pp +もうひとつの方法は、早いうちからランダムに接続を拒否するよう +指定することです。これはこのオプションにコロンで区切った 3つの値を +与えることによりおこないます。この値は +.Dq start:rate:full +(``開始時:確率:最大数'') の形をとります (例: "10:30:60" など)。 +.Nm sshd +は認証されていない段階の接続が +.Dq start +(この例では 10) 個を超えると、これ以後の接続要求を +.Dq rate/100 +(この例では 30%) の確率で拒否しはじめます。この確率は +.Dq full +(この例では 60) 個の接続が来るまで線形に増えつづけ、 +最大数に達した時点でそれ以降すべての接続を拒否するようになります。 +.Cm PasswordAuthentication +(パスワード認証) が禁止されているかどうかにかかわらず、 +パスワード認証も許可されます。 +デフォルトでは +.Dq no +になっています。 +.It Cm PasswordAuthentication (パスワード認証) +パスワード認証を許可するかどうか指定します。デフォルトでは +.Dq yes +になっています。 +.Cm ChallengeResponseAuthentication +が +.Dq yes +であり、 +.Nm sshd +の PAM 認証ポリシに +.Xr pam_unix 8 +が含まれる場合、 +.Cm PasswordAuthentication +の値に関係なく、チャレンジ・レスポンス機構によるパスワード認証が許可されます。 +.It Cm PermitEmptyPasswords (空のパスワードを許可) +パスワード認証が許可されているとき、パスワード文字列が空の +アカウントに対してサーバがログインを許可するかどうか指定します。 +デフォルトは +.Dq no +です。 +.It Cm PermitRootLogin (root ログイン許可) +.Xr ssh 1 +を使って、root がログインできるかどうか指定します。この引数の値は +.Dq yes , +.Dq without-password +(パスワード認証なし)、 +.Dq forced-commands-only +(強制コマンドのみ)、あるいは +.Dq no +のいずれかです。 +デフォルトは +.Dq no +です。 +.Cm ChallengeResponseAuthentication +が +.Dq yes +の場合、 +.Cm PermitRootLogin +が +.Dq without-password +に設定されていたとしても、root ユーザはそのパスワードで許可されます。 +このオプションを +.Dq without-password +にすると、root だけパスワード認証ではログインできなくなります。 +.Pp +このオプションを +.Dq forced-commands-only +にすると、root は公開鍵認証を使ってログインできますが、その鍵に +.Ar command +オプションが指定されている場合にかぎります +(これは通常の root ログインを許可していなくても、 +リモートバックアップをとりたいときなどに有用です)。 +root に対してはこれ以外の認証方法はすべて禁止になります。 +.Pp +このオプションを +.Dq no +にすると、root のログインは許可されません。 +.It Cm PermitUserEnvironment (ユーザの環境変数変更を許可する) +.Nm sshd +が +.Pa ~/.ssh/environment +ファイルおよび +.Pa ~/.ssh/authorized_keys +における +.Cm environment= +オプションを処理すべきかどうかを指定します。 +デフォルトでは +.Dq no +です。 +環境変数の変更は、ユーザに +.Ev LD_PRELOAD +などの設定を使った +ある種のアクセス制限を回避させてしまう可能性があります。 +.It Cm PidFile (pid ファイル) +.Nm sshd +デーモンのプロセス ID を格納するファイルを指定します。 +デフォルトでは +.Pa /var/run/sshd.pid +になっています。 +.It Cm Port (ポート番号) +.Nm sshd +が接続を受けつける (listen する) ポート番号を指定します。 +デフォルトは 22 です。複数指定することも可能です。 +.Cm ListenAddress +の項も参照してください。 +.It Cm PrintLastLog (LastLog の表示) +ユーザが対話的にログインしたとき、 +そのユーザが前回ログインした日付と時刻を表示するかどうか指定します。 +デフォルトでは +.Dq yes +になっています。 +.It Cm PrintMotd (motd の表示) +ユーザが対話的にログインしたとき、 +.Pa /etc/motd +(今日のお知らせ) ファイルの内容を表示するかどうか指定します。 +(システムによっては、これはシェルや +.Pa /etc/profile +に相当するものが表示します)。デフォルトは +.Dq yes +です。 +.It Cm Protocol (プロトコル) +サポートするプロトコルのバージョンを指定します。 +とりうる値は +.Dq 1 +と +.Dq 2 +です。複数のバージョンをコンマで区切って指定することもできます。 +デフォルトは +.Dq 2,1 +です。 +ここでのプロトコルの順番は、優先度を指定するものではないことに +注意してください。なぜなら複数のプロトコルがサーバで使用可能な場合、 +選択するのはクライアント側だからです。よって +.Dq 2,1 +という指定は、 +.Dq 1,2 +と同じです。 +.It Cm PubkeyAuthentication (公開鍵認証) +公開鍵認証を許可するかどうか指定します。 +デフォルトは +.Dq yes +です。 +このオプションは プロトコル バージョン 2 にのみ適用されることに +注意してください。 +.It Cm RhostsAuthentication (rhosts 認証) +rhosts や +.Pa /etc/hosts.equiv +だけを使った認証でログインを許可して +しまってもよいかどうか指定します。 +これは安全でないため、ふつうは許可すべきではありません。 +かわりに +.Cm RhostsRSAAuthentication (rhosts-RSA 認証) +を使うべきです。こちらは通常の rhosts や +.Pa /etc/hosts.equiv +認証に加えて、RSA ベースのホスト間認証をおこないます。 +デフォルトは +.Dq no +です。 +このオプションはプロトコル バージョン 1 にのみ +適用されることに注意してください。 +.It Cm RhostsRSAAuthentication (rhosts-RSA 認証) +RSA ホスト間認証が成功しているとき、rhosts や +.Pa /etc/hosts.equiv +を使った認証をおこなってよいかどうか指定します。デフォルトは +.Dq no +です。 +このオプションはプロトコル バージョン 1 にのみ +適用されることに注意してください。 +.It Cm RSAAuthentication (RSA 認証) +純粋な RSA 認証を許可するかどうかを指定します。デフォルトは +.Dq yes +になっています。このオプションはプロトコル バージョン 1 にのみ +適用されることに注意してください。 +.It Cm ServerKeyBits (サーバ鍵のビット数) +プロトコル バージョン 1 で短期的に使われるサーバ鍵の +ビット数を指定します。 +最小値は 512 で、デフォルトは 768 です。 +.It Cm StrictModes (厳格なモード) +.Nm sshd +がログインを許可する前に、ユーザのファイルおよび +ホームディレクトリの所有権とパーミッションをチェックすべきか +どうかを指定します。これはふつう初心者が、しばしば自分の +ディレクトリを誰でも書き込めるようにしてしまう事故を防ぐために +有効です。デフォルトでは +.Dq yes +になっています。 +.It Cm Subsystem (サブシステム) +外部サブシステム (ファイル転送デーモンなど) を設定します。 +このオプションへの引数にはサブシステム名と、そのサブシステムに +要求があったとき実行されるコマンドを与えます。 +.Xr sftp-server 8 +はファイル転送サブシステム +.Dq sftp +を実装したものです。デフォルトではサブシステムは +何も定義されていません。このオプションは +プロトコル バージョン 2 にのみ適用されることに注意してください。 +.It Cm SyslogFacility (syslog 分類コード) +.Nm sshd +が出力するログメッセージで使われるログの分類コード +(facility) を指定します。とりうる値は次のとおりです: DAEMON, USER, +AUTH, LOCAL0, LOCAL1, LOCAL2, LOCAL3, LOCAL4, LOCAL5, LOCAL6, +LOCAL7。デフォルトは AUTH です。 +.It Cm UseLogin (login の使用) +対話的ログインセッションのさい、 +.Xr login 1 +プログラムを使うかどうかを指定します。 +デフォルトでは +.Dq no +になっています。 +対話的でないリモートコマンド実行のときに +.Xr login 1 +が使われることは決してありません。また、これが許可されていると +.Cm X11Forwarding (X11 転送) +は許可されなくなるということに注意してください。 +なぜなら、 +.Xr login 1 +は +.Xr xauth 1 +クッキーの扱いを知らないからです。 +.Cm UsePrivilegeSeparation +が指定されている場合は、認証のあとで禁止されます。 +.It Cm UsePrivilegeSeparation (root 権限を分離) +.Nm sshd +が、受けつけるネットワークトラフィックを処理するために +root 権限を分離するかどうかを指定します。 +これは root 権限をもたない子プロセスをつくることによって +おこなわれます。認証が成功すると、そのユーザの権限をもつ +別のプロセスが新たに作られます。これの目的は、まずそうな部分を +root 権限をもたないプロセスのみに限定することによって、 +root 権限による被害の拡大を防ぐためです。 +デフォルトでは +.Dq yes (root権限を分離する) +になっています。 +.It Cm VerifyReverseMapping (逆引きチェック) +このオプションを +.Dq yes +にすると、 +.Nm +はリモートホスト名を逆引きしたあとにそのホスト名を解決 (resolve) しなおして、 +本当に同じ IP アドレスになっているかどうかを検証します。 +デフォルトは +.Dq no +です。 +.It Cm VersionAddendum (バージョンに付加するもの) +OS もしくはサイトに特化した修正を示すために、通常のバージョン文字列に +付け加える文字列を指定します。 +デフォルトは +.Dq FreeBSD-20030924 +です。 +.It Cm X11DisplayOffset (X11 ディスプレイ番号のオフセット値) +.Nm sshd +が X11 転送をするときに最初に使われるディスプレイ番号を指定します。 +これは +.Nm sshd +が X11 転送で使うディスプレイ番号が、 +本物の X サーバのディスプレイ番号と衝突してしまうのを防ぐためです。 +デフォルトの値は 10 です。 +.It Cm X11Forwarding (X11 転送) +X11 転送を許可するかどうかを指定します。 +この引数の値は +.Dq yes +あるいは +.Dq no +で、デフォルトは +.Dq yes +です。 +.Pp +X11 転送が許可されており、転送された +.Nm sshd +のディスプレイが任意のアドレス (下の +.Cm X11UseLocalhost +参照) からの接続を受けつけるように設定されていると、 +サーバやクライアントのディスプレイは余計な危険に +さらされることになります。なので、デフォルトではそうなっていません。 +また、認証におけるなりすまし、認証データの確認や差し替えなどが +クライアント側で起こります。X11 転送を使うセキュリティ上のリスクは、 +ssh クライアントが転送を要求したときに、クライアント上の X11 サーバが +攻撃にさらされるかもしれないということです ( +.Xr ssh_config 5 +の +.Cm ForwardX11 +注意書きを参照)。 +システム管理者はクライアントがうっかり X11 を転送して、 +余計な危険性を増すことのないように、これをかならず +.Dq no +に設定させるような立場をとることもできます。 +.Pp +注意: X11 転送機能を禁止しても、ユーザが X11 の通信を転送できなくなる +というわけではありません。なぜならユーザはいつでも自前の転送プログラムを +インストールして使うことができるからです。 +.Cm UseLogin +が許可されていると、X11 転送は自動的に禁止されます。 +.It Cm X11UseLocalhost (X11 で localhost のみを許可) +.Nm sshd +が転送された X11 サーバをループバックアドレス (localhost) に +bind するかどうかを指定します。デフォルトでは、 +.Nm sshd +は転送された X11 をループバックアドレスに bind し、環境変数 +.Ev DISPLAY +のホスト名の部分を +.Dq localhost +に設定します。 +こうすると、(訳注: SSHサーバ以外の) リモートホストから +転送された Xサーバに接続することはできなくなります。 +しかし、ふるい X11 クライアントだと、 +この設定では動作しないことがあります。 +そのようなときは +.Cm X11UseLocalhost +を +.Dq no +に設定して、転送された X サーバがワイルドカードアドレスに +bind されるようにできます。 +このオプションの引数は +.Dq yes +あるいは +.Dq no +です。デフォルトでは、これは +.Dq yes (localhost にしか bind しない) +になっています。 +.It Cm XAuthLocation (xauth の位置) +.Xr xauth 1 +プログラムのフルパス名を指定します。デフォルトでは +.Pa /usr/X11R6/bin/xauth +になっています。 +.El +.Ss 時間の表現 +.Pp +.Nm sshd +のコマンドライン引数や設定ファイルオプションで +時間を指定する場合、次の構文を並べた書式を使うことができます: +.Sm off +.Ar time Op Ar qualifier +.Sm on +.Pp +ここで +.Ar time +は正の整数であり、 +.Ar qualifier +は次のうちのどれかです: +.Pp +.Bl -tag -width Ds -compact -offset indent +.It Cm <なし> +seconds (秒) +.It Cm s | Cm S +seconds (秒) +.It Cm m | Cm M +minutes (分) +.It Cm h | Cm H +hours (時間) +.It Cm d | Cm D +days (日) +.It Cm w | Cm W +weeks (週) +.El +.Pp +これらの形式を組み合わせることもでき、 +その場合は各形式の時間が合計されます。 +.Pp +時間表現の例: +.Pp +.Bl -tag -width Ds -compact -offset indent +.It 600 +600 秒 (10 分) +.It 10m +10 分 +.It 1h30m +1 時間 30 分 (90 分) +.El +.Sh 関連ファイル +.Bl -tag -width Ds +.It Pa /etc/ssh/sshd_config +.Nm sshd +の設定ファイルです。このファイルに書き込めるのは +root だけでなくてはいけませんが、読むのは誰でもできるように +しておいたほうがよいでしょう (必須ではありませんが)。 +.El +.Sh 作者 +OpenSSH は Tatu Ylonen による、フリーな +オリジナル版 ssh 1.2.12 リリースから派生したものです。 +Aaron Campbell、 Bob Beck、 Markus Friedl、 Niels Provos、 +Theo de Raadt および Dug Song が多くのバグをとり除き、 +新しい機能をふたたび追加して OpenSSH をつくりました。 +SSH プロトコル バージョン 1.5 および 2.0 のサポートは +Markus Friedl の貢献によるものです。 +Niels Provos および Markus Friedl が root特権分離のサポートに +貢献しました。 +.Sh 日本語訳 +新山 祐介 (yusuke @ cs . nyu . edu) 2003/4/17 (for 3.6.1p1) +.Pp +当マニュアルページは氏のご好意により +.Fx +日本語マニュアルに収録させていただいています。 +翻訳についてのご意見、ご指摘がありましたら新山氏 +(yusuke at cs . nyu . edu)、および +.Fx +jpman プロジェクト +.Aq man-jp@jp.FreeBSD.org +までお送りください。 +.Sh 関連項目 +.Xr sshd 8 diff --git a/documentation/manual-pages/ja/man5/stab.5 b/documentation/manual-pages/ja/man5/stab.5 new file mode 100644 index 0000000000..896181ce3a --- /dev/null +++ b/documentation/manual-pages/ja/man5/stab.5 @@ -0,0 +1,225 @@ +.\" Copyright (c) 1980, 1991, 1993 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. All advertising materials mentioning features or use of this software +.\" must display the following acknowledgement: +.\" This product includes software developed by the University of +.\" California, Berkeley and its contributors. +.\" 4. Neither the name of the University nor the names of its contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" @(#)stab.5 8.1 (Berkeley) 6/5/93 +.\" %FreeBSD: src/share/man/man5/stab.5,v 1.11 2004/07/03 18:29:23 ru Exp % +.\" +.\" $FreeBSD$ +.\" WORD: symbol table シンボルテーブル +.\" WORD: directive ディレクティブ(命令、指令の類) +.\" +.Dd June 5, 1993 +.Dt STAB 5 +.Os +.Sh 名称 +.Nm stab +.Nd シンボルテーブルの型 +.Sh 書式 +.In stab.h +.Sh 解説 +.In stab.h +ファイルは +a.out ファイルで使われる、シンボルテーブルのいくつかの +.Fa n_type +フィールド値を定義します。 +これらは、恒久的なシンボル形式であり +(つまり、ローカルなラベルなどではない)、古いデバッガである +.Em sdb +や Berkeley パスカルコンパイラ +.Xr pc 1 +で使われます。 +.\" (訳注) BerkeleyパスカルコンパイラはFreeBSDディストリビューション +.\" に含まれない。 +.\" 1998/05/05 Takeshi MUTOH <mutoh@info.nara-k.ac.jp> +シンボルテーブルエントリは +.Pa .stabs +アセンブラディレクティブによって生成することができます。 +ここでは、ダブルクォートで区切られた名前、シンボルの型、シンボルに +ついての char 1 つと short 1 つ分の情報、 +そして (通常はアドレスを示す) unsigned long の整数を指定できます。 +アドレスフィールドに明示的なラベルを生成するのを避けるため、 +.Pa .stabd +ディレクティブを使い、現在の場所を指すようにすることができます。 +もし名前が必要ない場合、 +.Pa .stabn +ディレクティブを使うことで、シンボルテーブルエントリを生成することができます。 +ローダは、 +.Pa .stab +ディレクティブによって生成されたシンボルテーブルのエントリ順を変えないこと +を保証します。 +.Xr a.out 5 +に記述されているように、シンボルテーブルの要素は以下の構造を持ちます。 +.Bd -literal +/* +* シンボルテーブルエントリの書式 +*/ + +struct nlist { + union { + char *n_name; /* コア内部 (in-core) で使用 */ + long n_strx; /* ファイル文字列表へのインデックス */ + } n_un; + unsigned char n_type; /* 型のフラグ */ + char n_other; /* 使用されていない */ + short n_desc; /* 以下の struct desc 参照 */ + unsigned n_value; /* アドレスまたはオフセットまたは行 */ +}; +.Ed +.Pp +.Fa n_type +フィールドの下位ビットは、シンボルをたかだか 1 つのセグメントに置くため +に使用します。どのセグメントに置くかは +.In a.out.h +内で定義されている以下のマスクに基づきます。 +これらのセグメントビットを設定しないようにすることで、シンボルをどの +セグメントにも属さないようにすることができます。 +.Bd -literal +/* +* n_type の単純な値 +*/ + +#define N_UNDF 0x0 /* 定義されていない */ +#define N_ABS 0x2 /* 絶対指定 */ +#define N_TEXT 0x4 /* テキスト */ +#define N_DATA 0x6 /* データ */ +#define N_BSS 0x8 /* bss */ + +#define N_EXT 01 /* 外部参照を表すビット(or して使う) */ +.Ed +.Pp +シンボルの +.Fa n_value +フィールドは、リンカ +.Xr ld 1 +によって、正しいセグメント内のアドレスに再配置されます。 +どのセグメントにも入っていないシンボルの +.Fa n_value +フィールドは、リンカによって変更されません。 +さらに、 +.Fa n_type +フィールドで、以下のビットのいずれもセットされていない場合は、 +リンカは自分が持っている規則にしたがって、 +いくつかのシンボルを破棄します。 +.Bd -literal +/* +* その他の永続的なシンボルテーブルエントリでは、N_STAB のいくつかのビットが +* セットされています。これらは、<stab.h> 内に記述があります。 +*/ + +#define N_STAB 0xe0 /* もしこれらのビットのいずれかがセットされていれば破棄されません */ +.Ed +.Pp +これで、112 (7 \(** 16) 個までのシンボルを、さまざまなセグメントで分けて +定義できるようになります。 +これらのいくつかについては既に述べられています。 +古いシンボリックデバッガ +.Em sdb +は、以下の n_type 値を使います。 +.Bd -literal +#define N_GSYM 0x20 /* グローバルシンボル : name,,0,type,0 */ +#define N_FNAME 0x22 /* 手続き名 (f77 kludge): name,,0 */ +#define N_FUN 0x24 /* 手続き: name,,0,linenumber,address */ +#define N_STSYM 0x26 /* 静的シンボル: name,,0,type,address */ +#define N_LCSYM 0x28 /* .lcomm シンボルl: name,,0,type,address */ +#define N_RSYM 0x40 /* レジスタシンボル: name,,0,type,register */ +#define N_SLINE 0x44 /* ソース行: 0,,0,linenumber,address */ +#define N_SSYM 0x60 /* structure elt: name,,0,type,struct_offset */ +#define N_SO 0x64 /* ソースファイル名: name,,0,0,address */ +#define N_LSYM 0x80 /* ローカルシンボル: name,,0,type,offset */ +#define N_SOL 0x84 /* #includeされたファイル名: name,,0,0,address */ +#define N_PSYM 0xa0 /* パラメータ: name,,0,type,offset */ +#define N_ENTRY 0xa4 /* 別のエントリ: name,linenumber,address */ +#define N_LBRAC 0xc0 /* 左かっこ: 0,,0,nesting level,address */ +#define N_RBRAC 0xe0 /* 右かっこ: 0,,0,nesting level,address */ +#define N_BCOMM 0xe2 /* 共通の開始符号: name,, */ +#define N_ECOMM 0xe4 /* 共通の終了符号: name,, */ +#define N_ECOML 0xe8 /* (ローカル名の)共通の終了符号: ,,address */ +#define N_LENG 0xfe /* 長さ情報を持った2番目の stab エントリ */ +.Ed +.Pp +ここで、コメントには +与えられた +.Fa n_type +の +.Fa n_name , +.Fa n_other , +.Fa n_desc , +.Fa n_value +フィールド +と +.Pa .stab +.Fa s +の典型的な利用法が書かれています。 +.Em sdb +は、ポータブル C コンパイラ +.Xr cc 1 +によって使われる形式の型の指定子を持っている +.Fa n_desc +フィールドを使います。これらの型の値のフォーマットの詳細はヘッダファイル +.Pa pcc.h +を参照して下さい。 +.Pp +Berkeley パスカルコンパイラ +.Xr pc 1 +は、以下の +.Fa n_type +値をつかいます: +.Bd -literal +#define N_PC 0x30 /* グローバルなパスカルシンボル: name,,0,subtype,line */ +.Ed +.Pp +と、以下のサブ型を使い、別々のコンパイルファイルにまたがる型チェックを +行います。 +.Bd -unfilled -offset indent +1 ソースファイル名 +2 インクルードされたファイル名 +3 グローバルなラベル +4 グローバルな定数 +5 グローバルな型 +6 グローバルな変数 +7 グローバルな関数 +8 グローバルな手続き +9 外部関数 +10 外部手続き +11 ライブラリ変数 +12 ライブラリルーチン +.Ed +.Sh 関連項目 +.Xr as 1 , +.Xr ld 1 , +.Xr a.out 5 +.Sh バグ +もっと基本的な形式が必要でしょう。 +.Sh 歴史 +.Nm +ファイルは +.Bx 4.0 +から登場しました。 diff --git a/documentation/manual-pages/ja/man5/style.Makefile.5 b/documentation/manual-pages/ja/man5/style.Makefile.5 new file mode 100644 index 0000000000..1c05f4ead0 --- /dev/null +++ b/documentation/manual-pages/ja/man5/style.Makefile.5 @@ -0,0 +1,254 @@ +.\" Copyright (c) 2002-2003 David O'Brien <obrien@FreeBSD.org> +.\" All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. Neither the name of the author nor the names of any contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL DAVID O'BRIEN OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" %FreeBSD: src/share/man/man5/style.Makefile.5,v 1.11 2004/06/20 12:35:16 mpp Exp % +.\" $FreeBSD$ +.\" +.Dd February 28, 2003 +.Dt STYLE.MAKEFILE 5 +.Os +.Sh 名称 +.Nm style.Makefile +.Nd +.Fx +における +.Pa Makefile +ファイルのスタイルガイド +.Sh 解説 +このファイルは +.Fx +ソースツリーの makefile に好ましいスタイルを明記しています。 +.Bl -bullet +.It +全ての makefile はファイルの先頭に SCM ID を持ち、それに空行が続きます。 +.Bd -literal +# $FreeBSD\&$ + +.Ed +.It +必要ならば、次に +.Cm .PATH : +が続きます。 +.Dq Li ".PATH: " +のように、コロンの後に単一の +.Tn アスキー +スペースが続くように綴ります。 +.Va VPATH +変数は使わないでください。 +.It +特殊変数 ( +.Va LIB 、 SRCS 、 MLINKS +など) は、作成されるもの、バイナリの構築に使うもの、 +バイナリのインストールに使うものの順番で並べます (「作成物順」)。 +あるいは構築される順番、つまり主となるプログラム (あるいはライブラリ) に +使うものが先にくるように並べても構いません (「構築物順」)。 +一般的な「作成物順」はこうです: +.Va PROG Ns / Ns Oo Va SH Oc Ns Va LIB Ns / Ns Va SCRIPTS +.Va FILES +.Va LINKS +.Oo Va NO Oc Ns Va MAN +.Va MLINKS +.Va INCS +.Va SRCS +.Va WARNS +.Va CFLAGS +.Va DPADD +.Va LDADD 。 +一般的な「構築物順」はこうです: +.Va PROG Ns / Ns Oo Va SH Oc Ns Va LIB Ns / Ns Va SCRIPTS +.Va SRCS +.Va WARNS +.Va CFLAGS +.Va DPADD +.Va LDADD +.Va INCS +.Va FILES +.Va LINKS +.Oo Va NO Oc Ns Va MAN +.Va MLINKS 。 +.It +.In bsd.prog.mk +を使い、 +.Va PROG +と同じ名前の単一のソースファイルである場合は、 +.Va SRCS +を省略します。 +.It +.In bsd.prog.mk +を使い、 +.Va PROG +と同じ名前で、セクション 1 のマニュアルページである時は、 +.Va MAN +を省略します。 +.It +変数への代入はすべて +.Dq Va VAR Ns Ic = +のように綴ります。 +つまり、変数名と +.Ic = +の間には空白を置きません。 +可能ならば、値はアルファベット順にソートするようにします。 +.It +変数を一回だけ設定する +(もしくは変数を最初に設定する) +場合に、 +.Ic += +を使うのはやめてください。 +.It +簡単な makefile で、空行を使うのはやめてください。 +しかしより複雑で長いものに対しては、部分的に関連する項目を +まとめるために使います。 +.It +基本的に +.Va WARNS +は +.Va CFLAGS +の修飾子ですが、 +.Va CFLAGS +の前に置きます。 +.Va WARNS +は重要なものであり、大量の +.Va CFLAGS +の記述の中で見失わないように、 +.Va CFLAGS +の後ろではなくて、 +.Va CFLAGS +の前に置きます。 +コマンドラインや +.Pa /etc/make.conf +で上書きできるように、 +.Va WARNS +は +.Dq Li "WARNS?= " +のように綴ります。 +.It +.Dq Li "NO_WERROR= yes" +は使うべきでありません。これは +.Va WARNS +の目的を無効にしてしまいます。 +これはコマンドラインで、かつ特殊な状況でのみ使用されるべきです。 +.It +.Va CFLAGS +は +.Dq Li "CFLAGS+= " +のように綴ります。 +.It +.Va CFLAGS +において、 +.Fl I +の前に +.Fl D +のリストを置くのは、アルファベット順という点からも、また +.Fl D +を見やすくする点からも好ましいことです。 +.Fl D +はしばしば条件つきのコンパイルに影響し、また +.Fl I +は意外に長くなりがちです。 +長い +.Va CFLAGS +の設定では +.Fl D +と +.Fl I +の間で分割します。 +.It +.Va CFLAGS +において、 GCC 的なもの ( +.Fl g +や +.Fl Wall +といったもの) +を使うのはやめましょう。 +.It +一般的には +.Va VAR Ns Ic = +と値の間に、 +.Tn アスキー +タブをひとつ入れます。 +値が 9 桁目から始まるようにするためです。 +変数名が 9 桁を超える場合は、単一の +.Tn アスキー +スペースで良いです。 +また変数名がとても長い場合は、ホワイトスペース無しでも良いです。 +.It +.Ic .include In bsd.*.mk +は最後です。 +.It +.Va $< +や、 +.Va $@ +といった時代錯誤のものを使うのはやめましょう。 +代わりに +.Va ${.IMPSRC} +か +.Va ${.ALLSRC} +、それと +.Va ${.TARGET} +を使います。 +.El +.Pp +論理的なグループ分けを表現したいために、 +上記のいくつかに従わないこともしばしばあります。 +.Sh 使用例 +最もシンプルな、プログラムの +.Pa Makefile +です: +.Bd -literal -offset indent +# $FreeBSD\&$ + +PROG= foo + +\&.include <bsd.prog.mk> +.Ed +.Pp +最もシンプルな、ライブラリの +.Pa Makefile +です: +.Bd -literal -offset indent +# $FreeBSD\&$ + +LIB= foo +SHLIB_MAJOR= 1 +MAN= libfoo.3 +SRCS= foo.c + +\&.include <bsd.lib.mk> +.Ed +.Sh 関連項目 +.Xr make 1 , +.Xr style 9 +.Sh 歴史 +このマニュアルページは、 +.Fx +の +.Xr style 9 +マニュアルページと同じソースに影響されています。 +.Sh バグ +例外を許さないスタイル規則は、ほとんどありません。 +多くのスタイルは、 makefile 全体の内容、あるいはその前後の行に +強く依存しています。 diff --git a/documentation/manual-pages/ja/man5/sysctl.conf.5 b/documentation/manual-pages/ja/man5/sysctl.conf.5 new file mode 100644 index 0000000000..8a4163066b --- /dev/null +++ b/documentation/manual-pages/ja/man5/sysctl.conf.5 @@ -0,0 +1,85 @@ +.\" Copyright (c) 1999 Chris Costello <chris@FreeBSD.org> +.\" All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" %FreeBSD: src/share/man/man5/sysctl.conf.5,v 1.16 2004/07/03 18:29:23 ru Exp % +.\" +.\" $FreeBSD$ +.Dd December 30, 1999 +.Dt SYSCTL.CONF 5 +.Os +.Sh 名称 +.Nm sysctl.conf +.Nd カーネルの状態のデフォルト +.Sh 解説 +.Pa /etc/sysctl.conf +ファイルは、カーネルのデフォルト設定のために、 +システムがマルチユーザモードになるときに読み込まれます。 +.Pa /etc/sysctl.conf +は +.Xr sysctl 8 +コマンドの書式であり、すなわち次のようなものです。 +.Bd -literal -offset indent +sysctl_mib=value +.Ed +.Pp +コメントは、行頭に +.Dq # +を付けることで記述します。 +コメントは行末にも付けられます。 +後述の +.Sx 使用例 +を見てください。 +.Sh 関連ファイル +.Bl -tag -width /etc/sysctl.conf -compact +.It Pa /etc/sysctl.conf +.Xr sysctl 8 +の初期設定。 +.El +.Sh 使用例 +致命的なシグナルにより終了したプログラムのロギングを無効にするには、 +次のような設定を使用します: +.Bd -literal -offset indent +# Configure logging. +kern.logsigexit=0 # Do not log fatal signal exits (e.g. sig 11) +.Ed +.Sh 関連項目 +.Xr rc.conf 5 , +.Xr rc 8 , +.Xr sysctl 8 +.Sh 歴史 +.Nm +ファイルは +.Fx 4.0 +から登場しました。 +.Sh バグ +追加のカーネル機能の導入にロード可能カーネルモジュールを使用し、 +sysctl がこの機能を管理する場合、 +ブート処理で sysctl を設定するための +.Nm +の処理が早過ぎる場合があります。 +例えば、Linux エミュレータがカーネル組み込みではなく +モジュールとしてロードされる場合、 +Linux エミュレータを操作する sysctl は +.Nm +に設定できません。 diff --git a/documentation/manual-pages/ja/man5/syslog.conf.5 b/documentation/manual-pages/ja/man5/syslog.conf.5 new file mode 100644 index 0000000000..d4e6922725 --- /dev/null +++ b/documentation/manual-pages/ja/man5/syslog.conf.5 @@ -0,0 +1,491 @@ +.\" Copyright (c) 1990, 1991, 1993 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 4. Neither the name of the University nor the names of its contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" @(#)syslog.conf.5 8.1 (Berkeley) 6/9/93 +.\" %FreeBSD: src/usr.sbin/syslogd/syslog.conf.5,v 1.36.6.1 2005/04/12 12:46:08 dwmalone Exp % +.\" +.\" $FreeBSD$ +.\" +.Dd June 9, 1993 +.Dt SYSLOG.CONF 5 +.Os +.Sh 名称 +.Nm syslog.conf +.Nd +.Xr syslogd 8 +設定ファイル +.Sh 解説 +.Nm +ファイルは +.Xr syslogd 8 +プログラムの設定ファイルです。 +このファイルは +.Em program +と +.Em hostname +の指定によって分けられた行ブロックから構成されています +(分離は、その行の後の方で生じます)。 +それぞれの行は 2つのフィールドを含みます。 +その行が適用されるメッセージのタイプと優先度を指定する +.Em selector +フィールドと、 +.Xr syslogd 8 +が選んだ基準とマッチしたメッセージを受けとった場合の動作を指定する +.Em action +フィールドです。 +.Em selector +フィールドと +.Em action +フィールドは 1 つ以上のタブ文字または空白で区切られています。 +.Pp +区切りに空白を使用すると、 +.Nm +は他の Unix や Unix 的システムと互換性が無くなってしまうことに +注意してください。 +この機能は、設定を容易にし +(例えば +.Nm +にカットアンドペーストできるようにし)、 +その際発生し得るミスを避けるため追加されました。 +しかしながらこの変更は、古いスタイルの +.Nm +(すなわちタブ文字のみ) へのバックワードコンパチビリティを保っています。 +.Pp +.Em selector +は、 +.Em facility +とピリオド +.Pq Dq \&. +とオプションの比較フラグ +.Pq Oo \&! Oc Op <=> +そして +.Em level +で符号化され、間に空白は含みません。 +.Em facility +と +.Em level +の双方とも、大文字小文字の区別はありません。 +.Pp +.Em facility +はメッセージを生成したのがシステムのどの部分なのかを表します。 +これは、次にあげるキーワード群の +1 つで表されます : auth, authpriv, console, cron, daemon, ftp, kern, +lpr, mail, mark, news, ntp, security, syslog, user, uucp +と local0 から local7。 +これらのキーワード (mark を除く) は +.Xr openlog 3 +と +.Xr syslog 3 +ライブラリルーチンで指定される +.Dq Dv LOG_ +で始まる値と一致します。 +.Pp +.Em 比較フラグ +を使用して、何を記録するのかを正確に指定できます。 +デフォルトの比較は +.Dq => +(またはあなたが好むのなら +.Dq >= ) +であり、 +指定した +.Em facility +リストからの +.Em level +以上のレベルのメッセージを記録することを意味します。 +.Dq Li \&! +で開始する比較フラグは、その論理的意味を反転させます。 +.Dq !=info +は、info 以外の全レベルを意味し、 +.Dq !notice +は +.Dq <notice +と同じ意味です。 +.Pp +.Em level +はメッセージの重要度を表し、以下のキーワードの順に高から低になります: +emerg, alert, crit, err, warning, notice, info, debug。 +これらのキーワードは +.Xr syslog 3 +ライブラリルーチンで指定される +.Dq Dv LOG_ +で始まる値と一致します。 +.Pp +それぞれの行ブロックは +.Em program +か +.Em hostname +の指定によって前のブロックと区別されます。 +ブロックは、最新の +.Em program +指定および +.Em hostname +指定に対応するメッセージのみをログします。 +よって、 +.Ql ppp +を +.Em program +として選択するブロックに、 +.Em hostname +.Ql dialhost +からのメッセージを選択するブロックが直後に続くと、 +第 2 のブロックは、dialhost 上の +.Xr ppp 8 +プログラムからのメッセージのみをログします。 +.Pp +.Em program +指定は、行の先頭が +.Ql #!prog +または +.Ql !prog +(前者は以前の syslogd との互換性のためのものです。 +例えば +.Nm +ファイルを共有したい時などに便利です) +で始まり、引き続くブロックは +.Xr syslog 3 +を呼び出す特定のプログラムと +関連付けられています。 +.Em program +指定 +.Ql foo +は、 +.Ql "foo: " +というプレフィックスを持つカーネルログメッセージにもマッチします。 +.Ql #!+prog +または +.Ql !+prog +の指定は、前述のものと正に同じ動作をします。 +.Ql #!-prog +または +.Ql !-prog +の指定は、指定したプログラム以外からのメッセージにマッチします。 +複数のプログラムをコンマで区切って列挙可能です。 +.Ql !prog1,prog2 +はどちらのプログラムからのメッセージにもマッチし、 +.Ql !-prog1,prog2 +は +.Ql prog1 +と +.Ql prog2 +以外からのすべてのメッセージにマッチします。 +.Pp +.Em hostname +指定で +.Ql #+hostname +または +.Ql +hostname +という書式のものは、これに引き続くブロックを、 +指定したホスト名からのメッセージに適用させます。 +また、 +.Em hostname +指定で +.Ql #-hostname +または +.Ql -hostname +という指定のものは、これに引き続くブロックを、 +指定したホスト名以外からのメッセージに適用させます。 +ホスト名が +.Ql @ +として与えられると、ローカルホスト名が使用されます。 +プログラムの指定と同様、 +コンマで区切った複数の値をホスト名の指定として使用可能です。 +.Pp +.Em program +指定または +.Em hostname +指定は、プログラム名またはホスト名に +.Ql * +を指定することによりリセット可能です。 +.Pp +.Em facility +と +.Em level +の両方のキーワードとその意味のより詳細な説明を知りたい場合は +.Xr syslog 3 +を参照してください。 +選択は +.Em facility +で行なう方が +.Em program +で行なうよりも好まれています。 +なぜなら、後者はネットワーク環境の中では +簡単に変化してしまう場合があるからです。 +しかし、適切な +.Em facility +が本当に存在しない場合もあります。 +.Pp +もし +.Em facility +指定に一致したメッセージを受けとり、なおかつそれが +指定した +.Em level +.Em (もしくはそれ以上の level) +だった場合、またはメッセージ中の日付の後ろの最初の単語が +.Em program +と一致した場合、 +.Em action +フィールドで指定された動作が選択されます。 +.Pp +複数の +.Em selector +を、セミコロン +.Pq Dq \&; +によって区切ることにより、1 つの +.Em action +に対して指定することができます。 +しかしそれぞれの +.Em selector +はその前にある指定を上書き修正できてしまいますので注意してください。 +.Pp +複数の +.Em facility +は、コンマ +.Pq Dq \&, +によって区切ることにより 1 つの +.Em level +を指定することができます。 +.Pp +アスタリスク +.Pq Dq * +は、全ての +.Em facility +、全ての +.Em levels +、または全ての +.Em programs +を指定するのに使用できます。 +.Pp +特別な +.Em facility +である +.Dq mark +は、20分毎に +.Dq info +の優先度を持つメッセージを受け取ります +.Pf ( Xr syslogd 8 +を参照)。 +これはアスタリスクを含む +.Em facility +フィールドには適用されません。 +.Pp +特別な +.Em level +である +.Dq none +は、特定の +.Em facility +を無効にします。 +.Pp +それぞれの行の +.Em action +フィールドは、 +.Em selector +フィールドに指定されたメッセージを受け取った際の動作を指定します。 +動作指定には次の 5つの形式があります: +.Bl -bullet +.It +パス名 (先頭がスラッシュで始まります)。 +該当するメッセージは、そのファイルに追加されます。 +.Pp +カーネルメッセージが適切に書き込まれることを保証するために、 +カーネルからメッセージを書き込んだ後に +.Nm +は +.Xr fsync 2 +を呼び出します。 +他のメッセージは明示的に同期書き込みすることはありません。 +パス名の前にマイナス符号 +.Dq - +を付けることで、指定したファイルに対する +カーネルメッセージ 1 つごとの同期取りをしなくなります。 +但し、書き込みの直後にシステムがクラッシュした場合、 +情報が失われるかもしれないことは留意して下さい。 +それでも、 +.Dq - +オプションの使用はパフォーマンスを改善します。 +カーネルが大量のメッセージをログする場合はとくにそうです。 +.It +ホスト名 +.Pf ( Pq Dq @ +文字から始まる必要があります)。 +該当するメッセージは、指定されたホストの +.Xr syslogd 8 +プログラムに転送されます。 +.It +コンマで区切られたユーザのリスト。 +該当するメッセージは、指定されたユーザがログインしていれば、 +そのユーザの画面に出力されます。 +.It +1 つのアスタリスク。 +該当するメッセージは、ログイン中の全てのユーザの画面に出力されます。 +.It +垂直バー +.Pq Dq \&| +とそれに続くコマンド。 +該当したメッセージをパイプを使ってコマンドに渡すことができます。 +このコマンドは、 +.Xr sh 1 +によって評価されるので、通常のシェルメタキャラクタや入力/出力 +リダイレクトを利用できます。 +(しかし実行されたコマンドからの +.Xr stdio 3 +バッファされた出力のリダイレクトは余計な遅延を引き起こしたり、 +あるいはシグナルによってロギング中のサブプロセスが終了した場合など +出力データを失うことがあるかもしれないことに注意してください) +コマンドそれ自身は +.Em stdout +と +.Em stderr +を +.Pa /dev/null +にリダイレクトして動作します。 +.Dv SIGHUP +を受け取ると、 +.Xr syslogd 8 +はそのプロセスとのパイプを閉じます。 +もしそのプロセスが自発的に終了しない場合は、60 秒の猶予期間の後 +.Dv SIGTERM +を送ります。 +.Pp +コマンドはパイプ経由で送るべきデータが到着した際に 1 度だけ起動されます。 +その後、コマンドが終了した場合には必要に応じて再起動されます。 +そのため、1 行の入力だけをサブプロセスに引き渡すことが望ましいのならば、 +(もし多くのメッセージが速く流れる場合には、 +資源を大量に消費する可能性がありますが) +1 行の入力があった後に終了する事によって達成する事ができます。 +必要ならば、この効果を得るためにラッパスクリプトを書くこともできます。 +.Pp +そのコマンドが完全なパイプラインでない場合、コマンドを +.Em exec +で起動すると、起動したシェルプロセスがコマンドの完了を待たなくなるので +便利かもしれません。 +警告: このプロセスは +.Xr syslogd 8 +の UID のもとで動きます。 +通常はスーパユーザです。 +.El +.Pp +空行、および、最初の空白でない文字がハッシュ +.Pq Dq # +文字である行は無視されます。 +.Sh 実装に関する注 +.Dq kern +ファシリティは、 +通常、ローカルのカーネルから生成されるメッセージ用に予約されています。 +ファシリティ +.Dq kern +でログされた他のメッセージは、通常、ファシリティ +.Dq user +に変換されます。 +この変換は無効化可能です。 +詳細は +.Xr syslogd 8 +を参照してください。 +.Sh 関連ファイル +.Bl -tag -width /etc/syslog.conf -compact +.It Pa /etc/syslog.conf +.Xr syslogd 8 +設定ファイル +.El +.Sh 使用例 +設定ファイルは次のようになります: +.Bd -literal +# err レベル以上の全てのメッセージ、全てのレベルの kernel メッセージ、 +# notice レベルの auth メッセージをコンソールに出力します。 +# プライベートな認証メッセージは記録をとりません! +*.err;kern.*;auth.notice;authpriv.none /dev/console + +# info 以上のレベルを持つ (mail を除く) 全てのメッセージを記録します。 +# プライベートな認証メッセージは記録をとりません! +*.info;mail.none;authpriv.none /var/log/messages + +# debug レベルのみの daemon メッセージを記録します +daemon.=debug /var/log/daemon.debug + +# authpriv ファイルはアクセス制限を持ちます。 +.\" /var/log/secure の read permission を限定するということ? +.\" 2.2.6-RELEASE 対象 +.\" By yohta@bres.tsukuba.ac.jp (July 8 1998) +authpriv.* /var/log/secure + +# 全てのレベルの mail メッセージを一箇所にまとめて記録します。 +mail.* /var/log/maillog + +# emerg (非常事態) レベルの全てのメッセージは全員が受け取ります。 +*.emerg * +*.emerg @arpa.berkeley.edu + +# alert レベル以上のメッセージを root と eric の画面に表示されます。 +.\" 原文は Root and Eric get alert and higher messages を意訳 +.\" 2.2.6-RELEASE 対象 +.\" By yohta@bres.tsukuba.ac.jp (July 10 1998) +*.alert root,eric + +# err レベル以上の mail と news の エラーを特別なファイルに保存します。 +uucp,news.crit /var/log/spoolerr + +# 全てのレベルの認証メッセージをフィルタにパイプします。 +auth.* |exec /usr/local/sbin/authfilter + +# ftpd のトランザクションを mail と news にあわせて保存します。 +!ftpd +*.* /var/log/spoolerr + +# セキュリティメッセージを別のファイルに保存します。 +security.* /var/log/security + +# /dev/console への書き込みを別のファイルに保存します。 +console.* /var/log/console.log + +# ipfw メッセージをすべてのメッセージの後で同期書き込みなしで保存します。 +!ipfw +*.* -/var/log/ipfw +.Ed +.Sh 関連項目 +.Xr syslog 3 , +.Xr syslogd 8 +.Sh バグ +複数の +.Em selector +指定は、時々思ったように効果を発揮しない事があります。 +例えば、 +.Dq mail.crit,*.err +と設定すると、 +.Dq mail +ファシリティのメッセージのレベルは +.Dq err +かそれ以上となり、 +.Dq crit +かそれ以上のレベルにはなりません。 +.Pp +ネットワーク環境においては、全てのオペレーティングシステムが +同じ facility 名のセットを実装しているわけではない点に注意してください。 +authpriv, cron, ftp, ntp といったこの実装において知られた facility が、 +目的のシステムには存在しないかもしれません。 +更に悪い事に、 +DEC UNIX は AdvFS ファイルシステムのログイベントに facility 番号 10 +(この実装では authpriv に該当します) を使っています。 diff --git a/documentation/manual-pages/ja/man5/tacplus.conf.5 b/documentation/manual-pages/ja/man5/tacplus.conf.5 new file mode 100644 index 0000000000..f87977b7f4 --- /dev/null +++ b/documentation/manual-pages/ja/man5/tacplus.conf.5 @@ -0,0 +1,129 @@ +.\" Copyright 1998 Juniper Networks, Inc. +.\" All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" %FreeBSD: src/lib/libtacplus/tacplus.conf.5,v 1.7 2004/07/02 23:52:19 ru Exp % +.\" +.\" $FreeBSD$ +.\" WORD: sensitive (情報を)極めて慎重に扱うべき[radius.5 tacplus.conf.5] +.Dd July 29, 1998 +.Dt TACPLUS.CONF 5 +.Os +.Sh 名称 +.Nm tacplus.conf +.Nd TACACS+ クライアントの設定ファイル +.Sh 書式 +.Pa /etc/tacplus.conf +.Sh 解説 +.Nm +は、TACACS+ クライアントライブラリの設定に必要な情報を含みます。 +本ファイルは +.Fn tac_config +が解釈します ( +.Xr libtacplus 3 +参照)。 +本ファイルは 1 行以上のテキスト行を含み、 +各行は、ライブラリが使用する単一の TACACS+ サーバについて記述します。 +行先頭の空白は、空行および、コメントのみの行と同様、無視されます。 +.Pp +1 つの TACACS+ サーバは、2 から 4 フィールドからなる 1 行により表現されます。 +フィールドは空白によって区切られます。 +フィールドの先頭にある +.Ql # +文字はコメントを開始し、行末まで続きます。 +フィールドはダブルクォートで括ることができ、 +この場合空白を含んだり、 +.Ql # +文字で開始することができます。 +クォートされた文字列中では、ダブルクォート文字は +.Ql \e\&" +で表現可能であり、バックスラッシュは +.Ql \e\e +で表現可能です。 +他のエスケープシーケンスはサポートされません。 +.Pp +最初のフィールドはサーバホストを指定します。 +完全な形でのドメイン名でもかまいませんし、 +ドット付き 4 つ組の IP アドレスでもかまいません。 +ホストの後には +.Ql \&: +と数値によるポート番号を続けることができます。間に空白を狭んではなりません。 +ポートを指定しない場合、 +標準の TACACS+ ポート 49 になります。 +.Pp +第 2 フィールドには共有鍵が置かれます。 +これは、クライアントとサーバホスト以外には知られてはなりません。 +共有鍵は任意の文字列ですが、 +空白を含む場合や空の場合はダブルクォートで括る必要があります。 +共有鍵を空にすると、通常の暗号化機構が無効化され、 +ネットワークを行き来する全データはクリアテキストになります。 +.Pp +第 3 フィールドは、 +サーバとの通信時のタイムアウト秒数であり、 +10 進数で指定します。 +タイムアウトは、接続・書き込み・読み込みの各操作に別々に適用されます。 +このフィールドを省略すると、デフォルトの 3 秒になります。 +.Pp +省略可能な第 4 フィールドは、文字列 +.Ql single-connection +を含んでかまいません。 +これを指定されると、ライブラリはサーバと交渉して、 +複数のセッション用に TCP 接続をオープンしたままにしようとします。 +古い TACACS+ サーバには、本オプションを指定すると混乱するものがあります。 +.Pp +10 個の TACACS+ サーバまで指定可能です。 +サーバは指定した順序で試され、有効な返答が返されるか、 +リストが終わるまで続けられます。 +.Pp +このファイルの標準的な置き場所は +.Pa /etc/tacplus.conf +です。しかし、 +.Fn tac_config +( +.Xr libtacplus 3 +参照) +を呼び出すときに別のパス名を指定できます。 +共有鍵という形で極めて慎重に扱うべき情報を格納するファイルですから、 +root 以外には読めないようにすべきです。 +.Sh 関連ファイル +.Pa /etc/tacplus.conf +.Sh 使用例 +.Bd -literal +# 全部デフォルトである単純なエントリ: +tacserver.domain.com OurLittleSecret + +# サーバは標準ではないポートを使用しており、 +# タイムアウトを増加し、"single-connection" オプションを指定しています。 +auth.domain.com:4333 "Don't tell!!" 15 single-connection + +# サーバを IP アドレスで指定: +192.168.27.81 $X*#..38947ax-+= +.Ed +.Sh 関連項目 +.Xr libtacplus 3 +.Sh 作者 +この文書を +.An John Polstra +が書き、Juniper Networks, Inc. が +.Fx +プロジェクトに寄贈しました。 diff --git a/documentation/manual-pages/ja/man5/term.5 b/documentation/manual-pages/ja/man5/term.5 new file mode 100644 index 0000000000..b50c0335fa --- /dev/null +++ b/documentation/manual-pages/ja/man5/term.5 @@ -0,0 +1,212 @@ +.\"*************************************************************************** +.\" Copyright (c) 1998,2002 Free Software Foundation, Inc. * +.\" * +.\" Permission is hereby granted, free of charge, to any person obtaining a * +.\" copy of this software and associated documentation files (the * +.\" "Software"), to deal in the Software without restriction, including * +.\" without limitation the rights to use, copy, modify, merge, publish, * +.\" distribute, distribute with modifications, sublicense, and/or sell * +.\" copies of the Software, and to permit persons to whom the Software is * +.\" furnished to do so, subject to the following conditions: * +.\" * +.\" The above copyright notice and this permission notice shall be included * +.\" in all copies or substantial portions of the Software. * +.\" * +.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * +.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * +.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * +.\" IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * +.\" DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * +.\" OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * +.\" THE USE OR OTHER DEALINGS IN THE SOFTWARE. * +.\" * +.\" Except as contained in this notice, the name(s) of the above copyright * +.\" holders shall not be used in advertising or otherwise to promote the * +.\" sale, use or other dealings in this Software without prior written * +.\" authorization. * +.\"*************************************************************************** +.\" +.\" $Id: term.5,v 1.10 2002-12-16 00:33:20 horikawa Exp $ +.\" $FreeBSD$ +.TH TERM 5 +.\" WORD: compiled コンパイル済みの +.\" WORD: linear search 線形探索(パス名から inodeを) +.\" WORD: boolean value ブール値 +.\" WORD: terminate 終端する +.ds n 5 +.ds d /usr/share/misc/terminfo +.SH 名称 +term \- コンパイル済みの term ファイルの形式 +.SH 書式 +.B term +.SH 解説 +.PP +コンパイル済みの terminfo 属性記述はディレクトリ \fB\*d\fP の下にあります。 +\s-1UNIX\s+1 システムの巨大なディレクトリを線形探索するのを避けるため、 +\fB\*b/c/name\fP という形の 2 階層の命名規則が用いられます。 +(ここで、 +.I name +は端末の名前で、 +.I c +は +.I name +の最初の文字です。) +ですから、 +.I act4 +は、 \fB\*d/a/act4\fP というファイル名で見つけることができます。 +同じ端末を示す同義な名前は、同じコンパイル済みファイルへの複数の +リンクとして実装されています。 +.PP +この形式は、全てのハードウェアで同じになるように選ばれています。 +1 バイトが 8 ビット以上であることは仮定していますが、バイトオーダや +符号拡張の方式については仮定していません。 +.PP +コンパイル済みのファイルは +.I tic +プログラムにより生成され、 +.I setupterm +ルーチンにより読み取られます。 +このファイルは 6 つの部分に分割されます。すなわち、 +ヘッダ、 +端末の名称、 +ブール値のフラグ、 +数値、 +文字列、および +文字列テーブルです。 +.PP +ヘッダセクションはファイルの冒頭にあります。 +このセクションは、以下に示す形式の short 型の整数 6 個からなります。 +これらの整数は +(1) マジックナンバ (8 進で 0432)、 +(2) 名称セクションのバイト単位での大きさ、 +(3) ブール値のセクションに含まれるバイトの個数、 +(4) 数値セクションに含まれる short 型整数の個数、 +(5) 文字列セクションに含まれるオフセットの個数 (short 型整数)、 +(6) 文字列テーブルのバイト単位での大きさ +です。 +.PP +short 型の整数は 2 個の 8 ビットバイトに格納されています。 +最初のバイトは値の最下位 8 ビットを、2 番目のバイトは最上位 8 ビットを +含みます。(すなわち、値は 256*second+first と表現されます。) +値 \-1 は 2 バイト 0377, 0377 で表現されますが、その他の負の値は構文違反です。 +一般に、この値は、あるケーパビリティがその端末に備わっていないことを +示します。 +この形式は \s-1VAX\s+1 と \s-1PDP\s+1-11 のハードウェアに +一致するものであることにご注意下さい +(これらはリトルエンディアンマシンです)。これに一致しないハードウェアの +マシンでは、整数を 2 個のバイトとして読み込み、 +リトルエンディアン値を算出する必要があります。 +.PP +次に現れるのは端末名セクションです。 +これは、端末のさまざまな名前を `|' 文字で区切って列挙した、 +terminfo 記述の最初の行を含みます。 +このセクションは 1 個の \s-1ASCII NUL\s+1 文字で終端されます。 +.PP +ブール型のフラグは、フラグ 1 個につき 1 バイトを占めます。 +このバイトは、フラグが存在するかしないかに従って、0 か 1 となる必要があります。 +ケーパビリティはファイル <term.h> に含まれるのと同じ順番に並びます。 +.PP +数値セクションが偶数バイト目から開始されるように、 +ブール値のセクションと数値セクションの間には、 +必要なら 1 個のナルバイトを挿入します +(これは PDP-11 のワードアドレスアーキテクチャの名残であり、 +元々は奇数バイト境界上のワードをアドレスすることで発生する IOT トラップを +避けるためにデザインされました)。 +すべての short 型整数は short 型のワード境界に揃えて配置されます。 +.PP +数値セクションはフラグセクションと同様です。 +各ケーパビリティは 2 バイトを占め、リトルエンディアンの +short 型整数として格納されます。 +もし表現された値が \-1 なら、そのケーパビリティは存在しないものと +解釈されます。 +.PP +文字列セクションもまた同様です。 +各ケーパビリティは上記の形式に従い、2 バイトの short 型整数として +格納されます。 +値 \-1 は、ケーパビリティが存在しないことを意味します。 +それ以外の場合、値は、文字列テーブルの先頭からのオフセットとして +解釈されます。 +^X や \ec といった記法で示された特殊文字は、その記法を解釈した結果の形で +格納され、印刷可能表現では格納されません。 +パッド情報 $<nn> とパラメータ情報 %x は解釈を行なわずそのままの形で +格納されます。 +.PP +最後のセクションは文字列テーブルです。これは文字列セクションで参照されている +すべての文字列ケーパビリティの値を含みます。 +各文字列はナルで終端されています。 +.PP +.I setupterm +ルーチンでは、ファイルに実際に存在するケーパビリティ +とは異なるものが予想され得ることにご注意下さい。 +.I setupterm +が再コンパイルされた後にデータベースが更新される +(ファイルにいくつかの未知のエントリが含まれる結果になります)か、 +データベースが最後にコンパイルされた後にプログラムが再コンパイルされる +(存在しないエントリを生む結果になります)両方の可能性があります。 +ルーチン +.I setupterm +は両方の可能性に備える必要があります \- +これが、データ内に個数と大きさが含まれている理由です。 +また、新しいケーパビリティは常に、ブール値、数値、文字列の +ケーパビリティリストのそれぞれの最後に追加しなければなりません。 +.PP +数値にリトルエンディアンを使用して他には自ら記述した書式を使用しても、 +商用 UNIX バージョンとのバイナリ terminfo エントリの互換性を +信用することは賢くはありません。 +問題は、少なくとも 3 種の terminfo (HP-UX AIX, OSF/1) が +SVr1 後に System V がら分岐し、 +System V と XSI の Curses 拡張と (バイナリ書式において) 衝突する +拡張ケーパビリティを文字列テーブルに追加したことです。 +terminfo ソースの互換性に関する詳細な議論は、 +\fBterminfo\fR(\*n) を参照してください。 +.PP +例として、Lear-Siegler ADM-3 の記述の 16 進数ダンプを示します。 +これは、ポピュラーですが、馬鹿な初期の端末です: +.nf +.sp +adm3a|lsi adm3a, + am, + cols#80, lines#24, + bel=^G, clear=\032$<1>, cr=^M, cub1=^H, cud1=^J, + cuf1=^L, cup=\\E=%p1%{32}%+%c%p2%{32}%+%c, cuu1=^K, + home=^^, ind=^J, +.sp +.ft CW +\s-20000 1a 01 10 00 02 00 03 00 82 00 31 00 61 64 6d 33 ........ ..1.adm3 +0010 61 7c 6c 73 69 20 61 64 6d 33 61 00 00 01 50 00 a|lsi ad m3a...P. +0020 ff ff 18 00 ff ff 00 00 02 00 ff ff ff ff 04 00 ........ ........ +0030 ff ff ff ff ff ff ff ff 0a 00 25 00 27 00 ff ff ........ ..%.'... +0040 29 00 ff ff ff ff 2b 00 ff ff 2d 00 ff ff ff ff ).....+. ..-..... +0050 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ........ ........ +0060 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ........ ........ +0070 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ........ ........ +0080 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ........ ........ +0090 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ........ ........ +00a0 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ........ ........ +00b0 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ........ ........ +00c0 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ........ ........ +00d0 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ........ ........ +00e0 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ........ ........ +00f0 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ........ ........ +0100 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ........ ........ +0110 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ........ ........ +0120 ff ff ff ff ff ff 2f 00 07 00 0d 00 1a 24 3c 31 ....../. .....$<1 +0130 3e 00 1b 3d 25 70 31 25 7b 33 32 7d 25 2b 25 63 >..=%p1% {32}%+%c +0140 25 70 32 25 7b 33 32 7d 25 2b 25 63 00 0a 00 1e %p2%{32} %+%c.... +0150 00 08 00 0c 00 0b 00 0a 00 ........ .\s+2 +.ft R +.fi +.sp +.PP +いくつかの制限: コンパイル済みのエントリは 4096 バイトを超えることが +できません。名前フィールドは 128 バイトを超えることができません。 +.SH 関連ファイル +\*d/*/* コンパイル済みの端末ケーパビリティデータベース +.SH 関連項目 +\fBcurses\fR(3X), \fBterminfo\fR(\*n). +.\"# +.\"# The following sets edit modes for GNU EMACS +.\"# Local Variables: +.\"# mode:nroff +.\"# fill-column:79 +.\"# End: diff --git a/documentation/manual-pages/ja/man5/termcap.5 b/documentation/manual-pages/ja/man5/termcap.5 new file mode 100644 index 0000000000..3ecb20a0f4 --- /dev/null +++ b/documentation/manual-pages/ja/man5/termcap.5 @@ -0,0 +1,2084 @@ +.\" Copyright (c) 1985, 1991, 1993, 1994 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. All advertising materials mentioning features or use of this software +.\" must display the following acknowledgement: +.\" This product includes software developed by the University of +.\" California, Berkeley and its contributors. +.\" 4. Neither the name of the University nor the names of its contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" @(#)termcap.5 8.3 (Berkeley) 4/16/94 +.\" +.\" /*************************************************************************** +.\" * COPYRIGHT NOTICE * +.\" **************************************************************************** +.\" * ncurses is copyright (C) 1992-1995 * +.\" * Zeyd M. Ben-Halim * +.\" * zmbenhal@netcom.com * +.\" * Eric S. Raymond * +.\" * esr@snark.thyrsus.com * +.\" * * +.\" * Permission is hereby granted to reproduce and distribute ncurses * +.\" * by any means and for any fee, whether alone or as part of a * +.\" * larger distribution, in source or in binary form, PROVIDED * +.\" * this notice is included with any such distribution, and is not * +.\" * removed from any of its header files. Mention of ncurses in any * +.\" * applications linked with it is highly appreciated. * +.\" * * +.\" * ncurses comes AS IS with no warranty, implied or expressed. * +.\" * * +.\" ***************************************************************************/ +.\" +.\" %FreeBSD: src/share/termcap/termcap.5,v 1.24 2004/07/03 18:29:24 ru Exp % +.\" +.\" $FreeBSD$ +.\" FreeBSD jpman project 訳語表 +.\" WORD: terminal 端末 +.\" WORD: text テキスト +.\" WORD: convention 約束 +.\" WORD: virtual terminal 仮想端末 +.\" WORD: print 印字 +.\" WORD: display 描画 +.\" WORD: screen 画面 +.\" WORD: CRT CRT +.\" WORD: attribute 属性 +.\" WORD: underline 下線 +.\" WORD: standout 強調表示 +.\" WORD: column 桁 +.\" WORD: row 行 +.\" WORD: carriage return キャリッジリターン +.\" WORD: home など ホーム(ホームポジション)、home(home キー) +.\" など、キーそのものについては英語のままとした +.\" WORD: foreground color 前景色 +.\" WORD: background color 背景色 +.\" WORD: bottom margin 下マージン +.\" WORD: top margin 上マージン +.\" WORD: bold mode ボールドモード +.\" WORD: scroll forward 前進スクロール +.\" WORD: scroll backward 後退スクロール +.\" WORD: glitch グリッチ (他の端末と不整合な機能) +.\" その他 Beehive はメーカ名です(.Ss Glitches and Braindamages 参照)。 +.Dd April 16, 1994 +.Dt TERMCAP 5 +.Os +.Sh 名称 +.Nm termcap +.Nd 端末ケーパビリティのデータベース +.Sh 書式 +.Nm +.Sh 解説 +.Nm +ファイルは端末に関するデータベースであり、例えば +.Xr \&vi 1 +や +.Xr ncurses 3 +が使用します。 +.Nm +には、端末が持つケーパビリティと、 +操作がどのように行われるのかが記述されています。 +パディングの必要性および初期化シーケンスも +.Nm +に記述されています。 +.Pp +.Nm +のエントリは `:' で区切られた複数個のフィールドからなります。 +各端末の最初のエントリは、`|' 文字で区切った端末名です。 +最初の名前は、その端末の最も一般的な省略形です。 +最後の名前は端末を完全に識別するための長い名前であり、 +その他は端末名の類義語です。 +最後以外の名前は小文字を使い、空白を含まないようにしてください; +最後の名前は、可読性のために大文字や空白を含んでかまいません。 +.Pp +端末名 (最後の冗長なエントリを除く) は次の約束に従い選んでください。 +端末を構成するハードウェアの特定の一部を、 +.Dq hp2621 +のように根幹の名前として選びます。 +この名前はハイフンを含んではなりません。 +ハードウェアのモードやユーザのプリファレンスは、 +ハイフンとモード指示子を追加して示します。 +ですから、132 桁モードの +.Dq vt100 +は +.Dq vt100-w +になります。可能ならば、以下の接尾辞を使用してください: +.Pp +.Bl -column indent "With automatic margins (usually default)xx" -offset indent +.Sy "接尾辞 意味 例" +-w 広いモード (80 桁超) vt100-w +-am 自動マージン付 (通常はデフォルト) vt100-am +-nam 自動マージン無し vt100-nam +.Pf \- Ar n Ta No "画面上の行数 aaa-60" +-na 矢印キー無し (ローカルのままにする) concept100-na +.Pf \- Ar \&np Ta No "メモリページ数 concept100-4p" +-rv 反転表示 concept100-rv +.El +.Sh ケーパビリティ +記述フィールドに、ケーパビリティの意味を示そうとしています。 +記述フィールドには次のようなコードが書いてあることがあります: +.Pp +.Bl -tag -width #[1-9] +.It (P) +パディングが指定されるかもしれないことを表します。 +.It #[1-9] +記述フィールドでは、文字列が (#\fIi\fP) として与えられる引数として +.Xr tparm 3 +や +.Xr tgoto 3 +を介して渡されることを示します。 +.It (P*) +影響を受ける行数に従いパディングが変化することを示します。 +.It (#\d\fIi\fP\u) +\fIi\fP 番目のパラメータを表します。 +.El +.Pp +以下、ブール値のケーパビリティです: +.Bd -literal +\fBブール値 TCap 記述\fR +\fB変数 コード\fR +auto_left_margin bw cursor_left は桁 0 から最後の桁に回り込む +auto_right_margin am 端末は自動マージンを持つ +no_esc_ctlc xb beehive (f1=escape, f2=ctrl C) +ceol_standout_glitch xs 強調表示は上書きによって消去されない (hp) +eat_newline_glitch xn 80 桁より後の改行は無視される (concept) +erase_overstrike eo 空白を上打ちすることで消去可能 +generic_type gn 一般的な行タイプ +hard_copy hc ハードコピー端末 +has_meta_key km メタキーを持ち、最上位ビットをセットする +has_status_line hs 追加のステータス行を持つ +insert_null_glitch in 挿入モードはナルを区別する +memory_above da 画面より上の描画が保存される +memory_below db 画面より下の描画が保存される +move_insert_mode mi 挿入モードでの移動が安全 +move_standout_mode ms 強調表示モードでの移動が安全 +over_strike os 端末は上打ちが可能 +status_line_esc_ok es ステータス行でエスケープを使用可能 +dest_tabs_magic_smso xt 破壊的タブ、強調文字の奇妙な動作 (t1061) +tilde_glitch hz ~ を印字できない (hazeltine) +transparent_underline ul 下線文字の上打ち +xon_xoff xo 端末は xon/xoff のハンドシェークを使用 +needs_xon_xoff nx パディングは動作しないので xon/xoff が必要 +prtr_silent 5i プリンタ出力は画面にエコーしない +hard_cursor HC カーソルが見にくい +non_rev_rmcup NR enter_ca_mode は exit_ca_mode を反転しない +no_pad_char NP パディング文字が存在しない +non_dest_scroll_region ND スクロール領域が非破壊的 +can_change cc 端末は既存の色を再定義可能 +back_color_erase ut 画面は背景色で消される +hue_lightness_saturation hl 端末は HLS カラー表現のみ使用 + (tektronix) +col_addr_glitch YA 桁位置指定および micro_column_address + ケーパビリティは正方向の動きのみ +cr_cancels_micro_mode YB cr を使用するとマイクロモードがオフになる +has_print_wheel YC オペレータが文字セットを変更する必要がある + プリンタ +row_addr_glitch YD row_address および micro_row_address は + 正方向の動きのみ +semi_auto_right_margin YE 最終桁で印字すると cr となる +cpi_changes_res YF 文字ピッチを変えると解像度が変わる +lpi_changes_res YG 行ピッチを変えると解像度が変わる +.Ed +.Pp +以下、数値のケーパビリティです: +.Bd -literal +\fB数値 TCap 記述\fR +\fB変数 コード\fR +columns co 1 行の桁数 +init_tabs it タブの初期設定は # 個の空白ごと +lines li 画面もしくはページの行数 +lines_of_memory lm 行より大きい場合はメモリの行数、 + 0 の場合はさまざま +.\" => は大小関係を表すのではない See .Sh その他 +magic_cookie_glitch sg enter_standout_mode や exit_standout_mode + が残す空白文字数 +padding_baud_rate pb パディングが必要な最低ボーレート +virtual_terminal vt 仮想端末番号 (CB/unix) +width_status_line ws ステータス行の桁数 +num_labels Nl 画面上のラベル数 +label_height lh 各ラベルの行数 +label_width lw 各ラベルの桁数 +max_attributes ma 端末が扱える属性の最大の組み合わせ +maximum_windows MW 定義可能なウィンドウ数の最大 +magic_cookie_glitch_ul ug 下線により残される空白数 +# +# 以下は SVr4 のカラーサポートにより導入 +# +max_colors Co 画面上の最大色数 +max_pairs pa 画面上の色の組の最大数 +no_color_video NC 色付きでは使用できないビデオ属性 +# +# 以下の数値ケーパビリティは SVr4.0 の term 構造体に存在しますが、 +# マニュアルには記述されていません。 +# これらは SVr4 のプリンタサポートにより追加されました。 +# +buffer_capacity Ya 印字前にバッファされるバイト数 +dot_vert_spacing Yb 1 インチあたりのピン数で表した垂直ピン間隔 +dot_horz_spacing Yc 1 インチあたりのドット数で表した水平 + ドット間隔 +max_micro_address Yd micro_..._address での最大値 +max_micro_jump Ye parm_..._micro での最大値 +micro_char_size Yf マイクロモードでの文字サイズ +micro_line_size Yg マイクロモードでの行サイズ +number_of_pins Yh プリントヘッドのピン数 +output_res_char Yi 行あたりのユニット数による水平解像度 +output_res_line Yj 行あたりのユニット数による垂直解像度 +output_res_horz_inch Yk インチあたりのユニット数による水平解像度 +output_res_vert_inch Yl インチあたりのユニット数による垂直解像度 +print_rate Ym 1 秒あたりの文字数による印字レート +wide_char_size Yn 倍幅モードでの文字ステップサイズ +buttons BT マウスのボタン数 +bit_image_entwining Yo 各ビットイメージ行として渡される数 +bit_image_type Yp ビットイメージデバイスのタイプ +.Ed +.Pp +以下、文字列ケーパビリティです: +.Bd -literal +\fB文字列 TCap 記述\fR +\fB変数 コード\fR +back_tab bt 後退タブ (P) +bell bl 可聴シグナル (ベル) (P) +carriage_return cr キャリッジリターン (P*) +change_scroll_region cs 領域を行 #1 から行 #2 までに変更 (P) +clear_all_tabs ct 全タブストップをクリア (P) +clear_screen cl 画面を消去しカーソルをホームに移動 (P*) +clr_eol ce 行末までクリア (P) +clr_eos cd 画面末までクリア (P*) +column_address ch 絶対指定での水平位置 #1 (P) +command_character CC 端末がプロトタイプで設定可能なコマンド文字 +cursor_address cm 行 #1 桁 #2 に移動 +cursor_down do 1 行下に移動 +cursor_home ho カーソルをホームに移動 +cursor_invisible vi カーソルを見えなくする +cursor_left le 1 つ左に移動 +cursor_mem_address CM メモリ相対のカーソル位置指定 +cursor_normal ve 通常のカーソル表示にする + (cursor_invisible/cursor_visible の無効化) +cursor_right nd 1 つ右に移動 +cursor_to_ll ll 最終行の最初の桁 +cursor_up up 1 行上に移動 +cursor_visible vs カーソルを非常に見易くする +delete_character dc 文字削除 (P*) +delete_line dl 行削除 (P*) +dis_status_line ds ステータス行を無効にする +down_half_line hd 半行下に移動 +enter_alt_charset_mode as 別の文字セット開始 (P) +enter_blink_mode mb 点滅オン +enter_bold_mode md ボールド (さらに明るい) モードオン +enter_ca_mode ti cursor_address を使用するプログラムを開始 + する文字列 +enter_delete_mode dm 削除モードへ入る +enter_dim_mode mh 半輝度モードオン +enter_insert_mode im 挿入モードへ入る +enter_secure_mode mk ブランクモードオン (文字が見えません) +enter_protected_mode mp 保護モードオン +enter_reverse_mode mr 反転表示モードオン +enter_standout_mode so 強調表示モード開始 +enter_underline_mode us 下線モード開始 +erase_chars ec #1 個文字を削除 (P) +exit_alt_charset_mode ae 別の文字セット終了 (P) +exit_attribute_mode me 全属性をオフ +exit_ca_mode te cup 使用のプログラムを終了する文字列 +exit_delete_mode ed 削除モード終了 +exit_insert_mode ei 挿入モードから抜ける +exit_standout_mode se 強調表示モードから抜ける +exit_underline_mode ue 下線モードから抜ける +flash_screen vb 可視ベル (カーソルは移動しません) +form_feed ff ハードコピー端末でのページ排出 (P*) +from_status_line fs ステータス行からの復帰 +init_1string i1 初期化文字列 +init_2string is 初期化文字列 +init_3string i3 初期化文字列 +init_file if 初期化ファイルの名前 +insert_character ic 文字挿入 (P) +insert_line al 行挿入 (P*) +insert_padding ip 挿入された文字の後にパディングを挿入 +key_backspace kb backspace キー +key_catab ka clear-all-tabs キー +key_clear kC clear-screen または erase キー +key_ctab kt clear-tab キー +key_dc kD delete-character キー +key_dl kL delete-line キー +key_down kd down-arrow キー +key_eic kM 挿入モードで mir や smir により送られる +key_eol kE clear-to-end-of-line キー +key_eos kS clear-to-end-of-screen キー +key_f0 k0 F0 ファンクションキー +key_f1 k1 F1 ファンクションキー +key_f10 k; F10 ファンクションキー +key_f2 k2 F2 ファンクションキー +key_f3 k3 F3 ファンクションキー +key_f4 k4 F4 ファンクションキー +key_f5 k5 F5 ファンクションキー +key_f6 k6 F6 ファンクションキー +key_f7 k7 F7 ファンクションキー +key_f8 k8 F8 ファンクションキー +key_f9 k9 F9 ファンクションキー +key_home kh home キー +key_ic kI insert-character キー +key_il kA insert-line キー +key_left kl left-arrow キー +key_ll kH last-line キー +key_npage kN next-page キー +key_ppage kP prev-page キー +key_right kr right-arrow キー +key_sf kF scroll-forward キー +key_sr kR scroll-backward キー +key_stab kT set-tab キー +key_up ku up-arrow キー +keypad_local ke 'キーボード送出' モードから抜ける +keypad_xmit ks 'キーボード送出' モードに入る +lab_f0 l0 非 f0 の時、ファンクションキー f0 のラベル +lab_f1 l1 非 f1 の時、ファンクションキー f1 のラベル +lab_f10 la 非 f10 の時、ファンクションキー f10 の + ラベル +lab_f2 l2 非 f2 の時、ファンクションキー f2 のラベル +lab_f3 l3 非 f3 の時、ファンクションキー f3 のラベル +lab_f4 l4 非 f4 の時、ファンクションキー f4 のラベル +lab_f5 l5 非 f5 の時、ファンクションキー f5 のラベル +lab_f6 l6 非 f6 の時、ファンクションキー f6 のラベル +lab_f7 l7 非 f7 の時、ファンクションキー f7 のラベル +lab_f8 l8 非 f8 の時、ファンクションキー f8 のラベル +lab_f9 l9 非 f9 の時、ファンクションキー f9 のラベル +meta_off mo メタモードオフ +meta_on mm メタモードオン (8 ビット目をオン) +newline nw 改行 (cr の後に lf が来たように振舞います) +pad_char pc パディング文字 (ナルの代り) +parm_dch DC #1 文字を削除 (P*) +parm_delete_line DL #1 行を削除 (P*) +parm_down_cursor DO #1 行下に移動 (P*) +parm_ich IC #1 文字を挿入 (P*) +parm_index SF #1 行の前進スクロール (P) +parm_insert_line AL #1 行を挿入 (P*) +parm_left_cursor LE #1 文字左に移動 (P) +parm_right_cursor RI #1 文字右に移動 (P*) +parm_rindex SR #1 行の後退スクロール (P) +parm_up_cursor UP #1 行上に移動 (P*) +pkey_key pk 文字列 #2 をタイプする + プログラムファンクションキー #1 +pkey_local pl 文字列 #2 を実行する + プログラムファンクションキー #1 +pkey_xmit px 文字列 #2 を転送する + プログラムファンクションキー #1 +print_screen ps 画面の内容を印字 +prtr_off pf プリンタオフ +prtr_on po プリンタオン +repeat_char rp 文字 #1 を #2 回繰り返す (P*) +reset_1string r1 リセット文字列 +reset_2string r2 リセット文字列 +reset_3string r3 リセット文字列 +reset_file rf リセットファイルの名前 +restore_cursor rc save_cursor の最後の位置へカーソルを戻す +row_address cv 絶対指定での垂直位置 #1 (P) +save_cursor sc 現在のカーソル位置を保存 (P) +scroll_forward sf テキストを上にスクロール (P) +scroll_reverse sr テキストを下にスクロール (P) +set_attributes sa ビデオ属性 #1-#9 を定義 (PG9) +set_tab st 全ての行において今いる桁にタブを設定 +set_window wi 現在のウィンドウを、行 #1-#2 桁 #3-#4 に + 設定 +tab ta 次の 8 スペースハードウェアタブストップへ + タブ +to_status_line ts ステータス行へ移動 +underline_char uc 文字に下線を引きその後に移動 +up_half_line hu 半行上に移動 +init_prog iP 初期化プログラムのパス名 +key_a1 K1 キーパッドの左上キー +key_a3 K3 キーパッドの右上キー +key_b2 K2 キーパッドの中央キー +key_c1 K4 キーパッドの左下キー +key_c3 K5 キーパッドの右下キー +prtr_non pO #1 バイトだけプリンタをオンする +termcap_init2 i2 2 番目の初期化文字列 +termcap_reset rs 端末リセット文字 +# +# SVr1 のケーパビリティはここまでです。 +# IBM の terminfo はここまでは SVr4 と同じですが、ここから先は異なります。 +# +char_padding rP insert_padding と似ていますが挿入モード時 + に使用 +acs_chars ac 図形文字セットの組 - def=vt100 +plab_norm pn プログラムラベル #1 は文字列 #2 を表示 +key_btab kB back-tab キー +enter_xon_mode SX xon/xoff ハンドシェークオン +exit_xon_mode RX xon/xoff ハンドシェークオフ +enter_am_mode SA 自動マージンオン +exit_am_mode RA 自動マージンオフ +xon_character XN XON 文字 +xoff_character XF XOFF 文字 +ena_acs eA 別の文字セットを有効にする +label_on LO ソフトラベルオン +label_off LF ソフトラベルオフ +key_beg @1 begin キー +key_cancel @2 cancel キー +key_close @3 close キー +key_command @4 command キー +key_copy @5 copy キー +key_create @6 create キー +key_end @7 end キー +key_enter @8 enter/send キー +key_exit @9 exit キー +key_find @0 find キー +key_help %1 help キー +key_mark %2 mark キー +key_message %3 message キー +key_move %4 move キー +key_next %5 next キー +key_open %6 open キー +key_options %7 options キー +key_previous %8 previous キー +key_print %9 print キー +key_redo %0 redo キー +key_reference &1 reference キー +key_refresh &2 refresh キー +key_replace &3 replace キー +key_restart &4 restart キー +key_resume &5 resume キー +key_save &6 save キー +key_suspend &7 suspend キー +key_undo &8 undo キー +key_sbeg &9 シフト状態の begin キー +key_scancel &0 シフト状態の cancel キー +key_scommand *1 シフト状態の command キー +key_scopy *2 シフト状態の copy キー +key_screate *3 シフト状態の create キー +key_sdc *4 シフト状態の delete char キー +key_sdl *5 シフト状態の delete line キー +key_select *6 select キー +key_send *7 シフト状態の end キー +key_seol *8 シフト状態の end-of-line キー +key_sexit *9 シフト状態の exit キー +key_sfind *0 シフト状態の find キー +key_shelp #1 シフト状態の help キー +key_shome #2 シフト状態の home キー +key_sic #3 シフト状態の insert char キー +key_sleft #4 シフト状態の left キー +key_smessage %a シフト状態の message キー +key_smove %b シフト状態の move キー +key_snext %c シフト状態の next キー +key_soptions %d シフト状態の options キー +key_sprevious %e シフト状態の previous キー +key_sprint %f シフト状態の print キー +key_sredo %g シフト状態の redo キー +key_sreplace %h シフト状態の replace キー +key_sright %i シフト状態の right キー +key_srsume %j シフト状態の resume キー +key_ssave !1 シフト状態の save キー +key_ssuspend !2 シフト状態の suspend キー +key_sundo !3 シフト状態の undo キー +req_for_input RF 次の入力文字を送る (pty で使用) +key_f11 F1 F11 ファンクションキー +key_f12 F2 F12 ファンクションキー +key_f13 F3 F13 ファンクションキー +key_f14 F4 F14 ファンクションキー +key_f15 F5 F15 ファンクションキー +key_f16 F6 F16 ファンクションキー +key_f17 F7 F17 ファンクションキー +key_f18 F8 F18 ファンクションキー +key_f19 F9 F19 ファンクションキー +key_f20 FA F20 ファンクションキー +key_f21 FB F21 ファンクションキー +key_f22 FC F22 ファンクションキー +key_f23 FD F23 ファンクションキー +key_f24 FE F24 ファンクションキー +key_f25 FF F25 ファンクションキー +key_f26 FG F26 ファンクションキー +key_f27 FH F27 ファンクションキー +key_f28 FI F28 ファンクションキー +key_f29 FJ F29 ファンクションキー +key_f30 FK F30 ファンクションキー +key_f31 FL F31 ファンクションキー +key_f32 FM F32 ファンクションキー +key_f33 FN F33 ファンクションキー +key_f34 FO F34 ファンクションキー +key_f35 FP F35 ファンクションキー +key_f36 FQ F36 ファンクションキー +key_f37 FR F37 ファンクションキー +key_f38 FS F38 ファンクションキー +key_f39 FT F39 ファンクションキー +key_f40 FU F40 ファンクションキー +key_f41 FV F41 ファンクションキー +key_f42 FW F42 ファンクションキー +key_f43 FX F43 ファンクションキー +key_f44 FY F44 ファンクションキー +key_f45 FZ F45 ファンクションキー +key_f46 Fa F46 ファンクションキー +key_f47 Fb F47 ファンクションキー +key_f48 Fc F48 ファンクションキー +key_f49 Fd F49 ファンクションキー +key_f50 Fe F50 ファンクションキー +key_f51 Ff F51 ファンクションキー +key_f52 Fg F52 ファンクションキー +key_f53 Fh F53 ファンクションキー +key_f54 Fi F54 ファンクションキー +key_f55 Fj F55 ファンクションキー +key_f56 Fk F56 ファンクションキー +key_f57 Fl F57 ファンクションキー +key_f58 Fm F58 ファンクションキー +key_f59 Fn F59 ファンクションキー +key_f60 Fo F60 ファンクションキー +key_f61 Fp F61 ファンクションキー +key_f62 Fq F62 ファンクションキー +key_f63 Fr F63 ファンクションキー +clr_bol cb 行頭までクリア +clear_margins MC 左右のソフトマージンをクリア +set_left_margin ML 左のソフトマージンを設定 +set_right_margin MR 右のソフトマージンを設定 +label_format Lf ラベルフォーマット +set_clock SC 時刻を #1 時 #2 分 #3 秒に設定 +display_clock DK 位置 (#1,#2) に時計を表示 +remove_clock RC 時計を取り除く +create_window CW ウィンドウ #1 を #2, #3 から #4, #5 までと + 定義 +goto_window WG ウィンドウ #1 に移動 +hangup HU 電話をハングアップする +dial_phone DI 番号 #1 にダイヤルする +quick_dial QD チェックせずに番号 #1 にダイヤルする +tone TO タッチトーンダイヤルを選択 +pulse PU パルスダイヤルを選択 +flash_hook fh スイッチフックをフラッシュする +fixed_pause PA 2-3 秒待つ +wait_tone WA ダイヤルトーンを待つ +user0 u0 ユーザ文字列 #0 +user1 u1 ユーザ文字列 #1 +user2 u2 ユーザ文字列 #2 +user3 u3 ユーザ文字列 #3 +user4 u4 ユーザ文字列 #4 +user5 u5 ユーザ文字列 #5 +user6 u6 ユーザ文字列 #6 +user7 u7 ユーザ文字列 #7 +user8 u8 ユーザ文字列 #8 +user9 u9 ユーザ文字列 #9 +# +# SVr4 は以下のケーパビリティを追加してカラーをサポートしました +# +orig_pair op デフォルトのペアを元の値に戻す +orig_colors oc 色のペア全てを元に戻す +initialize_color Ic 色 #1 を (#2,#3,#4) に設定 +initialize_pair Ip 色のペア #1 を fg=(#2,#3,#4), + bg=(#5,#6,#7) に設定 +set_color_pair sp 現在の色のペアを #1 に設定 +set_foreground Sf 前景色を #1 に設定 +set_background Sb 背景色を #1 に設定 +# +# SVr4 は以下のケーパビリティを追加してプリンタをサポートしました +# +change_char_pitch ZA 1 インチあたりの文字数を変更 +change_line_pitch ZB 1 インチあたりの行数を変更 +change_res_horz ZC 水平解像度を変更 +change_res_vert ZD 垂直解像度を変更 +define_char ZE 文字を定義 +enter_doublewide_mode ZF 倍幅モードに入る +enter_draft_quality ZG ドラフト印字モードに入る +enter_italics_mode ZH イタリックモードに入る +enter_leftward_mode ZI キャリッジの左向き移動開始 +enter_micro_mode ZJ マイクロ移動モードに入る +enter_near_letter_quality ZK NLQ 印字モードに入る +enter_normal_quality ZL 通常品質印字モードに入る +enter_shadow_mode ZM シャドウプリントモード開始 +enter_subscript_mode ZN 下付き文字モード +enter_superscript_mode ZO 上付き文字モード +enter_upward_mode ZP キャリッジの上向き移動開始 +exit_doublewide_mode ZQ 倍幅印字モード終了 +exit_italics_mode ZR イタリックモード終了 +exit_leftward_mode ZS 左向き移動モード終了 +exit_micro_mode ZT マイクロ移動モード終了 +exit_shadow_mode ZU シャドウプリントモード終了 +exit_subscript_mode ZV 下付き文字モード終了 +exit_superscript_mode ZW 上付き文字モード終了 +exit_upward_mode ZX 逆向き文字移動終了 +micro_column_address ZY マイクロモードの column_address +micro_down ZZ マイクロモードの cursor_down +micro_left Za マイクロモードの cursor_left +micro_right Zb マイクロモードの cursor_right +micro_row_address Zc マイクロモードの row_address +micro_up Zd マイクロモードの cursor_up +order_of_pins Ze ソフトウェアビットを印字ヘッドピンに + あわせる +.\" Match software bits to print-head pins ? +parm_down_micro Zf マイクロモードの parm_down_cursor +parm_left_micro Zg マイクロモードの parm_left_cursor +parm_right_micro Zh マイクロモードの parm_right_cursor +parm_up_micro Zi マイクロモードの parm_up_cursor +select_char_set Zj 文字セットの選択 +set_bottom_margin Zk 現在の行を下マージンに設定 +set_bottom_margin_parm Zl 下マージンを行 #1 または下から #2 行に設定 +set_left_margin_parm Zm 左 (右) マージンを桁 #1 (#2) に設定 +set_right_margin_parm Zn 右マージンを桁 #1 に設定 +set_top_margin Zo 上マージンを現在の行に設定 +set_top_margin_parm Zp 上 (下) マージンを行 #1 (#2) に設定 +start_bit_image Zq ビットイメージグラフィクスの印刷開始 +start_char_set_def Zr 文字セットの定義開始 +stop_bit_image Zs ビットイメージグラフィクスの印刷停止 +stop_char_set_def Zt 文字セットの定義終了 +subscript_characters Zu 下付き文字となりうる文字のリスト +superscript_characters Zv 上付き文字となりうる文字のリスト +these_cause_cr Zw 印字すると CR となる文字 +zero_motion Zx 次の文字表示では移動しない +# +# 以下の文字列ケーパビリティは SVr4.0 の term 構造体にありますが、 +# マニュアルページには記述されていません。 +# +char_set_names Zy 文字セット名のリスト +key_mouse Km マウスイベントが発生した +mouse_info Mi マウス状態の情報 +req_mouse_pos RQ マウス位置の要求 +get_mouse Gm curses がボタンイベントを取得すべき +set_a_foreground AF ANSI 前景色を設定 +set_a_background AB ANSI 背景色を設定 +pkey_plab xl 文字列 #2 をタイプし、文字列 #3 を表示する + プログラムファンクションキー +device_type dv 言語/コードセットサポートの表示 +code_set_init ci 複数コードセットシーケンスの初期化 +set0_des_seq s0 コードセット 0 へシフト + (EUC セット 0, ASCII) +set1_des_seq s1 コードセット 1 へシフト +set2_des_seq s2 コードセット 2 へシフト +set3_des_seq s3 コードセット 3 へシフト +set_lr_margin ML 左右マージンをそれぞれ #1, #2 に設定 +set_tb_margin MT 上下マージンをそれぞれ #1, #2 に設定 +bit_image_repeat Xy ビットイメージセル #1 を #2 回繰り返す +bit_image_newline Zz ビットイメージの次の行に移動 +bit_image_carriage_return Yv 同一行の先頭に移動 +color_names Yw 色 #1 の名前を与える +define_bit_image_region Yx 長方形のビットイメージ領域を定義 +end_bit_image_region Yy ビットイメージ領域の終了 +set_color_band Yz 色リボン #1 に変更 +set_page_length YZ ページ長を #1 行に設定 +# +# SVr4 は以下のケーパビリティを追加し、直接 PC クローンをサポートしました +# +display_pc_char S1 PC 文字を表示 +enter_pc_charset_mode S2 PC 文字表示モードに入る +exit_pc_charset_mode S3 PC 文字表示モード終了 +enter_scancode_mode S4 PC スキャンコードモードに入る +exit_scancode_mode S5 PC スキャンコードモードから抜ける +pc_term_options S6 PC 端末オプション +scancode_escape S7 スキャンコードエミュレーションのための + エスケープ +alt_scancode_esc S8 スキャンコードエミュレーションのための + 別のエスケープ +# +# XSI curses 標準は、以下のケーパビリティを追加しました。 +# +enter_horizontal_hl_mode Xh 水平ハイライトモードに入る +enter_left_hl_mode Xl 左ハイライトモードに入る +enter_low_hl_mode Xo 下ハイライトモードに入る +enter_right_hl_mode Xr 右ハイライトモードに入る +enter_top_hl_mode Xt 上ハイライトモードに入る +enter_vertical_hl_mode Xv 垂直ハイライトモードに入る +.Ed +.Pp +以下は廃れた termcap ケーパビリティです。 +新しいソフトウェアはどれにも依存しないようにしてください。 +.Bd -literal +\fBブール値 TCap 記述\fR +\fB変数 コード\fR +linefeed_is_newline NL ^J で下に移動 +even_parity EP 端末は偶数パリティを要求 +odd_parity OP 端末は奇数パリティを要求 +half_duplex HD 端末は半 2 重 +lower_case_only LC 端末は小文字のみ持つ +upper_case_only UC 端末は大文字のみ持つ +has_hardware_tabs pt ^I で起動される 8 文字タブがある +return_does_clr_eol xr リターンは行をクリアする +tek_4025_insert_line xx Tektronix 4025 の insert-line グリッチ +backspaces_with_bs bs 左に移動するために ^H を使用 +crt_no_scrolling ns crt はスクロールできない +no_correctly_working_cr nc 行頭に行く手段が無い +.Ed +.Bd -literal +\fB数値 TCap 記述\fR +\fB変数 コード\fR +backspace_delay dB ^H に必要なパディング +form_feed_delay dF ^L に必要なパディング +horizontal_tab_delay dT ^I に必要なパディング +vertical_tab_delay dV ^V に必要なパディング +number_of_function_keys kn ファンクションキーの数 +carriage_return_delay dC CR に必要なパディング +new_line_delay dN LF に必要なパディング +.Ed +.Bd -literal +\fB文字列 TCap 記述\fR +\fB変数 コード\fR +other_non_function_keys ko 自己にマップされたキーのリスト +arrow_key_map ma 矢印キーをマップ +memory_lock_above ml 現在の行より上の画面で見える部分のメモリを + ロック +memory_unlock mu 現在の行より上の画面で見える部分のメモリの + ロックを解除 +linefeed_if_not_lf nl 下に移動するために使用 +backspace_if_not_bs bc ^H でない場合に左に移動 +.Ed +.Ss エントリのサンプル +以下のエントリは Concept\-100 について記述しており、 +本書の中でも最も複雑なエントリの 1 つです。 +.Pp +.Bd -literal +ca\||\|concept100\||\|c100\||\|concept\||\|c104\||\|concept100-4p\||\|HDS Concept\-100:\e + :al=3*\eE^R:am:bl=^G:cd=16*\eE^C:ce=16\eE^U:cl=2*^L:cm=\eEa%+ %+ :\e + :co#80:.cr=9^M:db:dc=16\eE^A:dl=3*\eE^B:do=^J:ei=\eE\e200:eo:im=\eE^P:in:\e + :ip=16*:is=\eEU\eEf\eE7\eE5\eE8\eEl\eENH\eEK\eE\e200\eEo&\e200\eEo\e47\eE:k1=\eE5:\e + :k2=\eE6:k3=\eE7:kb=^h:kd=\eE<:ke=\eEx:kh=\eE?:kl=\eE>:kr=\eE=:ks=\eEX:\e + :ku=\eE;:le=^H:li#24:mb=\eEC:me=\eEN\e200:mh=\eEE:mi:mk=\eEH:mp=\eEI:\e + :mr=\eED:nd=\eE=:pb#9600:rp=0.2*\eEr%.%+ :se=\eEd\eEe:sf=^J:so=\eEE\eED:\e + :.ta=8\et:te=\eEv \e200\e200\e200\e200\e200\e200\eEp\er\en:\e + :ti=\eEU\eEv 8p\eEp\er:ue=\eEg:ul:up=\eE;:us=\eEG:\e + :vb=\eEk\e200\e200\e200\e200\e200\e200\e200\e200\e200\e200\e200\e200\e200\e200\eEK:\e + :ve=\eEw:vs=\eEW:vt#8:xn:\e + :bs:cr=^M:dC#9:dT#8:nl=^J:ta=^I:pt: +.Ed +.Pp +行末文字に \e を使用すれば、複数行にエントリを続けることができます。 +また空のフィールドを含めて可読性を上げることもできます +(ある行の最後のフィールドから次の行の最初のフィールドまでです)。 +コメントは +.Dq # +で始まる行に含めることができます。 +.Ss ケーパビリティの型 +.Nm +のケーパビリティには次の 3 種類があります: +特定の機能を端末が持つかどうかを示す、ブール値ケーパビリティ; +画面の大きさや他の属性の大きさを与える、数値ケーパビリティ; +そして特定の端末操作を行うために使用可能な文字列を与える、 +文字列ケーパビリティです。 +全てのケーパビリティが 2 文字のコードを持ちます。 +例えば、Concept が +.Em 自動マージン +(行末に到達すると、自動的にリターンおよびラインフィードする機能) +を持つという事実は、ブール値ケーパビリティ +.Sy \&am +で示されます。 +それゆえ Concept の記述は +.Sy \&am +を含みます。 +.Pp +数値ケーパビリティの後には文字 `#' が続き、そして値が続きます。 +上の例では、画面の桁数を示す +.Sy \&co +は Concept に対しては値 `80' を与えます。 +.Pp +最後に、文字列値のケーパビリティ、例えば +.Sy \&ce +(行末までクリアのシーケンス) は、2 文字のコード、単一の `='、 +そして次の `:' までの文字列で与えられます。 +このケーパビリティにおいては、ミリ秒指定の遅延を `=' の後に指定可能です。 +この場合、残りの文字列が送られた後、パディング文字が +.Xr tputs 3 +により与えられ、この遅延を発生させます。 +遅延は `20' のような数値または `3*' のような `*' が続く数値です。 +`*' は、 +この操作により影響を受ける行数に必要なパディングが比例すること、 +そして指定量は影響を受ける各行に必要なパディングであることを示します。 +(insert-character の場合でも、係数は影響を受ける +.Em 行 +数です; ただし、端末が +.Sy \&in +を持っていてソフトウェアがこれを使用する場合以外は、この値は常に 1 です。) +`*' が指定される時、`3.5' のような形式により 1/10 ミリ秒単位で +行あたりの遅延を指定するのが便利な場合があります。 +(10 進数 1 桁分のみ許されます。) +.Pp +多くのエスケープシーケンスが文字列値のケーパビリティで提供されますので、 +ここでは容易に制御文字をエンコードできます。 +.Sy \&\eE +は +.Dv ESC +文字にマップし、 +.Sy \&^X +は適切な X に対して control-X にマップし、シーケンス +.Sy \&\en +.Sy \&\er +.Sy \&\et +.Sy \&\eb +.Sy \&\ef +はそれぞれ、ラインフィード、リターン、タブ、バックスペース、フォームフィード +にマップします。 +最後に、文字は +.Sy \&\e +の後に 3 桁 8 進数として指定可能ですし、 +.Sy \&^ +と +.Sy \&\e +の文字は +.Sy \&\e^ +と +.Sy \&\e\e +として与えられます。 +ケーパビリティ中に +.Sy \&: +を入れる必要がある場合、 +.Sy \e: +とエスケープするか、8 進数で +.Sy \&\e072 +とエスケープする必要があります。 +文字列ケーパビリティ中に +.Dv NUL +文字を入れる必要がある場合、 +.Sy \&\e200 +とエンコードする必要があります。( +.Nm +を扱うルーチンは C の文字列を使用し、 +出力の最上位ビットをかなり遅い段階で取り除くので、 +.Sy \&\e200 +は +.Sy \&\e000 +として出力されます。) +.Pp +個々のケーパビリティをコメントアウトする必要があるかもしれません。 +その場合には、ケーパビリティ名の前にピリオドを付けます。 +例えば、例における最初の +.Sy \&cr +と +.Sy \&ta +を見てください。 +.Ss 記述の準備 +端末記述を準備する最も効果的な方法は、 +.Nm +中の似た端末の記述を真似し、 +.Xr \&vi 1 +を使用して部分記述の正しさを確認することにより、 +徐々に記述を構築するというものです。 +非常に稀なことですが、端末によっては、 +.Nm +ファイルの記述能力不足や +.Xr \&vi 1 +のバグが露呈することがありますので注意してください。 +あなたが新しく作った端末記述を簡単にテストするには、 +あなたのホームディレクトリに +.Pa .termcap +という名前のファイルとして置き、 +プログラムが +.Pa /usr/share/misc/termcap +の前にこれを見るようにします。 +環境変数 +.Ev TERMPATH +をあなたが作成した記述を含む絶対ファイルパス名のリスト +(空白もしくはコロンで区切ります) に設定することにより、 +プログラムはこれらをリスト順に検索し、他は検索しないようになります。 +.Xr termcap 3 +を参照してください。 +.Ev TERMCAP +環境変数は、通常 +.Nm +エントリ自身に設定され、プログラム起動時にファイルを読むことを避けます。 +.Pp +行挿入に対する適切なパディングを得るためには +(端末製造元が記述しなかった場合には)、 +.Xr \&vi 1 +を使用して +.Pa /etc/passwd +を 9600 ボーで編集し、およそ 16 行を画面中央から削除し、 +それから `u' キーを何度か素早く押すという、厳しいテストを行います。 +画面がぐちゃぐちゃになった場合には、 +通常はより多くのパディングが必要となります。 +同様のテストを文字挿入に対しても行うことが可能です。 +.Ss 基本ケーパビリティ +表示の各行の桁数は +.Sy \&co +数値ケーパビリティで与えられます。 +表示が +.Tn CRT +になされる場合、画面の行数は +.Sy \&li +ケーパビリティで与えられます。 +カーソルが右マージンに到達した時に、表示が次の行の先頭に回り込む場合には、 +.Sy \&am +ケーパビリティを持ちます。 +端末が画面をクリア可能な場合には、そうするためのコードが +.Sy \&cl +文字列ケーパビリティで与えられます。 +端末が (上書きされる文字の位置をクリアするのではなく) 上打ちする場合には、 +.Sy \&os +ケーパビリティがあります。 +端末がプリント端末でソフトコピーユニットを持たない場合、 +.Sy \&hc +と +.Sy \&os +を指定してください。 +.Pf ( Sy \&os +があてはまるのは Tektronix 4010 シリーズのようなストレージスコープ端末、 +ハードコピー端末、そして +.Tn APL +端末です。) +カーソルを直ちに左端に移動するためのコードがある場合には、それを +.Sy \&cr +で指定します。 +(通常これは復帰文字(キャリッジリターン)、すなわち +.Sy \&^M +です。) +可聴シグナル (ベルやビープなど) を発生するコードがある場合には、それを +.Sy \&bl +で指定します。 +.Pp +(バックスペースのように) カーソルを 1 つ左に移動するコードがある場合には、 +このケーパビリティは +.Sy \&le +で指定します。 +同様に、右上下に移動するコードはそれぞれ +.Sy \&nd , +.Sy \&up , +.Sy \&do +で指定します。 +これらの +.Em ローカルなカーソル移動 +は、カーソルが通過する文字を変化させてはなりません; +例えば、通常は +.Dq nd=\ \& +を使用してはなりません。例外は +端末が +.Sy \&os +ケーパビリティを持つ場合です。 +この理由は、通過する文字を空白が消してしまうからです。 +.Pp +ここで非常に重要なポイントは、 +.Nm +でエンコードされるローカルなカーソル移動は、 +.Tn CRT +表示の左端および上端では動作が未定義だということです。 +ローカルなカーソル移動を使用している場合には、 +左端においては +.Sy \&bw +が与えられているのでなければ、 +プログラムはバックスペースを試してはなりませんし、 +上端においては上への移動を試してはなりません。 +.Pp +テキストを上にスクロールするには、プログラムは画面左下角に移動して、 +.Sy \&sf +(インデックス) 文字列を送ります。 +テキストを下にスクロールするには、プログラムは画面左上角に移動して、 +.Sy \&sr +(逆インデックス) 文字列を送ります。 +期待された角以外での +.Sy \&sf +および +.Sy \&sr +文字列の動作は未定義です。 +パラメータ化したバージョンのスクロールシーケンスは +.Sy \&SF +および +.Sy \&SR +で、 +.Sy \&sf +および +.Sy \&sr +と同様の意味ですが、 +1 つパラメータを取ってその行数だけスクロールさせるというところが違います。 +これらもまた、画面上の適切な角以外での動作は未定義です。 +.Pp +.Sy \&am +ケーパビリティは、画面の右端にてテキスト出力を行った時に、 +カーソルがその位置に留まるか否かを示します。 +しかしこれは、最後の桁での +.Sy \&nd +を必ずしも意味しません。 +左端らかの左向きのローカル移動は、 +.Sy \&bw +が与えられている場合のみ定義されます; +この場合、左端における +.Sy \&le +は、直前行の右端へ移動します。 +例えば、画面の周囲に箱を描画する場合に便利です。 +端末が切り替え選択式の自動マージンを持つ場合には、 +.Nm +記述は通常この機能、 +.Em すなわち +.Sy \&am +がオンであることを仮定します。 +次行の先頭桁への移動コマンドを端末が持つ場合、このコマンドは +.Sy \&nw +(改行) で与えることができます。 +これを使用して現在の行の残りの部分をクリアすることができますので、 +正しく動作する +.Tn \&CR +および +.Tn \&LF +を持たない場合には、これらの代りに使用することができます。 +.Pp +これらの機能で、ハードコピー端末および +.Dq ガラスの tty +端末を記述するためには十分です。 +Teletype model 33 は以下のように記述されています +.Bd -literal -offset indent +T3\||\|tty33\||\|33\||\|tty\||\|Teletype model 33:\e + :bl=^G:co#72:cr=^M:do=^J:hc:os: +.Ed +.Pp +また Lear Siegler +.Tn ADM Ns \-3 +は以下のように記述されています +.Bd -literal -offset indent +l3\||\|adm3\||\|3\||\|LSI \s-1ADM\s0-3:\e +:am:bl=^G:cl=^Z:co#80:cr=^M:do=^J:le=^H:li#24:sf=^J: +.Ed +.Ss パラメータ化された文字列 +カーソル位置設定などのパラメータを要求する文字列は、 +パラメータ化された文字列ケーパビリティで記述します。 +ここでは +.Xr printf 3 +に似たエスケープ +.Sy \&%x +を使用します。その他の文字は変更されずに渡されます。 +例えば、カーソル位置設定のために +.Sy \&cm +ケーパビリティが与えられますが、これは 2 つのパラメータを使用します: +それぞれ移動先の行と桁です。 +(行と桁は 0 から番号が振られ、ユーザから見える物理画面を参照します。 +見えないメモリは参照しません。 +端末がメモリ相対のカーソル位置設定機能を持つ場合には、 +.Sy \&CM +という似たケーパビリティで指定されます。) +.Pp +.Sy \&% +エンコードは以下の意味を持ちます: +.Bl -column xxxxx +.It %% Ta No `%' +を出力 +.It "%d 値を" +.Xr printf 3 +%d のように出力 +.It "%2 値を" +.Xr printf 3 +%2d のように出力 +.It "%3 値を" +.Xr printf 3 +%3d のように出力 +.It "%. 値を" +.Xr printf 3 +%c のように出力 +.It "%+" Ns Em x Ta No 値に +.Em x +を加え、% を実行 +.It "%>" Ns Em \&xy Ta No もし +値 \&> +.Em x +の場合には +.Em y +を加える。無出力 +.It "%r 2 つのパラメータの順を逆転。無出力" +.It "%i 1 増加。無出力" +.It "%n 全パラメータに関した 0140 との排他的論理和 (Datamedia 2500)" +.It "\&%B" Ta Tn BCD No "(16*(value/10)) + (value%10) を実行。無出力" +.It "%D 逆コーディング (value \- 2*(value%16))。無出力 (Delta Data)" +.El +.Pp +Hewlett-Packard 2645 において第 3 行第 12 桁に移動する場合、 +.Dq \eE&a12c03Y +を送って 6 ミリ秒パディングする必要があります。 +行と桁の関係がここでは逆であり、行および桁は 2 桁の整数として送る +ことに注意してください。 +よって、この端末の +.Sy \&cm +ケーパビリティは +.Dq Li cm=6\eE&%r%2c%2Y +となります。 +.Pp +Datamedia 2500 は現在の行と桁を +.Dq %.\& +でバイナリエンコードして送る必要があります。 +.Dq %.\& +を使用する端末は、カーソルをバックスペース +.Pq Sy \&le +させる機能と画面上で 1 行カーソルを上に移動 +.Pq Sy \&up +する機能を持つ必要があります。 +なぜなら +.Sy \&\en , +.Sy \&^D , +.Sy \&\er +を送出するのは常に安全というわけではなく、 +システムがこれらに変更を加えたり捨てたりする場合があるからです。( +.Nm +を使用するプログラムは、タブが展開されないように端末モードを設定し、 +.Sy \&\et +が安全に送られるようにしなければなりません。 +これは Ann Arbor 4080 において本質的です。) +.Pp +最後の例は Lear Siegler +.Tn ADM Ns \-3a +です。この端末では行と桁は空白文字で与えますので、 +.Dq Li cm=\eE=%+ %+\ +となります。 +.Pp +絶対値での行や桁のカーソル位置設定は、単一パラメータのケーパビリティ +.Sy \&ch +(水平絶対位置) および +.Sy \&cv +(垂直絶対位置) で与えられます。 +一般的な 2 パラメータシーケンスよりもこれらを使用する方が短かいことがあり +(Hewlett-Packard 2645 の場合)、 +.Sy \&cm +よりも好んで使用され得ます。 +パラメータ化されたローカル移動 +.Pf ( Em 例えば +、 +.Ar n +個右に移動) の機能がある場合、 +.Sy \&DO , +.Sy \&LE , +.Sy \&RI , +.Sy \&UP +として与えられます。これらは単一パラメータを取り、 +いくつ移動するのかを示します。 +第 1 に Tektronix 4025 のような +.Sy \&cm +を持たない端末で有用です。 +.Ss カーソル移動 +.Pp +端末が高速にカーソルをホーム (画面の左上角) に移動する方法がある場合、これは +.Sy \&ho +として与えられます。 +同様に、高速に左下角に移動する方法は、 +.Sy \&ll +で与えられます; +これには、ホームポジションにて +.Sy \&up +を使用することによる上への移動を含みますが、 +プログラム自身がこれを実行してはなりません (ただし +.Sy \&ll +が実行する場合を除く)。 +なぜならプログラムはホームポジションでの上への移動の効果を +仮定できないからです。) +ホームポジションは、カーソル位置 (0,0) と同じです: +画面の左上角であり、メモリは無関係です。 +(それゆえ、Hewlett-Packard 端末の +.Dq \eEH +シーケンスは、 +.Sy \&ho +としては使用できません。) +.Ss 領域クリア +端末が、現在位置に留まりつつ、現在位置から行末までクリア可能である場合には、 +この機能は +.Sy \&ce +として与えられます。 +端末が、現在位置から描画終端までをクリア可能である場合には、この機能は +.Sy \&cd +として与えられます。 +.Sy \&cd +は行の最初の桁においてのみ起動可能です。(よって、真の +.Sy \&cd +が利用できない場合、この機能は多数の行を削除する要求にてシミュレート可能です。) +.Ss 行の挿入および削除 +端末が、カーソルがいる行の前に新しい空行を開けることが可能な場合、この機能は +.Sy \&al +として与えられます; この機能を起動するには行頭にいる必要があります。 +行を開けると、カーソルは新しい空行の左端に移動します。 +端末が、カーソルがいる行を削除可能な場合、この機能は +.Sy \&dl +として与えられます; +この機能を起動するには削除する行の先頭にいる必要があります。 +1 つパラメータを取ってその数だけ行を挿入および削除する +.Sy \&al +および +.Sy \&dl +の変形は、 +.Sy \&AL +および +.Sy \&DL +として与えられます。 +端末が、(VT100 のように) 設定可能なスクロール領域を持つ場合、 +設定コマンドは 2 つのパラメータを取る +.Sy \&cs +ケーパビリティとして記述されます: +パラメータはスクロール領域の上端行および下端行です。 +なんとしたことか、このコマンド使用後のカーソル位置は未定義です。 +行挿入および行削除の効果はこのコマンドを使用することで得られます \(em +.Sy \&sc +および +.Sy \&rc +(カーソルの保存と回復) コマンドもまた有用です。 +画面の上端または下端における行挿入は、 +真の行挿入/削除を持たない多くの端末において、 +.Sy \&sr +または +.Sy \&sf +にて実行できます。 +また、真の行挿入/削除機能を持つ端末においても、 +こちらの方が高速な場合が多いです。 +.Pp +メモリの一部を、 +全コマンドが影響するウィンドウとして定義する能力を端末が持つ場合、 +これはパラメータ化された文字列 +.Sy \&wi +で与えられます。 +4 つのパラメータは順番に、メモリにおける開始行・終了行・開始桁・終了桁です。 +(この +.Xr terminfo 5 +ケーパビリティは完全性のために記述しています。 +.Nm +を使用するプログラムはこの機能を使ってはいないでしょう。) +.Pp +端末が画面より上方の表示メモリを保存する場合、 +.Sy \&da +ケーパビリティが与えられます; +下方の表示メモリが保存される場合、 +.Sy \&db +が与えられます。 +これらの機能は、 +行削除やスクロールにより非空白行が下から現れることや、 +.Sy \&sr +による後退スクロールにより非空白行が上から現れることを示します。 +.Ss 文字の挿入および削除 +.Nm +にて記述可能な文字挿入および削除に関しては、 +基本的に 2 種類のインテリジェント端末があります。 +最も一般的な文字の挿入/削除操作は現在行の文字にのみ作用し、 +行末までの文字を厳格にシフトします。 +他の端末、Concept\-100 や Perkin Elmer Owl では、 +タイプされた空白とタイプされたものではない空白を区別し、 +挿入/削除に際するシフトは +画面上のタイプされたものではない空白にのみ適用されます。 +タイプされたものではない空白は、削除されるか、 +2 つのタイプされたものではない空白に拡張されます。 +使用している端末の種類を判別するためには、 +画面をクリアし、カーソル移動を含めてテキストをタイプします。例えば +.Dq Li abc\ \ \ \ def +を、 +.Dq abc +と +.Dq def +の間でローカルなカーソル移動 (空白ではありません) を行ってタイプします。 +その後、カーソルを +.Dq abc +の前に移動し、端末を挿入モードにします。 +そこで文字をタイプすると +行の残りの部分が厳密にシフトされ終端から出て行く場合、 +あなたの端末は空白とタイプされたものではない位置とを区別しません。 +もし挿入に際して、 +.Dq abc +が +.Dq def +のところまでシフトし、 +それから一緒に現在の行の終端まで移動して次行に移動する場合、 +あなたの端末は 2 番目の種類の端末を持っていますので、 +.Dq ナル挿入 +を表すケーパビリティ +.Sy \&in +を指定します。 +これら 2 つは論理的に別の属性 +(1 行 +.Em 対 +複数行の挿入モードでタイプされたものではない空白を特別に扱う) ですが、 +挿入モードをどちらかで記述できない端末を我々は見たことがありません。 +.Pp +.Nm +エントリは、挿入モードを持つ端末も、 +単純なシーケンスを送って現在の行に空白位置を開ける端末も、両方記述可能です。 +.Sy \&im +は挿入モードに入るシーケンスを表します。 +.Sy \&ei +は挿入モードから抜けるシーケンスを表します。そして、 +.Sy \&ic +は、挿入する文字を送る直前に送る必要があるシーケンスを表します。 +真の挿入モードを持つほとんどの端末は、 +.Sy \&ic +を指定しません; +一方、画面上の位置を開けるためにシーケンスを使用する端末は、 +これを指定する必要があります。 +(端末が両方の機能を持つ場合には、挿入モードは通常 +.Sy \&ic +が好まれます。実際に両機能を組み合せる必要がある端末の場合以外は、 +両方を指定しないでください。) +挿入後にパディングが必要な場合、ミリ秒数にて +.Sy \&ip +(文字列オプション) で与えます。 +1 文字挿入後に送る必要があるシーケンスもまた +.Sy \&ip +で指定します。`挿入モード' である必要があり、 +なおかつ挿入文字の前に特別のコードを送る必要がある端末の場合、 +.Sy \&im Ns / Sy \&ei +と +.Sy \&ic +が与えられ、両方を使用します。 +単一のパラメータ +.Em n +を取る +.Sy \&IC +ケーパビリティは、 +.Sy \&ic +の効果を +.Em n +回繰り返します。 +.Pp +挿入モード中で同一行の文字を削除するために、時々移動が必要になります +.Pf ( Em 例えば +挿入位置の後にタブがある場合)。 +挿入モード中で移動を許す端末の場合、ケーパビリティ +.Sy \&mi +を指定して、このような場合の挿入を高速化できます。 +.Sy \&mi +を省略しても速度に影響するだけです。 +端末によっては (特に Datamedia のものでは)、挿入モードの動作方法の理由により、 +.Sy \&mi +を指定してはなりません。 +.Pp +最後に、1 文字削除のために +.Sy \&dc +を指定可能です。 +.Sy \&DC +は単一パラメータ +.Em n +を取り +.Em n +文字削除します。 +そして削除モードは、 +.Sy \&dm +および +.Sy \&ed +で、削除モードの入り方および抜け方を示します (削除モードとは、 +.Sy \&dc +が動作するために端末がいるべきモードです)。 +.Ss ハイライト・下線・可視ベル +端末が 1 つまたはそれ以上の種類の表示属性を持つ場合、 +これらは様々な方法で表現されていることでしょう。 +1 つの表示形式を +.Em 強調表示モード +として選択してください。このモードは十分高いコントラストで見易く、 +エラーメッセージや注意を引く表示のハイライトに適します。 +(選択可能ならば、反転表示に半分の明るさ、もしくは反転表示のみが良いでしょう。) +強調表示モードに入るシーケンスおよび出るシーケンスは、それぞれ +.Sy \&so +および +.Sy \&se +で与えられます。 +.Tn TVI +912 や Teleray 1061 のように、 +強調表示モードの出入りのコードが、 +1 つ 2 つの空白やごみの文字を画面上に残す場合、 +.Sy \&sg +を指定して、何文字残されるのかを指定してください。 +.Pp +下線の開始および下線の終了は、それぞれ +.Sy \&us +および +.Sy \&ue +で指定します。 +下線モード変更によるごみは、 +.Sy \&sg +同様 +.Sy \&ug +として指定します。 +Microterm Mime のように、現在位置の文字に下線を引き、 +カーソルをひとつ右の位置に移動するコードを端末が持つ場合、 +このコードは +.Sy \&uc +で指定します。 +.Pp +その他もろもろのハイライトモードに入るケーパビリティには、 +.Sy \&mb +(点滅)、 +.Sy \&md +(ボールドまたは更に明るい)、 +.Sy \&mh +(暗いまたは半輝度)、 +.Sy \&mk +(空白または見えないテキスト)、 +.Sy \&mp +(保護状態)、 +.Sy \&mr +(反転表示)、 +.Sy \&me +.Pf ( Em 全て +の属性モードをオフ)、 +.Sy \&as +(別の文字セットモードに入る) そして +.Sy \&ae +(別の文字セットモードから抜ける) があります。 +これらのモードを単独でオンにした場合、 +他のモードをオフにする場合もありますし、オフにしない場合もあります。 +.Pp +モードの任意の組み合わせを設定するシーケンスがある場合、 +これは 9 個のパラメータを取る +.Sy \&sa +(属性設定) で指定します。 +それぞれのパラメータは 0 または 1 であり、 +対応する属性がオンまたはオフされます。 +9 個のパラメータは順番に次の通りです: 強調表示・下線・反転・点滅・ +暗い・ボールド・空白・保護・別の文字セット。 +全モードが +.Sy \&sa +によりサポートされている必要は無く、 +サポートされているものに対応するコマンドが存在することのみ必要です。( +.Nm +を使用するプログラムはこのケーパビリティをサポートしていないでしょう。 +このケーパビリティは +.Xr terminfo 5 +との互換性のために定義しています。) +.Pp +各文字セルに追加された属性ビットを管理するのではなく、 +.Dq マジッククッキー +グリッチ +.Pf ( Sy \&sg +および +.Sy \&ug ) +を持つ端末では、 +描画アルゴリズムに影響するモード設定シーケンスを受信した時に、 +特別な +.Dq クッキー +または +.Dq ごみ文字 +を画面に残します。 +.Pp +Hewlett-Packard 2621 のように、 +新しい行へ移動した時やカーソル位置を設定した時に +自動的に強調表示モードから抜ける端末があります。 +このような端末においては、強調表示モードを使用するプログラムは、 +カーソル移動や改行送信前に強調表示モードから抜ける必要があります。 +このような問題が無い端末では、 +.Sy \&ms +ケーパビリティが存在し、このオーバヘッドが不要であることを示します。 +.Pp +エラーを静かに伝えるために端末が画面をフラッシュさせる方法を持つ場合 +(ベルの代りです)、これは +.Sy \&vb +として指定します; この機能はカーソルを移動してはなりません。 +.Pp +カーソルが最下行になくても、 +通常時よりも見易くする必要がある場合 +(例えば、点滅していない下線を、 +より見付け易いブロックや点滅する下線に変更する場合)、このシーケンスは +.Sy \&vs +で与えます。 +カーソルを完全に見えなくする方法がある場合には、これは +.Sy \&vi +ケーパビリティで指定します。 +これらのモードの効果を打ち消すケーパビリティ +.Sy \&ve +も指定する必要があります。 +.Pp +(特別なコードを必要とせずに) 下線を引かれた文字を端末が正しく表示する場合、 +しかもその機能が上打ちではない場合、 +このケーパビリティを +.Sy \&ul +で示します。 +上打ちを空白にて消去可能な場合、これは +.Sy \&eo +で示します。 +.Ss キーパッド +キーを押した時にコードを送出するキーパッドを持つ端末では、 +この情報を指定することができます。 +キーパッドがローカルモードにおいてのみ動作する端末は +扱うことができないことに注意してください。 +(これは例えば Hewlett-Packard 2621 でシフト状態でないキーにあてはまります)。 +キーコードの送出 / 非送出をキーパッドに設定できる場合は、 +設定のためのコードは +.Sy \&ks +および +.Sy \&ke +で指定します。 +そうでない場合はキーパッドは常にコードを送出するものと仮定されます。 +left-arrow, right-arrow, up-arrow, down-arrow, home のキーで送出されるコードは +それぞれ +.Sy \&kl , +.Sy \&kr , +.Sy \&ku , +.Sy \&kd , +.Sy \&kh , +で指定します。 +f0, f1, ..., f9 のようなファンクションキーがある場合には、 +これらのキーが送るコードは +.Sy \&k0 , +.Sy \&k1 , +\&..., +.Sy \&k9 +で指定します。 +これらのキーがデフォルトの f0 から f9 以外のラベルを持つ場合、このラベルは +.Sy \&l0 , +.Sy \&l1 , +\&..., +.Sy \&l9 +で指定します。 +その他の特殊キーで送出されるコードは次のように与えられます: +.Sy \&kH +(ホームダウン)、 +.Sy \&kb +(バックスペース)、 +.Sy \&ka +(全タブクリア)、 +.Sy \&kt +(この桁のタブストップをクリア)、 +.Sy \&kC +(画面クリアまたは消去)、 +.Sy \&kD +(文字削除)、 +.Sy \&kL +(行削除)、 +.Sy \&kM +(挿入モードから抜ける)、 +.Sy \&kE +(行末までクリア)、 +.Sy \&kS +(画面の終りまでクリア)、 +.Sy \&kI +(文字挿入または挿入モードに入る)、 +.Sy \&kA +(行挿入)、 +.Sy \&kN +(次のページ)、 +.Sy \&kP +(前のページ)、 +.Sy \&kF +(前進/下降スクロール)、 +.Sy \&kR +(後退/上昇スクロール)、 +.Sy \&kT +(この桁にタブストップを設定)。 +.\" ×がうまく表示されないので \[mu] 使用 +更に、キーパッドが 4 つの矢印キーを含む 3 \[mu] 3 のキー配列を持つ場合、 +他の 5 つのキーは +.Sy \&K1 , +.Sy \&K2 , +.Sy \&K3 , +.Sy \&K4 , +.Sy \&K5 +で指定します。 +3 \[mu] 3 の方向パッドが必要な時、これらのキーは有用です。 +以前 +.Dq その他 +のファンクションキーを記述するために使用された、廃れた +.Sy \&ko +ケーパビリティは、上記のケーパビリティにより完全に置き換えられました。 +.Pp +.Sy \&ma +エントリはまた、 +端末の矢印キーが 1 文字矢印キーであることを示すためにも使用されます。 +これは廃れた方法ですが、 +.Sy \&vi +のバージョン 2 で未だ使用されています。 +メモリ制約の理由で、このコマンドを使用しているミニコンピュータがあるでしょう。 +このフィールドは +.Sy \&kl , +.Sy \&kr , +.Sy \&ku , +.Sy \&kd , +.Sy \&kh +と冗長関係にあります。 +このフィールドは 2 文字の複数グループから構成されます。 +各グループにおいては、最初の文字は矢印キーが何を送るかを表し、 +2 番目の文字は対応する +.Sy \&vi +のコマンドを表します。 +コマンドは、 +.Ar h +が +.Sy \&kl +に、 +.Ar j +が +.Sy \&kd +に、 +.Ar k +が +.Sy \&ku +に、 +.Ar l +が +.Sy \&kr +に、 +.Ar H +が +.Sy \&kh +に対応します。 +例えば Mime では +.Dq Li ma=^Hh^Kj^Zk^Xl +となり、矢印キーの left (^H), down (^K), up (^Z), down (^X) を示します。 +(Mime には home キーはありません。) +.Ss タブおよび初期化 +これらのケーパビリティを使用するプログラムを実行する時に +端末を特別なモードにすることが必要な場合、 +このモードに入るコードおよび出るコードは +.Sy \&ti +と +.Sy \&te +で指定します。 +これが関係あるのは、例えば Concept のようなメモリページを複数持つ端末です。 +端末がメモリ相対のカーソル位置設定のみ持ち、 +画面相対のカーソル位置設定を持たない場合には、 +画面サイズのウィンドウに表示を固定し、 +カーソル位置設定が正しく動作するようにする必要があります。 +これは Tektronix 4025 でも使用され、 +.Sy \&ti +はコマンド文字を +.Nm +が使うように設定します。 +.Pp +他のケーパビリティとしては、端末初期化文字列 +.Sy \&is +や、長い初期化文字列を格納するファイル名 +.Sy \&if +があります。 +これらの文字列は、端末を +.Nm +記述と矛盾がないモードに設定するものと期待されています。 +これらは通常、ユーザがログインするたびに、 +.Xr tset 1 +プログラムによって端末に送られます。 +印字は次の順に行われます: まず +.Sy \&is ; +次に +.Sy \&ct +と +.Sy \&st +によるタブ設定; +そして最後に +.Sy \&if +です。 +.Pf ( Xr terminfo 5 +では +.Sy \&is +の代りに +.Sy \&i\&1-i2 +を使用し、プログラム +.Sy \&iP +を実行し、他の初期化の後 +.Sy "\&i\&3" +を印字します。) +まったくわけがわからない状態から回復するためのよりハードな +リセットシーケンスの組が、類推できる名前 +.Sy \&rs +および +.Sy \&rf +で与えられます。 +これらの文字列は、端末がはまった状態に陥いった時に使用される +.Xr reset 1 +プログラムにより出力されます。 +.Pf ( Xr terminfo 5 +は +.Sy \&rs +の代りに +.Sy "\&r1-r3" +を使用します。) +これらのコマンドが画面上を騒がせ、 +なおかつログイン時に必ずしも必要ではない場合に限り、 +通常これらは +.Sy \&rs +および +.Sy \&rf +に格納します。 +例えば、VT100 を 80 桁モードに設定するコマンドは、普通に考えると +.Sy \&is +の一部に入れるでしょうが、これは画面に困ったゴミを生じさせますし、 +端末は普段既に 80 桁モードですので、実際は入れる必要はありません。 +.Pp +端末がハードウェアタブを持つ場合、 +次のタブストップまで進むコマンドは +.Sy \&ta +で指定します (通常は +.Sy \&^I +です)。 +直前のタブストップへ左向きに移動する +.Dq バックタブ +コマンドは、 +.Sy \&bt +で指定します。 +タブストップが端末には送られずに計算機により展開されることを +端末ドライバモードが示す場合、 +.Sy \&ta +や +.Sy \&bt +が存在するとしても、プログラムでこれらを使用しないというのが約束になって +います。 +なぜなら、ユーザがタブストップを正しく設定していないかもしれないからです。 +端末電源オン時に各 +.Ar n +位置ごとにハードウェアタブが初期設定される端末の場合、 +数値パラメータ +.Sy \&it +を使用し、タブストップ間隔を示します。 +このコマンドは通常 +.Xr tset 1 +コマンドが使用し、ドライバモードをハードウェアタブ展開に設定するか否か、 +およびタブストップを設定するか否かを決定します。 +端末が不揮発性メモリにタブストップを保存可能な場合、 +.Nm +記述はタブストップが正しく設定されるものと仮定できます。 +.Pp +タブストップを設定およびクリアするコマンドが存在する場合、 +これらのコマンドは +.Sy \&ct +(全タブストップをクリア) および +.Sy \&st +(全ての行における現在の桁にタブストップを設定) で指定します。 +タブ設定のために、ここで示した方法より複雑なシーケンスが必要な場合、 +このシーケンスは +.Sy \&is +や +.Sy \&if +で指定します。 +.Ss 遅延 +端末ドライバのパディングを制御するケーパビリティもあります。 +これらのケーパビリティは、第 1 にハードコピー端末にて必要とされ、 +.Xr tset 1 +プログラムにより端末ドライバのモードを適切に設定するために使用されます。 +ケーパビリティ +.Sy \&cr , +.Sy \&sf , +.Sy \&le , +.Sy \&ff , +.Sy \&ta +に埋め込まれる遅延は、端末ドライバの適切な遅延ビットを設定する効果があります。 +.Sy \&pb +(パディングボーレート) を指定した場合、 +この値より低いボーレートにおいては、これらの値は無視されます。 +.Bx 4.2 +の +.Xr tset 1 +では、遅延は別の数値ケーパビリティ +.Sy \&dC , +.Sy \&dN , +.Sy \&dB , +.Sy \&dF , +.Sy \&dT +で与えられます。 +.Ss その他 +端末が +.Dv NUL +(0) 文字以外のパディング文字を必要とする場合には、 +.Sy \&pc +で指定します。 +.Sy \&pc +文字列の最初の文字のみが使用されます。 +.Pp +端末がカーソル位置を保存および回復するコマンドを持つ場合には、これらは +.Sy \&sc +および +.Sy \&rc +で指定します。 +.Pp +通常はソフトウェアが使用しない追加の +.Dq ステータス行 +を端末が持つ場合、この事実を示すことができます。 +ステータス行が最下行の下に追加の行として見える場合には、ケーパビリティ +.Sy \&hs +を指定します。 +ステータス行の位置への移動およびステータス行からの復帰のための特別な文字列は、 +.Sy \&ts +および +.Sy \&fs +で指定します。 +.Pf ( Sy \&ts +の前にカーソルが存在した位置に、 +.Sy \&fs +はカーソルを戻す必要があります。必要ならば、 +.Sy \&sc +および +.Sy \&rc +の文字列を +.Sy \&ts +および +.Sy \&fs +に含めてこの効果を得ることができます。) +ケーパビリティ +.Sy \&ts +は、ステータス行の何桁目にカーソルが移動すべきを示すパラメータを 1 つ取ります。 +エスケープシーケンスや他の特殊コマンド、 +例えばタブがステータス行でも動作するならば、フラグ +.Sy \&es +を指定します。 +ステータス行をオフにする (または内容を消去する) 文字列は、 +.Sy \&ds +で指定します。 +通常、ステータス行の幅は画面の他の部分、 +.Em すなわち +.Sy \&co +と同じであると仮定されます。(端末が行全体の使用を許さない等の理由で) +ステータス行の幅が異なる場合には、その幅を桁数で数値パラメータ +.Sy \&ws +で指定します。 +.Pp +端末が半行上下に移動可能な場合、 +.Sy \&hu +(半行上) および +.Sy \&hd +(半行下) で指定します。 +これは、ハードコピー端末で上付き文字および下付き文字を使用するために有用です。 +ハードコピー端末がページを排出して次のページに移動 (フォームフィード) する +ことができる場合、これは +.Sy \&ff +(通常 +.Sy \&^L +です) で指定します。 +.Pp +指定した文字を指定した回数繰り返すコマンド +(同一文字を何度も送出する時間を節約します) がある場合、 +パラメータ化された文字列 +.Sy \&rp +で指定します。 +最初のパラメータは繰り返される文字であり、2 番目のパラメータは +繰り返す回数です。(これは +.Xr terminfo 5 +の機能であり、 +.Nm +を使用するプログラムはこの機能をサポートしていないでしょう。) +.Pp +Tektronix 4025 のように端末が設定可能なコマンド文字を持つ場合、 +.Sy \&CC +で指定します。 +全ケーパビリティで使用されるプロトタイプコマンド文字が選択されます。 +この文字を識別するために、この文字が +.Sy \&CC +ケーパビリティにより与えられます。 +次の約束をサポートしている +.Ux +システムがあります: すなわち、 +.Ev \&CC +環境変数を検査し、もし設定されている場合には、 +プロトタイプ文字を環境変数で設定されているものと置き換えるという約束です。 +このように +.Ev \&CC +環境変数を使用することは、 +.Xr make 1 +との衝突が発生しますので、非常に悪い考えです。 +.Pp +特定の既知の端末を表現するものではない端末記述、 +.Em switch , +.Em dialup , +.Em patch , +.Em network +では +.Sy \&gn +(一般) ケーパビリティを設定し、 +端末に対してどのように話しかければよいのか分らないと +プログラムが文句を言えるようにします。 +(このケーパビリティは、エスケープシーケンスが既知である +.Em 仮想 +端末記述にはあてはまりません。 +.Pp +端末が xoff/xon +.Pq Tn DC3 Ns / Ns Tn DC1 +ハンドシェークを使用してフロー制御する場合、 +.Sy \&xo +を指定します。 +コストに関するより良い判定を可能とするために +依然としてパディング情報を指定する必要がありますが、 +実際にパディング文字が送出されるということはありません。 +.Pp +シフトキーのように動作し、送出される文字の 8 ビット目をセットする +.Dq メタキー +を端末が備える場合、 +.Sy \&km +を設定してこの事実を示すことができます。 +これが指定されない場合は、ソフトウェアは 8 ビット目はパリティであると仮定し、 +通常これをクリアしてしまいます。 +.Dq メタモード +をオンおよびオフする文字列が存在する場合、これらは +.Sy \&mm +および +.Sy \&mo +で指定します。 +.Pp +画面 1 枚分より多くのメモリ行を端末が備える場合、 +メモリの行数を +.Sy \&lm +で指定します。 +明示的に値 0 を指定すると、行数は固定ではないものの +画面分より多くのメモリがあることを示します。 +.Pp +.Ux +システムの仮想端末プロトコルにてサポートされる端末である場合、 +端末番号は +.Sy \&vt +で与えられます。 +.Pp +端末に接続された外部プリンタを制御するメディアコピー文字列は、 +次のように与えられます。すなわち +.Sy \&ps : +画面内容の印字; +.Sy \&pf : +プリンタオフ; および +.Sy \&po : +プリンタオンです。 +プリンタオン時には、端末に送られる全てのテキストはプリンタに送られます。 +プリンタオン時に端末画面にもテキストが表示されるか否かは未定義です。 +このバリエーションである +.Sy \&pO +は単一のパラメータを取り、 +パラメータ値で指定される文字数だけプリンタをオンにし、 +その後プリンタをオフにします。 +このパラメータは 255 を越えてはなりません。 +.Sy \&pf +を含む全テキストは、 +.Sy \&pO +が有効である間、透過的にプリンタに渡されます。 +.Pp +プログラムファンクションキーへの文字列は +.Sy \&pk , +.Sy \&pl , +.Sy \&px +で指定します。 +これらの文字列は次の 2 つのパラメータを取ります: +それぞれ、プログラム対象のファンクションキー番号 (0 から 9 まで) と、 +プログラムの文字列です。 +この範囲外のファンクションキー番号を指定すると、 +ここでは定義できないキーを端末依存の方式でプログラムするかもしれません。 +これらのケーパビリティの差異は、 +.Sy \&pk +は指定したキーを押すと指定した文字列を +ユーザがタイプしたものとして扱うものであり; +.Sy \&pl +はローカルモードの端末にて指定した文字列を実行させるものであり; +.Sy \&px +は指定した文字列を計算機に送出させるものである点です。 +不幸なことに、 +.Nm +では文字列パラメータが定義されていないため、 +.Xr terminfo 5 +のみがこれらのケーパビリティをサポートします。 +.Ss グリッチと不良 +文字 `~' を表示できない Hazeltine 端末は +.Sy \&hz +を指定する必要があります。 +.Pp +.Sy \&nc +ケーパビリティは現在廃れていますが、 +以前は Datamedia 端末を表すために使用していました。 +この端末では、キャリッジリターンに対して +.Sy \&\er \en +をエコーし、続くラインフィードを無視します。 +.Pp +Concept のように +.Sy \&am +による折り返しの直後のラインフィードを無視する端末では、 +.Sy \&xn +を指定します。 +.Pp +強調表示を取り除くために (単に通常のテキストを上書きするだけで済まず) +.Sy \&ce +が必要な場合、 +.Sy \&xs +を指定します。 +.Pp +タブによって移動された全ての文字が空白にされてしまう Teleray 端末では、 +.Sy \&xt +(破壊的なタブ) を指定する必要があります。 +このグリッチは、 +.Dq マジッククッキー +の先頭に +カーソル位置を設定できないことと、 +強調表示を消すためには行削除と行挿入が必要であることも表現します。 +.Pp +.Dv ESC +や +.Sy \&^C +の文字を正しく送出できない Beehive Superbee は +.Sy \&xb +を指定し、 +.Dq \&f\&1 +キーが +.Dv ESC +として使用され、 +.Dq \&f\&2 +キーが ^C として使用されることを示します。( +特定の Superbee のみがこの問題を持ち、これは +.Tn ROM +に依存します。) +.Pp +ある特定の端末に他の問題がある場合、 +.Sy x Ns Em x +の形式のケーパビリティを追加することにより正しく動作するようにしても +構いません。 +.Ss 似た端末 +2 つの非常によく似た端末がある場合、 +例外はあるもののもう一方にそっくりであると、 +一方を定義することができます。 +文字列ケーパビリティ +.Sy \&tc +には似た端末の名前を与えます。 +このケーパビリティは +.Em 最後 +である必要があり、組み合わせたエントリの長さは 1024 を越えてはなりません。 +.Sy \&tc +の前に指定したケーパビリティは +.Sy \&tc +により呼び出される端末タイプの記述に優先します。 +ケーパビリティのキャンセルのためには +.Sy \&xx@ +を +.Sy \&tc +の呼び出しの左に置きます。 +.Sy \&xx +はキャンセルされるケーパビリティです。 +例えば、エントリ +.Bd -literal -offset indent +hn\||\|2621\-nl:ks@:ke@:tc=2621: +.Ed +.Pp +は、ビジュアルモードでファンクションキーラベルをオンにしないために +.Sy \&ks +と +.Sy \&ke +のケーパビリティを持たない +.Dq 2621\-nl +を定義します。 +端末の種々のモードやユーザの種々のプリファレンスを記述するために有用です。 +.Sh 関連ファイル +.Bl -tag -width /usr/share/misc/termcap.db -compact +.It Pa /usr/share/misc/termcap +端末記述を格納するファイル +.It Pa /usr/share/misc/termcap.db +端末記述を格納するハッシュデータベースファイル +.Pf ( Xr cap_mkdb 1 +を参照)。 +.El +.Sh 関連項目 +.Xr cap_mkdb 1 , +.Xr ex 1 , +.Xr more 1 , +.Xr tset 1 , +.Xr ul 1 , +.Xr vi 1 , +.Xr ncurses 3 , +.Xr printf 3 , +.Xr termcap 3 , +.Xr term 5 +.Sh 警告およびバグ +.Em 注 : +.Nm +の機能は +.At V +Release 2.0 の +.Xr terminfo 5 +に置き換えられました。 +.Dq 廃れた +とされるケーパビリティを使用していなければ、 +移行のための苦痛は比較的少ないです。 +.Pp +現在、行数および桁数は、 +termcap エントリに格納するものと同様に、カーネルが格納します。 +現在、ほとんどのプログラムはカーネルの情報を最初に使用します; +このファイルに記述されている情報は、 +カーネルが情報を持たない時のみ使用されます。 +.Pp +.Xr \&vi 1 +プログラムは文字列ケーパビリティには 256 文字しか許しませんが、 +.Xr termlib 3 +のルーチンはこのバッファの溢れをチェックしません。 +単一エントリの総計の長さは 1024 を越えてはなりません +(エスケープされた改行は除きます)。 +.Pp +全てのプログラムが全てのエントリをサポートしているわけではありません。 +.Sh 歴史 +.Nm +ファイルフォーマットは +.Bx 3 +に登場しました。 diff --git a/documentation/manual-pages/ja/man5/terminfo.5 b/documentation/manual-pages/ja/man5/terminfo.5 new file mode 100644 index 0000000000..72629579ca --- /dev/null +++ b/documentation/manual-pages/ja/man5/terminfo.5 @@ -0,0 +1,3109 @@ +'\" t +.\" DO NOT EDIT THIS FILE BY HAND! +.\" It is generated from terminfo.head, Caps, and terminfo.tail. +.\" +.\" Note: this must be run through tbl before nroff. +.\" The magic cookie on the first line triggers this under some man programs. +.\"*************************************************************************** +.\" Copyright (c) 1998 Free Software Foundation, Inc. * +.\" * +.\" Permission is hereby granted, free of charge, to any person obtaining a * +.\" copy of this software and associated documentation files (the * +.\" "Software"), to deal in the Software without restriction, including * +.\" without limitation the rights to use, copy, modify, merge, publish, * +.\" distribute, distribute with modifications, sublicense, and/or sell * +.\" copies of the Software, and to permit persons to whom the Software is * +.\" furnished to do so, subject to the following conditions: * +.\" * +.\" The above copyright notice and this permission notice shall be included * +.\" in all copies or substantial portions of the Software. * +.\" * +.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * +.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * +.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * +.\" IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * +.\" DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * +.\" OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * +.\" THE USE OR OTHER DEALINGS IN THE SOFTWARE. * +.\" * +.\" Except as contained in this notice, the name(s) of the above copyright * +.\" holders shall not be used in advertising or otherwise to promote the * +.\" sale, use or other dealings in this Software without prior written * +.\" authorization. * +.\"*************************************************************************** +.\" +.\" %Id: terminfo.head,v 1.9 2000/08/13 01:56:40 tom Exp % +.\" $FreeBSD$ +.TH TERMINFO 5 "" "" "File Formats" +.ds n 5 +.ds d /usr/share/misc/terminfo +.SH 名称 +terminfo \- 端末ケーパビリティのデータベース +.SH 書式 +\*d/*/* +.SH 解説 +.I terminfo +は端末の特性を記述するデータベースであり、 +\fBnvi\fR(1), +\fBrogue\fR(1) +などの画面を活用したプログラムや +\fBcurses\fR(3X) +などのライブラリによって使用されます。 +.I terminfo +は、端末が持つケーパビリティの集合を与え、画面操作をどのようにして行うかを +指定し、必要なパディングや初期化シーケンスを指定することで、端末の特性を +記述します。 +.PP +.I terminfo +のエントリは、`,' で区切られたフィールドの列からなります (フィールド内の +コンマはバックスラッシュでエスケープするか、\e072 と書きます)。 +`,' セパレータの後の空白は無視されます。 +各端末を表す最初のエントリは、端末を表すものとして知られている名前を +指定します。名前を複数指定するときは `|' で区切ります。 +最初の名前は、その端末のものとして最もよく知られた省略形を与えます。 +最後の名前には、その端末を識別できるだけの長い名前を指定するべきです。 +それら以外の名前は、同じ端末を指す別名と見なされます。 +最後のもの以外の名前は、すべて英小文字からなり、空白が含まれていては +いけません。 +最後の名前には、読みやすくするために大文字や空白を含めても構いません。 +.PP +端末名 (最後の冗長なものは除く) は、以下の約束にしたがって付けてください。 +名前の基本部分を、端末を構成するハードウェアの特徴的部分から名付けます +(``hp2621'' のように)。 +この名前にはハイフンを含めてはいけません。 +モードや、ユーザの設定が現れる部分については、基本名の後に、 +ハイフンとモードの接尾辞つけて表してください。 +例えば、vt100 の 132 桁モードは vt100-w のようになります。 +使えるところがあれば、以下の接尾辞を使ってください。 +.PP +.TS +center ; +l c l +l l l. +\fB接尾辞 意味 例\fP +-\fInn\fP 画面の行数 aaa-60 +-\fIn\fPp 画面記憶ページ数 c100-4p +-am 自動マージン付 (通常これがデフォルト) vt100-am +-m 白黒モード; 色を抑制 ansi-m +-mc 魔法のクッキー; ハイライトのときの空白 wy30-mc +-na 矢印キー無し (局所的にとどめる) c100-na +-nam 自動マージン無し vt100-nam +-nl ステータス行無し att4415-nl +-ns ステータス行無し hp2626-ns +-rv 反転表示 c100-rv +-s ステータス行有り vt100-s +-vb ビープの代わりに可視ベルを使用 wy370-vb +-w 幅広モード (> 80 桁、通常 132 桁) vt100-w +.TE +.PP +端末の命名規則についてさらに知りたいときは \fBterm(7)\fR のマニュアルを +参照してください。 +.SS ケーパビリティ +.\" Head of terminfo man page ends here +.ps -1 +以下は terminfo の記述ブロックに含まれ、terminfo を使うコードが使用できる +ケーパビリティの完全な表です。表の各行の意味は次の通りです。 + +\fBvariable\fR は (terminfo レベルの) プログラマがケーパビリティを +使用するときに用いる名前です。 + +\fBcapname\fR は、データベースのテキストの中で用いる短縮名で、 +データベースを更新する人間が用いる名前です。 +可能な場合は常に、capname は ANSI X3.64-1979 標準規格 (現在 ECMA-48 に +取って代わられていますが、そこでも同一のもしくは非常に良く似た名前を +使っています) と同一もしくは類似のものを選んであります。その意味も、 +その規格での規定に合致するようにしてあります。 + +termcap code は古典的な +.B termcap +ケーパビリティの名前です (いくつかのケーパビリティは新しいもので、 +その名前は termcap に由来しません)。 +.P +ケーパビリティの名前の長さには、決まった上限はありません。ただし、名前を +短くし、ソースファイルにタブを使って +.B cap +をきれいに並べられるように、非公式ながら上限 5 文字の制限が既に +採用されています。 + +最後に、説明ではケーパビリティの意味を伝えようとします。説明の中には +以下のようなコードがある場合があります。 +.TP +(P) +パディングが指定可能であることを表します。 +.TP +#[1-9] +説明の中では、文字列が (#\fIi\fP) として与えられる引数として +tparm を介して渡されることを示します。 +.TP +(P*) +影響を受ける行数にパディングが比例することを表します。 +.TP +(#\d\fIi\fP\u) +第 \fIi\fP 番目のパラメータを表します。 + +.PP +以下はブール値ケーパビリティです : + +.na +.TS H +center expand; +c l l c +c l l c +lw25 lw6 lw2 lw20. +\fBvariable cap- TCap 説明\fR +\fBブール値 name Code\fR +auto_left_margin bw bw T{ +cub1 は桁 0 から最後の桁に回り込む +T} +auto_right_margin am am T{ +自動マージン機能を持つ +T} +back_color_erase bce ut T{ +画面を背景色で消去する +T} +can_change ccc cc T{ +既存の色を再定義可能 +T} +ceol_standout_glitch xhp xs T{ +強調出力は上書きで消去されない (hp) +T} +col_addr_glitch xhpa YA T{ +hpa/mhpa では正方向のみ移動可能 +T} +cpi_changes_res cpix YF T{ +文字ピッチを変えると解像度が変わる +T} +cr_cancels_micro_mode crxm YB T{ +cr を使用するとマイクロモードがオフになる +T} +dest_tabs_magic_smso xt xt T{ +タブは破壊的、強調文字の動作が奇妙 (t1061) +T} +eat_newline_glitch xenl xn T{ +80 桁より後の改行は無視される (concept) +T} +erase_overstrike eo eo T{ +空白の重ね打ちで消去可能 +T} +generic_type gn gn T{ +一般的な回線タイプ +T} +hard_copy hc hc T{ +ハードコピー端末 +T} +hard_cursor chts HC T{ +カーソルが見にくい +T} +has_meta_key km km T{ +メタキーを持つ (押すと第 8 ビットがセットされる) +T} +has_print_wheel daisy YC T{ +文字セットを変更するのに人手が必要なプリンタ +T} +has_status_line hs hs T{ +特別なステータス行を持つ +T} +hue_lightness_saturation hls hl T{ +端末は HLS 色表記のみ使用 (Tektronix) +T} +insert_null_glitch in in T{ +挿入モードでヌル文字を区別する +T} +lpi_changes_res lpix YG T{ +行ピッチを変えると解像度が変わる +T} +memory_above da da T{ +画面より上の描画が保持される +T} +memory_below db db T{ +画面より下の描画が保持される +T} +move_insert_mode mir mi T{ +挿入モードで安全にカーソル移動可能 +T} +move_standout_mode msgr ms T{ +強調モードで安全にカーソル移動可能 +T} +needs_xon_xoff nxon nx T{ +パディング機能が働かない。xon/xoff 制御が必要 +T} +no_esc_ctlc xsb xb T{ +beehive 端末 (f1=escape, f2=ctrl C) +T} +no_pad_char npc NP T{ +パディング文字が存在しない +T} +non_dest_scroll_region ndscr ND T{ +スクロール領域が非破壊的 +T} +non_rev_rmcup nrrmc NR T{ +smcup は rmcup の動作を反転しない +T} +over_strike os os T{ +端末は重ね打ち可能 +T} +prtr_silent mc5i 5i T{ +プリンタ出力は画面にエコーしない +T} +row_addr_glitch xvpa YD T{ +vpa/mvpa では正方向にのみ移動可能 +T} +semi_auto_right_margin sam YE T{ +最終桁で出力すると cr 動作をする +T} +status_line_esc_ok eslok es T{ +ステータス行上でエスケープ可能 +T} +tilde_glitch hz hz T{ +~ 表示不可 (hazeltine 端末) +T} +transparent_underline ul ul T{ +下線付文字は上書きする +T} +xon_xoff xon xo T{ +端末は xon/xoff ハンドシェークを行う +T} +.TE +.ad + +以下は数値ケーパビリティです : + +.na +.TS H +center expand; +c l l c +c l l c +lw25 lw6 lw2 lw20. +\fBvariable cap- TCap 説明\fR +\fB数値 name Code\fR +columns cols co T{ +1 行の桁数 +T} +init_tabs it it T{ +タブの初期設定は # 個の空白毎 +T} +label_height lh lh T{ +ラベル 1 つの行数 +T} +label_width lw lw T{ +ラベル 1 つの桁数 +T} +lines lines li T{ +画面またはページの行数 +T} +lines_of_memory lm lm T{ +lines の値以上の場合メモリの行数。0 は行数が可変であることを表す +T} +magic_cookie_glitch xmc sg T{ +smso や rmso で画面に残る空白数 +T} +max_attributes ma ma T{ +端末が組み合わせて処理できる属性数の最大値 +T} +max_colors colors Co T{ +画面上の最大色数 +T} +max_pairs pairs pa T{ +画面上の色ペアの最大値 +T} +maximum_windows wnum MW T{ +定義可能なウィンドウ数の最大値 +T} +no_color_video ncv NC T{ +色付きでは使用できないビデオ属性 +T} +num_labels nlab Nl T{ +画面上のラベル数 +T} +padding_baud_rate pb pb T{ +パディングが必要な最低ボーレート +T} +virtual_terminal vt vt T{ +仮想画面番号 (CB/unix) +T} +width_status_line wsl ws T{ +ステータス行の桁数 +T} +.TE +.ad + +以下の数値ケーパビリティは、SVr4.0 の term 構造体に存在していますが、 +マニュアルには未だに説明がありません。 +SVr4 でプリンタに対応するために採り入れられました。 + +.na +.TS H +center expand; +c l l c +c l l c +lw25 lw6 lw2 lw20. +\fBvariable cap- TCap 説明\fR +\fB数値 name Code\fR +bit_image_entwining bitwin Yo T{ +各ビットイメージ行に対するパスの数 +T} +bit_image_type bitype Yp T{ +ビットイメージデバイスのタイプ +T} +buffer_capacity bufsz Ya T{ +印字前にバッファリング可能なバイト数 +T} +buttons btns BT T{ +マウスのボタン数 +T} +dot_horz_spacing spinh Yc T{ +1 インチあたりのドット数での水平方向のドット間隔 +T} +dot_vert_spacing spinv Yb T{ +1 インチあたりのピン数での垂直方向のピン間隔 +T} +max_micro_address maddr Yd T{ +micro_..._address での最大値 +T} +max_micro_jump mjump Ye T{ +parm_..._micro での最大値 +T} +micro_col_size mcs Yf T{ +マイクロモードでの文字ステップサイズ +T} +micro_line_size mls Yg T{ +マイクロモードでの行ステップサイズ +T} +number_of_pins npins Yh T{ +プリントヘッドのピン数 +T} +output_res_char orc Yi T{ +1 行あたりのユニット数での水平解像度 +T} +output_res_horz_inch orhi Yk T{ +1 インチあたりのユニット数での水平解像度 +T} +output_res_line orl Yj T{ +1 行あたりのユニット数での垂直解像度 +T} +output_res_vert_inch orvi Yl T{ +1 インチあたりのユニット数での垂直解像度 +T} +print_rate cps Ym T{ +1 秒あたりの文字数での印字速度 +T} +wide_char_size widcs Yn T{ +倍幅モードでの文字ステップサイズ +T} +.TE +.ad + +以下は文字列ケーパビリティです : + +.na +.TS H +center expand; +c l l c +c l l c +lw25 lw6 lw2 lw20. +\fBvariable cap- TCap 説明\fR +\fB文字列 name Code\fR +acs_chars acsc ac T{ +図形文字セットの組、vt100 に基づく +T} +back_tab cbt bt T{ +後退タブ (P) +T} +bell bel bl T{ +可聴シグナル (ベル) (P) +T} +carriage_return cr cr T{ +復帰文字 (P*) (P*) +T} +change_char_pitch cpi ZA T{ +1 インチあたりの文字数を # 1 に変更 +T} +change_line_pitch lpi ZB T{ +1 インチあたりの行数を #1 に変更 +T} +change_res_horz chr ZC T{ +水平解像度を #1 に変更 +T} +change_res_vert cvr ZD T{ +垂直解像度を #1 に変更 +T} +change_scroll_region csr cs T{ +領域を行 #1 から行 #2 までに変更 (P) +T} +char_padding rmp rP T{ +ip と同様だが挿入モード以外で使用 +.\" 後で If padding is necessary between characters typed while not +.\" in insert mode, give this as a number of milliseconds +.\" padding in rmp. という記述がある +T} +clear_all_tabs tbc ct T{ +タブ設定をすべてクリア (P) +T} +clear_margins mgc MC T{ +左右のソフトマージンをクリア +T} +clear_screen clear cl T{ +画面をクリアし、カーソルをホームに移動 (P*) +T} +clr_bol el1 cb T{ +行先頭までクリア +T} +clr_eol el ce T{ +行末までクリア (P) +T} +clr_eos ed cd T{ +画面末までクリア (P*) +T} +column_address hpa ch T{ +水平絶対位置 #1 (P) +T} +command_character cmdch CC T{ +端末がプロトタイプで設定可能なコマンド文字 !? +T} +create_window cwin CW T{ +ウィンドウ #1 を #2,#3 から #4,#5 までと定義 +T} +cursor_address cup cm T{ +行 #1 桁 #2 に移動 +T} +cursor_down cud1 do T{ +1 行下に移動 +T} +cursor_home home ho T{ +カーソルをホームに移動 (cup がない場合) +T} +cursor_invisible civis vi T{ +カーソルを見えなくする +T} +cursor_left cub1 le T{ +カーソルを 1 空白分左に移動 +T} +cursor_mem_address mrcup CM T{ +メモリ相対のカーソル位置指定であり、行 #1 列 #2 へ移動 +T} +cursor_normal cnorm ve T{ +カーソルを通常表示にする (civis/cvvis を元に戻す) +T} +cursor_right cuf1 nd T{ +非破壊空白 (1 空白分右に移動) +T} +cursor_to_ll ll ll T{ +最終行の最初の桁 (cup がない場合) +T} +cursor_up cuu1 up T{ +1 行上へ +T} +cursor_visible cvvis vs T{ +カーソルをより見えるようにする +T} +define_char defc ZE T{ +文字 #1 を幅 #2 ドット、ディセンダ #3 で定義する +T} +delete_character dch1 dc T{ +文字を削除 (P*) +T} +delete_line dl1 dl T{ +行を削除 (P*) +T} +dial_phone dial DI T{ +番号 #1 にダイアルする +T} +dis_status_line dsl ds T{ +ステータス行を無効にする +T} +display_clock dclk DK T{ +時計を表示する +T} +down_half_line hd hd T{ +半行下へ +T} +ena_acs enacs eA T{ +別の文字セットを有効にする +T} +enter_alt_charset_mode smacs as T{ +別の文字セットを開始 (P) +T} +enter_am_mode smam SA T{ +自動マージンオン +T} +enter_blink_mode blink mb T{ +点滅モードオン +T} +enter_bold_mode bold md T{ +太字 (更に明るい) モードオン +T} +enter_ca_mode smcup ti T{ +cup を用いたプログラムを開始する文字列 +T} +enter_delete_mode smdc dm T{ +削除モード開始 +T} +enter_dim_mode dim mh T{ +半輝度モード開始 +T} +enter_doublewide_mode swidm ZF T{ +倍幅モード開始 +T} +enter_draft_quality sdrfq ZG T{ +ドラフト印字モード開始 +T} +enter_insert_mode smir im T{ +挿入モード開始 +T} +enter_italics_mode sitm ZH T{ +斜体モード開始 +T} +enter_leftward_mode slm ZI T{ +左向き移動モード開始 +T} +enter_micro_mode smicm ZJ T{ +マイクロ移動モード開始 +T} +enter_near_letter_quality snlq ZK T{ +NLQ 印字モード開始 +T} +enter_normal_quality snrmq ZL T{ +通常品質印字モード開始 +T} +enter_protected_mode prot mp T{ +保護モードオン +T} +enter_reverse_mode rev mr T{ +反転表示モードオン +T} +enter_secure_mode invis mk T{ +ブランクモードオン (文字が見えない) +T} +enter_shadow_mode sshm ZM T{ +シャドウプリントモード開始 +T} +enter_standout_mode smso so T{ +強調モード開始 +T} +enter_subscript_mode ssubm ZN T{ +下付き文字モード開始 +T} +enter_superscript_mode ssupm ZO T{ +上付き文字モード開始 +T} +enter_underline_mode smul us T{ +下線モード開始 +T} +enter_upward_mode sum ZP T{ +上向き移動モード開始 +T} +enter_xon_mode smxon SX T{ +xon/xoff ハンドシェークオン +T} +erase_chars ech ec T{ +#1 個の文字を消去 (P) +T} +exit_alt_charset_mode rmacs ae T{ +別の文字セット終了 (P) +T} +exit_am_mode rmam RA T{ +自動マージンオフ +T} +exit_attribute_mode sgr0 me T{ +全属性オフ +T} +exit_ca_mode rmcup te T{ +cup を用いたプログラムを終了する文字列 +T} +exit_delete_mode rmdc ed T{ +削除モード終了 +T} +exit_doublewide_mode rwidm ZQ T{ +倍幅モード終了 +T} +exit_insert_mode rmir ei T{ +挿入モード終了 +T} +exit_italics_mode ritm ZR T{ +斜体モード終了 +T} +exit_leftward_mode rlm ZS T{ +左向き移動モード終了 +T} +exit_micro_mode rmicm ZT T{ +マイクロ移動モード終了 +T} +exit_shadow_mode rshm ZU T{ +シャドウプリントモード終了 +T} +exit_standout_mode rmso se T{ +強調モード終了 +T} +exit_subscript_mode rsubm ZV T{ +下付き文字モード終了 +T} +exit_superscript_mode rsupm ZW T{ +上付き文字モード終了 +T} +exit_underline_mode rmul ue T{ +下線モード終了 +T} +exit_upward_mode rum ZX T{ + 逆向き移動モード終了 +T} +exit_xon_mode rmxon RX T{ +xon/xoff ハンドシェークオフ +T} +fixed_pause pause PA T{ +2-3 秒待つ +T} +flash_hook hook fh T{ +スイッチフックをフラッシュ +T} +flash_screen flash vb T{ +可視ベル (カーソルは移動しない) +T} +form_feed ff ff T{ +ハードコピー端末でのページ排出 (P*) +T} +from_status_line fsl fs T{ +ステータス行からの復帰 +T} +goto_window wingo WG T{ +ウィンドウ #1 に移動 +T} +hangup hup HU T{ +電話を切る +T} +init_1string is1 i1 T{ +初期化文字列 +T} +init_2string is2 is T{ +初期化文字列 +T} +init_3string is3 i3 T{ +初期化文字列 +T} +init_file if if T{ +初期化ファイルの名前 +T} +init_prog iprog iP T{ +初期化プログラムのパス名 +T} +initialize_color initc Ic T{ +色 #1 を (#2,#3,#4) に初期化 +T} +initialize_pair initp Ip T{ +色ペア #1 を fg=(#2,#3,#4), bg=(#5,#6,#7) に初期化 +T} +insert_character ich1 ic T{ +文字の挿入 (P) +T} +insert_line il1 al T{ +行の挿入 (P*) +T} +insert_padding ip ip T{ +文字挿入の後にパディングを挿入 +T} +key_a1 ka1 K1 T{ +キーパッドの左上キー +T} +key_a3 ka3 K3 T{ +キーパッドの右上キー +T} +key_b2 kb2 K2 T{ +キーパッドの中央キー +T} +key_backspace kbs kb T{ +backspace キー +T} +key_beg kbeg @1 T{ +begin キー +T} +key_btab kcbt kB T{ +back-tab キー +T} +key_c1 kc1 K4 T{ +キーパッドの左下キー +T} +key_c3 kc3 K5 T{ +キーパッドの右下キー +T} +key_cancel kcan @2 T{ +cancel キー +T} +key_catab ktbc ka T{ +clear-all-tabs キー +T} +key_clear kclr kC T{ +clear-screen キー、または erase キー +T} +key_close kclo @3 T{ +close キー +T} +key_command kcmd @4 T{ +command キー +T} +key_copy kcpy @5 T{ +copy キー +T} +key_create kcrt @6 T{ +create キー +T} +key_ctab kctab kt T{ +clear-tab キー +T} +key_dc kdch1 kD T{ +delete-character キー +T} +key_dl kdl1 kL T{ +delete-line キー +T} +key_down kcud1 kd T{ +down-arrow キー +T} +key_eic krmir kM T{ +挿入モードで rmir や smir が送出するデータ +T} +key_end kend @7 T{ +end キー +T} +key_enter kent @8 T{ +enter/send キー +T} +key_eol kel kE T{ +clear-to-end-of-line キー +T} +key_eos ked kS T{ +clear-to-end-of-screen キー +T} +key_exit kext @9 T{ +exit キー +T} +key_f0 kf0 k0 T{ +F0 ファンクションキー +T} +key_f1 kf1 k1 T{ +F1 ファンクションキー +T} +key_f10 kf10 k; T{ +F10 ファンクションキー +T} +key_f11 kf11 F1 T{ +F11 ファンクションキー +T} +key_f12 kf12 F2 T{ +F12 ファンクションキー +T} +key_f13 kf13 F3 T{ +F13 ファンクションキー +T} +key_f14 kf14 F4 T{ +F14 ファンクションキー +T} +key_f15 kf15 F5 T{ +F15 ファンクションキー +T} +key_f16 kf16 F6 T{ +F16 ファンクションキー +T} +key_f17 kf17 F7 T{ +F17 ファンクションキー +T} +key_f18 kf18 F8 T{ +F18 ファンクションキー +T} +key_f19 kf19 F9 T{ +F19 ファンクションキー +T} +key_f2 kf2 k2 T{ +F2 ファンクションキー +T} +key_f20 kf20 FA T{ +F20 ファンクションキー +T} +key_f21 kf21 FB T{ +F21 ファンクションキー +T} +key_f22 kf22 FC T{ +F22 ファンクションキー +T} +key_f23 kf23 FD T{ +F23 ファンクションキー +T} +key_f24 kf24 FE T{ +F24 ファンクションキー +T} +key_f25 kf25 FF T{ +F25 ファンクションキー +T} +key_f26 kf26 FG T{ +F26 ファンクションキー +T} +key_f27 kf27 FH T{ +F27 ファンクションキー +T} +key_f28 kf28 FI T{ +F28 ファンクションキー +T} +key_f29 kf29 FJ T{ +F29 ファンクションキー +T} +key_f3 kf3 k3 T{ +F3 ファンクションキー +T} +key_f30 kf30 FK T{ +F30 ファンクションキー +T} +key_f31 kf31 FL T{ +F31 ファンクションキー +T} +key_f32 kf32 FM T{ +F32 ファンクションキー +T} +key_f33 kf33 FN T{ +F33 ファンクションキー +T} +key_f34 kf34 FO T{ +F34 ファンクションキー +T} +key_f35 kf35 FP T{ +F35 ファンクションキー +T} +key_f36 kf36 FQ T{ +F36 ファンクションキー +T} +key_f37 kf37 FR T{ +F37 ファンクションキー +T} +key_f38 kf38 FS T{ +F38 ファンクションキー +T} +key_f39 kf39 FT T{ +F39 ファンクションキー +T} +key_f4 kf4 k4 T{ +F4 ファンクションキー +T} +key_f40 kf40 FU T{ +F40 ファンクションキー +T} +key_f41 kf41 FV T{ +F41 ファンクションキー +T} +key_f42 kf42 FW T{ +F42 ファンクションキー +T} +key_f43 kf43 FX T{ +F43 ファンクションキー +T} +key_f44 kf44 FY T{ +F44 ファンクションキー +T} +key_f45 kf45 FZ T{ +F45 ファンクションキー +T} +key_f46 kf46 Fa T{ +F46 ファンクションキー +T} +key_f47 kf47 Fb T{ +F47 ファンクションキー +T} +key_f48 kf48 Fc T{ +F48 ファンクションキー +T} +key_f49 kf49 Fd T{ +F49 ファンクションキー +T} +key_f5 kf5 k5 T{ +F5 ファンクションキー +T} +key_f50 kf50 Fe T{ +F50 ファンクションキー +T} +key_f51 kf51 Ff T{ +F51 ファンクションキー +T} +key_f52 kf52 Fg T{ +F52 ファンクションキー +T} +key_f53 kf53 Fh T{ +F53 ファンクションキー +T} +key_f54 kf54 Fi T{ +F54 ファンクションキー +T} +key_f55 kf55 Fj T{ +F55 ファンクションキー +T} +key_f56 kf56 Fk T{ +F56 ファンクションキー +T} +key_f57 kf57 Fl T{ +F57 ファンクションキー +T} +key_f58 kf58 Fm T{ +F58 ファンクションキー +T} +key_f59 kf59 Fn T{ +F59 ファンクションキー +T} +key_f6 kf6 k6 T{ +F6 ファンクションキー +T} +key_f60 kf60 Fo T{ +F60 ファンクションキー +T} +key_f61 kf61 Fp T{ +F61 ファンクションキー +T} +key_f62 kf62 Fq T{ +F62 ファンクションキー +T} +key_f63 kf63 Fr T{ +F63 ファンクションキー +T} +key_f7 kf7 k7 T{ +F7 ファンクションキー +T} +key_f8 kf8 k8 T{ +F8 ファンクションキー +T} +key_f9 kf9 k9 T{ +F9 ファンクションキー +T} +key_find kfnd @0 T{ +find キー +T} +key_help khlp %1 T{ +help キー +T} +key_home khome kh T{ +home キー +T} +key_ic kich1 kI T{ +insert-character キー +T} +key_il kil1 kA T{ +insert-line キー +T} +key_left kcub1 kl T{ +left-arrow キー +T} +key_ll kll kH T{ +lower-left キー (home down) +T} +key_mark kmrk %2 T{ +mark キー +T} +key_message kmsg %3 T{ +message キー +T} +key_move kmov %4 T{ +move キー +T} +key_next knxt %5 T{ +next キー +T} +key_npage knp kN T{ +next-page キー +T} +key_open kopn %6 T{ +open キー +T} +key_options kopt %7 T{ +options キー +T} +key_ppage kpp kP T{ +previous-page キー +T} +key_previous kprv %8 T{ +previous キー +T} +key_print kprt %9 T{ +print キー +T} +key_redo krdo %0 T{ +redo キー +T} +key_reference kref &1 T{ +reference キー +T} +key_refresh krfr &2 T{ +refresh キー +T} +key_replace krpl &3 T{ +replace キー +T} +key_restart krst &4 T{ +restart キー +T} +key_resume kres &5 T{ +resume キー +T} +key_right kcuf1 kr T{ +right-arrow キー +T} +key_save ksav &6 T{ +save キー +T} +key_sbeg kBEG &9 T{ +シフト状態の begin キー +T} +key_scancel kCAN &0 T{ +シフト状態の cancel キー +T} +key_scommand kCMD *1 T{ +シフト状態の command キー +T} +key_scopy kCPY *2 T{ +シフト状態の copy キー +T} +key_screate kCRT *3 T{ +シフト状態の create キー +T} +key_sdc kDC *4 T{ +シフト状態の delete-character キー +T} +key_sdl kDL *5 T{ +シフト状態の delete-line キー +T} +key_select kslt *6 T{ +select キー +T} +key_send kEND *7 T{ +シフト状態の end キー +T} +key_seol kEOL *8 T{ +シフト状態の clear-to-end-of-line キー +T} +key_sexit kEXT *9 T{ +シフト状態の exit キー +T} +key_sf kind kF T{ +scroll-forward キー +T} +key_sfind kFND *0 T{ +シフト状態の find キー +T} +key_shelp kHLP #1 T{ +シフト状態の help キー +T} +key_shome kHOM #2 T{ +シフト状態の home キー +T} +key_sic kIC #3 T{ +シフト状態の insert-character キー +T} +key_sleft kLFT #4 T{ +シフト状態の left-arrow キー +T} +key_smessage kMSG %a T{ +シフト状態の message キー +T} +key_smove kMOV %b T{ +シフト状態の move キー +T} +key_snext kNXT %c T{ +シフト状態の next キー +T} +key_soptions kOPT %d T{ +シフト状態の options キー +T} +key_sprevious kPRV %e T{ +シフト状態の previous キー +T} +key_sprint kPRT %f T{ +シフト状態の print キー +T} +key_sr kri kR T{ +scroll-backward キー +T} +key_sredo kRDO %g T{ +シフト状態の redo キー +T} +key_sreplace kRPL %h T{ +シフト状態の replace キー +T} +key_sright kRIT %i T{ +シフト状態の right-arrow キー +T} +key_srsume kRES %j T{ +シフト状態の resume キー +T} +key_ssave kSAV !1 T{ +シフト状態の save キー +T} +key_ssuspend kSPD !2 T{ +シフト状態の suspend キー +T} +key_stab khts kT T{ +set-tab キー +T} +key_sundo kUND !3 T{ +シフト状態の undo キー +T} +key_suspend kspd &7 T{ +suspend キー +T} +key_undo kund &8 T{ +undo キー +T} +key_up kcuu1 ku T{ +up-arrow キー +T} +keypad_local rmkx ke T{ +\&'keyboard_transmit' モードから抜ける +T} +keypad_xmit smkx ks T{ +\&'keyboard_transmit' モードに入る +T} +lab_f0 lf0 l0 T{ +f0 でない場合、ファンクションキー f0 のラベル +T} +lab_f1 lf1 l1 T{ +f1 でない場合、ファンクションキー f1 のラベル +T} +lab_f10 lf10 la T{ +f10 でない場合、ファンクションキー f10 のラベル +T} +lab_f2 lf2 l2 T{ +f2 でない場合、ファンクションキー f2 のラベル +T} +lab_f3 lf3 l3 T{ +f3 でない場合、ファンクションキー f3 のラベル +T} +lab_f4 lf4 l4 T{ +f4 でない場合、ファンクションキー f4 のラベル +T} +lab_f5 lf5 l5 T{ +f5 でない場合、ファンクションキー f5 のラベル +T} +lab_f6 lf6 l6 T{ +f6 でない場合、ファンクションキー f6 のラベル +T} +lab_f7 lf7 l7 T{ +f7 でない場合、ファンクションキー f7 のラベル +T} +lab_f8 lf8 l8 T{ +f8 でない場合、ファンクションキー f8 のラベル +T} +lab_f9 lf9 l9 T{ +f9 でない場合、ファンクションキー f9 のラベル +T} +label_format fln Lf T{ +ラベルフォーマット +T} +label_off rmln LF T{ +ソフトラベルオフ +T} +label_on smln LO T{ +ソフトラベルオン +T} +meta_off rmm mo T{ +メタモードオフ +T} +meta_on smm mm T{ +メタモードオン (8 番目のビットオン) +T} +micro_column_address mhpa ZY T{ +マイクロモードの column_address +T} +micro_down mcud1 ZZ T{ +マイクロモードの cursor_down +T} +micro_left mcub1 Za T{ +マイクロモードの cursor_left +T} +micro_right mcuf1 Zb T{ +マイクロモードの cursor_right +T} +micro_row_address mvpa Zc T{ +マイクロモードの row_address #1 +T} +micro_up mcuu1 Zd T{ +マイクロモードの cursor_up +T} +newline nel nw T{ +改行 (cr の後に lf が来る) +T} +order_of_pins porder Ze T{ +ソフトウェアビットを印字ヘッドピンに一致させる +T} +orig_colors oc oc T{ +すべての色ペアを本来のものにする +T} +orig_pair op op T{ +デフォルトのペアを本来の値にする +T} +pad_char pad pc T{ +パディング文字 (ヌル以外) +T} +parm_dch dch DC T{ +#1 文字を削除 (P*) +T} +parm_delete_line dl DL T{ +#1 行を削除 (P*) +T} +parm_down_cursor cud DO T{ +#1 行下へ (P*) +T} +parm_down_micro mcud Zf T{ +マイクロモードの parm_down_cursor +T} +parm_ich ich IC T{ +#1 文字を挿入 (P*) +T} +parm_index indn SF T{ +#1 行の前進スクロール (P) +T} +parm_insert_line il AL T{ +#1 行を挿入 (P*) +T} +parm_left_cursor cub LE T{ +左へ #1 文字分移動 (P) +T} +parm_left_micro mcub Zg T{ +マイクロモードの parm_left_cursor +T} +parm_right_cursor cuf RI T{ +右へ #1 文字分移動 (P*) +T} +parm_right_micro mcuf Zh T{ +マイクロモードの parm_right_cursor +T} +parm_rindex rin SR T{ +#1 行の後退スクロール (P) +T} +parm_up_cursor cuu UP T{ +#1 行上へ (P*) +T} +parm_up_micro mcuu Zi T{ +マイクロモードの parm_up_cursor +T} +pkey_key pfkey pk T{ +ファンクションキー #1 の打鍵文字列を #2 にする +T} +pkey_local pfloc pl T{ +ファンクションキー #1 の実行文字列を #2 にする +T} +pkey_xmit pfx px T{ +ファンクションキー #1 の送信文字列を #2 にする +T} +plab_norm pln pn T{ +ラベル #1 に文字列 #2 を表示 +T} +print_screen mc0 ps T{ +画面の内容を印字する +T} +prtr_non mc5p pO T{ +#1 バイトだけプリンタをオンにする +T} +prtr_off mc4 pf T{ +プリンタをオフにする +T} +prtr_on mc5 po T{ +プリンタをオンにする +T} +pulse pulse PU T{ +パルスダイアルを選択 +T} +quick_dial qdial QD T{ +確認なしで電話番号 #1 にダイアルする +T} +remove_clock rmclk RC T{ +時計を削除 +T} +repeat_char rep rp T{ +文字 #1 を #2 回繰り返す (P*) +T} +req_for_input rfi RF T{ +(pty 用に) 次の入力文字を送る +T} +reset_1string rs1 r1 T{ +リセット文字列 +T} +reset_2string rs2 r2 T{ +リセット文字列 +T} +reset_3string rs3 r3 T{ +リセット文字列 +T} +reset_file rf rf T{ +リセットファイルの名前 +T} +restore_cursor rc rc T{ +最後の save_cursor の位置にカーソルを戻す +T} +row_address vpa cv T{ +垂直絶対位置 #1 (P) +T} +save_cursor sc sc T{ +現在のカーソル位置を保存 (P) +T} +scroll_forward ind sf T{ +テキストを上にスクロール (P) +T} +scroll_reverse ri sr T{ +テキストを下にスクロール (P) +T} +select_char_set scs Zj T{ +文字セット #1 の選択 +T} +set_attributes sgr sa T{ +ビデオ属性を #1-#9 に定義 (PG9) +T} +set_background setb Sb T{ +背景色を #1 に設定 +T} +set_bottom_margin smgb Zk T{ +下マージンを現在行に設定 +T} +set_bottom_margin_parm smgbp Zl T{ +下マージンを #1 行目か (smgtp が与えられていなければ) 下から #2 行目にする +.\" Set bottom margin at line #1 or (if smgtp is not given) #2 lines from bottom +T} +set_clock sclk SC T{ +時計を #1 時 #2 分 #3 秒に設定 +T} +set_color_pair scp sp T{ +現在の色ペアを #1 に設定 +T} +set_foreground setf Sf T{ +前景色を #1 に設定 +T} +set_left_margin smgl ML T{ +左ソフトマージンを現在桁に設定 smgl を参照 (ML は BSD の termcap とは違います) +T} +set_left_margin_parm smglp Zm T{ +左 (右) マージンを桁 #1 に設定 +T} +set_right_margin smgr MR T{ +右ソフトマージンを現在桁に設定 +T} +set_right_margin_parm smgrp Zn T{ +右マージンを桁 #1 に設定 +T} +set_tab hts st T{ +全行のタブを現在の桁に設定 +T} +set_top_margin smgt Zo T{ +上マージンを現在行に設定 +T} +set_top_margin_parm smgtp Zp T{ +上 (下) マージンを行 #1 に設定 +T} +set_window wind wi T{ +現在のウィンドウを行 #1-#2、桁 #3-#4 とする +T} +start_bit_image sbim Zq T{ +ビットイメージグラフィック印字の開始 +T} +start_char_set_def scsd Zr T{ +#2 個の文字からなる文字セット #1 の定義の開始 +T} +stop_bit_image rbim Zs T{ +ビットイメージグラフィック印字の終了 +T} +stop_char_set_def rcsd Zt T{ +文字セット #1 の定義の終了 +T} +subscript_characters subcs Zu T{ +下付き文字となりうる文字のリスト +T} +superscript_characters supcs Zv T{ +上付き文字となりうる文字のリスト +T} +tab ht ta T{ +次の 8 文字分のハードウェアタブストップへのタブ文字 +T} +these_cause_cr docr Zw T{ +これらの文字のうちのいずれかの印字は CR を引き起こす +T} +to_status_line tsl ts T{ +ステータス行の列 #1 に移動 +T} +tone tone TO T{ +タッチトーンダイアルを選択 +T} +underline_char uc uc T{ +文字 1 つに下線を付け、次の文字に移動 +T} +up_half_line hu hu T{ +半行上へ +T} +user0 u0 u0 T{ +ユーザ文字列 #0 +T} +user1 u1 u1 T{ +ユーザ文字列 #1 +T} +user2 u2 u2 T{ +ユーザ文字列 #2 +T} +user3 u3 u3 T{ +ユーザ文字列 #3 +T} +user4 u4 u4 T{ +ユーザ文字列 #4 +T} +user5 u5 u5 T{ +ユーザ文字列 #5 +T} +user6 u6 u6 T{ +ユーザ文字列 #6 +T} +user7 u7 u7 T{ +ユーザ文字列 #7 +T} +user8 u8 u8 T{ +ユーザ文字列 #8 +T} +user9 u9 u9 T{ +ユーザ文字列 #9 +T} +wait_tone wait WA T{ +ダイアルトーンを待つ +T} +xoff_character xoffc XF T{ +XOFF 文字 +T} +xon_character xonc XN T{ +XON 文字 +T} +zero_motion zerom Zx T{ +次の文字表示を移動無しで行う +T} +.TE +.ad + +以下の文字列ケーパビリティは、SVr4.0 の term 構造体に存在していますが、 +マニュアルで未だに説明がなされていません。 + +.na +.TS H +center expand; +c l l c +c l l c +lw25 lw6 lw2 lw18. +\fBvariable cap- TCap 説明\fR +\fB文字列 name Code\fR +alt_scancode_esc scesa S8 T{ +スキャンコードエミュレーションのための別のエスケープ文字 +T} +bit_image_carriage_return bicr Yv T{ +同一行の先頭へ移動 +T} +bit_image_newline binel Zz T{ +ビットイメージの次の行に移動 +T} +bit_image_repeat birep Xy T{ +ビットイメージセル #1 を #2 回繰り返す +T} +char_set_names csnm Zy T{ +文字セットの名のリストから #1 番目の item を生成する +T} +.\" 2002/12/24 oh:item の意味不明 : Produce #1'th item from list of character set names +code_set_init csin ci T{ +複数コードセットの初期化シーケンス +T} +color_names colornm Yw T{ +色 #1 に名前を与える +T} +define_bit_image_region defbi Yx T{ +矩形のビットイメージ領域を定義 +T} +device_type devt dv T{ +言語/コードセットサポートの指定 +T} +display_pc_char dispc S1 T{ +PC 文字 #1 を表示 +T} +end_bit_image_region endbi Yy T{ +ビットイメージ領域の終了 +T} +enter_pc_charset_mode smpch S2 T{ +PC 文字表示モード開始 +T} +enter_scancode_mode smsc S4 T{ +PC スキャンコードモード開始 +T} +exit_pc_charset_mode rmpch S3 T{ +PC 文字表示モード終了 +T} +exit_scancode_mode rmsc S5 T{ +PC スキャンコードモード終了 +T} +get_mouse getm Gm T{ +curses がボタンイベントを取得すべき。パラメータ #1 は文書化されていない +T} +key_mouse kmous Km T{ +マウスイベントが起きた +T} +mouse_info minfo Mi T{ +マウス状態の情報 +T} +pc_term_options pctrm S6 T{ +PC 端末オプション +T} +pkey_plab pfxl xl T{ +ファンクションキー #1 に文字列 #2 を送信させ文字列 #3 を表示させる +T} +req_mouse_pos reqmp RQ T{ +マウス位置の要求 +T} +scancode_escape scesc S7 T{ +スキャンコードエミュレーションのためのエスケープ +T} +set0_des_seq s0ds s0 T{ +コードセット 0 にシフト (EUC セット 0、ASCII) +T} +set1_des_seq s1ds s1 T{ +コードセット 1 にシフト +T} +set2_des_seq s2ds s2 T{ +コードセット 2 にシフト +T} +set3_des_seq s3ds s3 T{ +コードセット 3 にシフト +T} +set_a_background setab AB T{ +ANSI エスケープシーケンスを使って背景色を #1 に設定 +T} +set_a_foreground setaf AF T{ +ANSI エスケープシーケンスを使って前景色を #1 に設定 +T} +set_color_band setcolor Yz T{ +リボンの色を #1 に変更 +T} +set_lr_margin smglr ML T{ +左右両マージンを #1、#2 に設定、(ML は BSD の termcap のものと違います) +T} +set_page_length slines YZ T{ +ページ長を #1 行に設定 +T} +set_tb_margin smgtb MT T{ +上下両マージンを #1、#2 に設定 +T} +.TE +.ad + +.in .8i +XSI Curses 規格では以下のものが追加されています。 それらは、例えば、 +Solaris 2.5 や IRIX 6.x など、4.1 以降のバージョンの System V の、 +curses のものです。 +それらの \fBncurses\fR termcap 名はでっちあげました。XSI Curses 規格に従うと、 +termcap 名はありません。コンパイルされた terminfo エントリがこれらを +使っていれば、SVr4.1 以降の System V terminfo エントリとは +バイナリ互換ではないかも知れません。用心してください! + +.na +.TS H +center expand; +c l l c +c l l c +lw25 lw6 lw2 lw20. +\fBvariable cap- TCap 説明\fR +\fB文字列 name Code\fR +enter_horizontal_hl_mode ehhlm Xh T{ +水平ハイライトモードに入る +T} +enter_left_hl_mode elhlm Xl T{ +左ハイライトモードに入る +T} +enter_low_hl_mode elohlm Xo T{ +下ハイライトモードに入る +T} +enter_right_hl_mode erhlm Xr T{ +右ハイライトモードに入る +T} +enter_top_hl_mode ethlm Xt T{ +上ハイライトモードに入る +T} +enter_vertical_hl_mode evhlm Xv T{ +垂直ハイライトモードに入る +T} +set_a_attributes sgr1 sA T{ +ビデオ属性の 2 番目の組を #1-#6 と定義 +T} +set_pglen_inch slength sL T{ +ページ長を 100分の #1 インチに設定 +T} +.TE +.ad +.\" $Id: terminfo.5,v 1.10 2004-02-19 14:49:59 horikawa Exp $ +.\" Beginning of terminfo.tail file +.ps +1 +.PP +.SS エントリの例 +.PP +以下のエントリは、ANSI 規格端末を記述したものですが、現代的な端末の +\fBterminfo\fR エントリが典型的にはどのようであるかを表しています。 +.PP +.nf +.in -2 +.ta .3i +.ft CW +\s-2ansi|ansi/pc-term compatible with color, + mc5i, + colors#8, ncv#3, pairs#64, + cub=\\E[%p1%dD, cud=\\E[%p1%dB, cuf=\\E[%p1%dC, + cuu=\\E[%p1%dA, dch=\\E[%p1%dP, dl=\\E[%p1%dM, + ech=\\E[%p1%dX, el1=\\E[1K, hpa=\\E[%p1%dG, ht=\\E[I, + ich=\\E[%p1%d@, il=\\E[%p1%dL, indn=\\E[%p1%dS, .indn=\\E[%p1%dT, + kbs=^H, kcbt=\\E[Z, kcub1=\\E[D, kcud1=\\E[B, + kcuf1=\\E[C, kcuu1=\\E[A, kf1=\\E[M, kf10=\\E[V, + kf11=\\E[W, kf12=\\E[X, kf2=\\E[N, kf3=\\E[O, kf4=\\E[P, + kf5=\\E[Q, kf6=\\E[R, kf7=\\E[S, kf8=\\E[T, kf9=\\E[U, + kich1=\\E[L, mc4=\\E[4i, mc5=\\E[5i, nel=\\r\\E[S, + op=\\E[37;40m, rep=%p1%c\\E[%p2%{1}%-%db, + rin=\\E[%p1%dT, s0ds=\\E(B, s1ds=\\E)B, s2ds=\\E*B, + s3ds=\\E+B, setab=\\E[4%p1%dm, setaf=\\E[3%p1%dm, + setb=\\E[4%?%p1%{1}%=%t4%e%p1%{3}%=%t6%e%p1%{4}%=%t1%e%p1%{6}%=%t3%e%p1%d%;m, + setf=\\E[3%?%p1%{1}%=%t4%e%p1%{3}%=%t6%e%p1%{4}%=%t1%e%p1%{6}%=%t3%e%p1%d%;m, + sgr=\\E[0;10%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p6%t;1%;%?%p7%t;8%;%?%p8%t;11%;%?%p9%t;12%;m, + sgr0=\\E[0;10m, tbc=\\E[2g, u6=\\E[%d;%dR, u7=\\E[6n, + u8=\\E[?%[;0123456789]c, u9=\\E[c, vpa=\\E[%p1%dd,\s+2 +.in +2 +.fi +.ft R +.PP +2 行目以後の行先頭に空白類文字を置くことで、 +エントリを複数行に分けて継続して書くことができます。 +行先頭に ``#'' を置くことでコメントを含めることができます。 +.I terminfo +のケーパビリティには、3 つの型があります。 +ブール値ケーパビリティは、その端末がある特性を有しているかどうかを表します。 +数値ケーパビリティは、その端末の大きさや、遅延の大きさを指定します。 +文字列ケーパビリティは、端末のある機能を実行させる際に用いるシーケンスを +指定します。 +.PP +.SS ケーパビリティの型 +.PP +すべてのケーパビリティには名前があります。例えば、ANSI 標準端末が +.I "自動マージン" +(つまり、行の端に到達すれば自動的に復帰改行がなされること) を有することは +ケーパビリティ \fBam\fR で表されます。 +よって ansi の記述は \fBam\fR を含みます。 +数値ケーパビリティの後には文字 `#' が続き、そして正の値が続きます。 +\fBcols\fR は、その端末の桁数を表しており、ansi では、 +この値は `80' であることを示します。 +数値ケーパビリティの値は、プログラミング言語 C の規約を使って 10 進数、 +8 進数、16 進数で与えることができます (例えば、255、0377、0xff、0xFF)。 +.PP +最後に、文字列ケーパビリティは、\fBel\fR (行末まで消去するシーケンス) などの +ように、2 文字のコードと、`=' と、その先の `,' までの間の文字列とで +表されます。 +.PP +文字列ケーパビリティの中で、文字のエンコードを簡単にするために、 +いくつかのエスケープシーケンスが利用できます。 +\fB\eE\fR と \fB\ee\fR はともに、\s-1ESCAPE\s0 文字にマップされます。 +\fB^x\fR は任意の適切な x に関して control-x にマップされます。 +\fB\en \el \er \et \eb \ef \es\fR はそれぞれ、改行、ラインフィード、復帰、 +タブ、バックスペース、フォームフィード、空白にマップされます。 +その他に、\fB\e^\fR は \fB^\fR に、 +\fB\e\e\fR は \fB\e\fR に、 +\fB\e\fR, はコンマに、 +\fB\e:\fR は \fB:\fR に、 +\fB\e0\fR はヌル文字にマップされます。 +(\fB\e0\fR は \e200 を生成します。これは文字列を終端しませんが、 +ほとんどの端末では CS7 が指定されているので、ヌル文字と同様の挙動を +示すからです。stty(1) を参照してください) +最後に、\fB\e\fR の後に 8 進 3 桁の数を指定して文字を表すこともできます。 +.PP +ミリ秒単位の遅延は、\fBel\fP=\eEK$<5> のように、文字列ケーパビリティの +どの場所でも $<..> のブラケットで囲んで置くことができます。 +この遅延を与えるためのパディングは、関数 +.I tputs +が行います。遅延は 1/10 の精度の数である必要があります。接尾辞 `*'、'/' +またはその両方がついているかもしれません。`*' はパディングをその処理で +影響を受ける行の行数に比例させる必要があること、そしてその総計は +影響を受ける 1 単位あたりの必要パディングにより決まることを表します。 +(文字挿入の場合、乗数は影響を受ける +.IR 行 +の数です) 通常、デバイスに \fBxon\fR ケーパビリティがあれば、パディングは +勧告的なものです。コスト計算には使われますが遅延を引き起こしません。 +`/' 接尾辞はパディングが必須のものであることを示し、フロー制御を示す +\fBxon\fR があるデバイスに対しても指定されたミリ秒単位の遅延を強制します。 +.PP +あるケーパビリティをコメントアウトせねばならない場合があります。 +そういう場合は、ケーパビリティ名の前にピリオドを置いてください。 +上の例の 2 番目の +.B ind +がその例です。 +.br +.ne 5 +.PP +.SS コンパイルされた記述の読み込み +.PP +環境変数 TERMINFO が設定されていれば、それは作業中の記述を +コンパイルしたものを含むディレクトリのパス名と解釈されます。 +そのディレクトリだけを探します。 +.PP +TERMINFO が設定されていなければ、\fBncurses\fR 版の terminfo 読み込みコードは +その代わりにディレクトリ \fB$HOME/.terminfo\fR からコンパイルされた記述を +探します。 +そこで見つけるのに失敗し、環境変数 TERMINFO_DIRS が設定されていれば、 +変数の内容をコロンで区切られた探すべきディレクトリのリストと解釈します +(空のエントリは \fI\*d\fR を探すコマンドとして解釈されます)。 +TERMINFO_DIRS ディレクトリのいずれにも記述が見つからなければ、読み込みは +失敗します。 +.PP +TERMINFO も TERMINFO_DIRS も設定されていなければ、最後に試みられる場所は +システムの terminfo ディレクトリ \fI\*d\fR です。 +.PP +(\fB$HOME/.terminfo\fR 探索も TERMINFO_DIRS 拡張も +標準の System V terminfo/curses ではサポートされていません。) +.PP +.SS 端末記述の準備 +.PP +ここでは、どのようにして端末の記述を準備するかの概略を説明します。 +もっとも効率的なやり方は、 +.I terminfo +の中にある類似の端末の記述をまねて作成することです。 +.I vi +などのスクリーンエディタに書き掛けの記述を使わせてみて、その記述が +正しいかどうかをチェックしながら、記述を徐々に作り上げてゆくことです。 +通常のものとあまりにもかけ離れた端末の場合、 +.I terminfo +ファイルの記述能力の欠陥、もしくはテストプログラムの画面操作のコードの +バグが明らかになるかも知れないので、それには注意してください。 +.PP +(端末メーカが文書に書いてくれていない場合に) 行の右挿入の際のパディングを +得るには、大きなファイルを 9600 ボーで編集し、画面の中ほどで 16 行程度を +削除してから、 `u' キーを数度すばやく連打するという厳しいテストを行 +うとよいでしょう。 +端末がぐちゃぐちゃになるのなら、普通は、もう少しパディングが必要だと +いうことです。文字挿入についても似たようなテストを行うことができます。 +.PP +.SS 基本的なケーパビリティ +.PP +端末の各行の桁数は数値型ケーパビリティ \fBcols\fR で指定します。 +端末が \s-1CRT\s0 の場合、画面の行数はケーパビリティ \fBlines\fR で +指定します。 +カーソルが右マージンに達したときに次の行の左端に回り込む場合、 +ケーパビリティ \fBam\fR を指定する必要があります。 +端末が、画面消去後カーソルをホームポジションにもってゆくことができる場合、 +その機能は文字列ケーパビリティ \fBclear\fR で指定します。 +端末が (ある文字を上に出力した時にその場所を消去するのではなく) +重ね打ちする場合、ケーパビリティ \fBos\fR を指定する必要があります。 +印字端末で、ソフトコピー装置を持たない場合、 +.B hc +と +.BR os +とを指定します。 +.RB ( os +は、ハードコピー端末や、APL 端末だけでなく、\s-1TEKTRONIX\s+1 4010 +シリーズのようなストレージスコープ管端末にも適用されます。) +現在の行の左端にカーソルを移動させるコードが存在する場合、それを +.BR cr +で指定します。 +(通常、これは復帰文字、つまり control M になります。) +可聴シグナル (ベル、ビープ音など) を生成するコードがある場合、それを +.BR bel +で指定します。 +.PP +カーソルを (バックスペースのように) 1 ポジションだけ左へ移動させる +コードがある場合、それは +.BR cub1 +で指定します。 +同様に、右への移動、上への移動、下への移動はそれぞれ、 +.BR cuf1 , +.BR cuu1 , +.BR cud1 +で指定します。 +これらの局所的カーソル移動機能は、通過する場所のテキストを変更するもので +あってはなりません。たとえば、空白文字はその下のテキストを消去してしまう +ため、普通は `\fBcuf1\fP=\ ' とは指定しません。 +.PP +ここで極めて重要なこととして、 +.I terminfo +にエンコードされた局所的カーソル移動は、\s-1CRT\s0 端末の左端および +上端では定義されないということです。 +プログラムは、 +.B bw +の指定がない限り、左端でバックスペースを出力しようとしてはいけません。 +また、画面上端で、上に移動しようとしてはいけません。 +テキストを上にスクロールするためには、プログラムは画面左下隅にカーソルを +移動させて、 +.B ind +(index) 文字列を送出してください。 +.PP +テキストを下にスクロールするには、プログラムは画面左上隅にカーソルを +移動させて、 +.B ri +(reverse index) 文字列を送出してください。 +文字列 +.B ind +と +.B ri +の挙動は、それぞれ先に述べた画面隅にカーソルがない場合には +定義されていません。 +.PP +スクロールシーケンスのパラメータ付きバージョンは、 +.B indn +と +.B rin +で、これらは、スクロールする行数を指定するパラメータを 1 つ取ることを除いては +.B ind +や +.B ri +と、同じ挙動を示します。 +これらも、カーソルが適切な画面端に存在しない場合の挙動は定義されません。 +.PP +ケーパビリティ \fBam\fR は、右端でテキストが出力されてもカーソルが +右端に留まり続けるかどうかを示します。ただし、この挙動は最終桁での +.B cuf1 +の挙動には必ずしも適用されません。 +左端からの局所的移動で定義されたものは、 +.B bw +が指定されている場合に、左端からの +.B cub1 +が 1 つ前の行の右端に移動するということだけです。 +.B bw +が指定されていない場合、この効果は定義されません。 +これは、例えば、画面の端に沿って箱を描くときに便利なものです。 +端末が自動マージン機能を切り替え可能な場合、 +.I terminfo +ファイルでは、通常はその機能はオン状態、つまり \fBam\fR であると想定します。 +端末が次の行の先頭桁に移動するコマンドを持つ場合、そのコマンドを +.B nel +(newline) で指定することができます。 +このコマンドが、現在行の残りの部分を消去するかどうかは関係ありません。 +ですから、端末が、 +.B cr +や +.B lf +を持たない場合でも、動作する +.B nel +を作ることは可能でしょう。 +.PP +これまで紹介したケーパビリティで、ハードコピー端末や、\*(lqガラスの tty\*(rq +端末を記述するには十分です。 +ここで、model 33 teletype は、 +.PP +.DT +.nf +.ft CW +.in -7 + \s-133\||\|tty33\||\|tty\||\|model 33 teletype, + bel=^G, cols#72, cr=^M, cud1=^J, hc, ind=^J, os,\s+1 +.in +7 +.ft R +.PP +と記述されます。一方、Lear Siegler 社の \s-1ADM\-3\s0 は、 +.PP +.DT +.nf +.ft CW +.in -7 + \s-1adm3\||\|3\||\|lsi adm3, + am, bel=^G, clear=^Z, cols#80, cr=^M, cub1=^H, cud1=^J, + ind=^J, lines#24,\s+1 +.in +7 +.ft R +.fi +.PP +と記述されます。 +.PP +.SS パラメータ化された文字列 +.PP +カーソル位置設定など、パラメータを必要とする文字列は、 +.IR printf (3S) +風のエスケープ \fB%x\fR を含むパラメータ化文字列ケーパビリティを用いて +記述します。 +例えば、カーソル位置を指定する +.B cup +ケーパビリティは、移動先の行と桁を指定する 2 つのパラメータを与える必要が +あります。 +(行と桁は 0 から数え、ユーザに見える物理画面を参照します。目に見えない +メモリ部分は参照しません。) +端末がメモリ相対のカーソル位置指定機能を持つ場合、これは +.BR mrcup +で表します。 +.PP +パラメータ渡し機構では、スタックと、それを操作する特別の \fB%\fP コードを +用います。通常は、シーケンスはパラメータを 1 つスタックにプッシュし、 +それをある形式で出力します。 +もっと複雑な操作が必要なこともしばしばあります。 +.PP +\fB%\fR コードには以下の意味があります。 +.PP +.DT +.nf +.ta .5i 1.5i + \s-1%% `%' を出力する + %\fI[[\fP:\fI]flags][width[.precision]][\fPdoxXs\fI]\fP + \fBprintf\fP でのように、フラグは [-+#] とスペース + %c printf() の %c のように、pop() を表示する + %s printf() の %s のように、pop() を表示する + + %p[1-9] \fIi\fP 番目のパラメータをプッシュする + %P[a-z] pop() を動的変数 [a-z] に設定する + %g[a-z] 動的変数 [a-z] をプッシュする + %P[A-Z] pop() を静的変数 [a-z] に設定する + %g[A-Z] 静的変数 [a-z] をプッシュする + %'\fIc\fP' 文字定数 \fIc\fP + %{\fInn\fP} 整数定数 \fInn\fP + %l strlen(pop) をプッシュする + + %+ %- %* %/ %m + 算術演算 (%m は剰余): push(pop() op pop()) + %& %| %^ ビット演算: push(pop() op pop()) + %= %> %< 論理演算: push(pop() op pop()) + %A, %O 論理 and 操作と論理 or 操作 (条件節用) + %! %~ 単項演算 push(op pop()) + %i 最初の 2 パラメータに 1 を足す (ANSI 端末用) + + %? expr %t thenpart %e elsepart %; + if-then-else, %e elsepart はオプション。 + else-if は Algol 68 風に指定可能: + %? c\d1\u %t b\d1\u %e c\d2\u %t b\d2\u %e c\d3\u %t b\d3\u %e c\d4\u %t b\d4\u %e %; +\s+1 c\di\u は条件節、b\di\u は本体。 +.fi +.PP +二項演算は、通常の順序で並べたオペランドに対して後置形式で指定します。 +例えば、x-5 を得るには、"%gx%{5}%-" を指定します。 +エスケープされた文字列を評価する間 %P 変数と %g 変数は存続します。 +.PP +HP2645 の例を考えてみましょう。これで 3 行 12 桁に移動させるには、 +\eE&a12c03Y に 6 ミリ秒のパディングを送出する必要があります。 +ここで行と桁とが逆になっていることと、 +行、桁とも 2 桁で出力されていることに注意してください。 +この端末の \fBcup\fR ケーパビリティは、\*(lqcup=6\eE&%p2%2dc%p1%2dY\*(rq +となります。 +.PP +Microterm \s-1ACT-IV\s0 は、\fB^T\fR の後に現在の行と桁を、 +どちらも単にバイナリ値で送る必要がありますが、 +\*(lqcup=^T%p1%c%p2%c\*(rq となります。 +\*(lq%c\*(rq を使う端末は、カーソルを前方に戻すこと (\fBcub1\fR) と +画面上で 1 行上にカーソルを移動させること (\fBcuu1\fR) ができる必要があります。 +これは、システムが変更したり握りつぶしたりする可能性があるため、 +\fB\en\fR, \fB^D\fR, \fB\er\fR を確実に送信できるとは限らないからです。 +(terminfo を扱うライブラリルーチンは、タブが決して展開されないように +端末モードを設定します。ですから \et は確実に送信できます。 +これは Ann Arbor 4080 では重要なことが分っています。) +.PP +最後の例は \s-1LSI ADM\s0-3a です。これは行と桁を空白文字からのオフセットで +表します。ですから、\*(lqcup=\eE=%p1%' '%+%c%p2%' '%+%c\*(rq となります。 +`\eE=' を送出した後、最初のパラメータをプッシュし、空白文字の ASCII 値 (32) を +プッシュし、それらを加えて (以前の 2 つの値の代わりにその和をスタックに +プッシュし) 得た値を文字として出力します。 +その後、2 番目のパラメータについても同様の処理を行います。 +スタックを使うことで、さらに複雑な計算も可能です。 +.PP +.SS カーソル移動 +.PP +カーソルを高速にホームポジション (画面の左上隅) に移動させる方法を持つ +端末の場合、これを \fBhome\fR で指定することができます。同様に、高速に +左下隅に移動させる方法を持つ場合も \fBll\fR で指定することができます。 +端末によっては、ホームポジションから \fBcuu1\fR を使って上に移動する +ことでこの動作が可能な場合もありますが、 +プログラムは (\fBll\fRでそう指定しない限り) 自分からそうしては +ならないことになっています。これは、ホームポジションから上に移動した +場合の動作について、プログラムは一切想定できないからです。 +ホームポジションは位置指定 (0,0)、つまり、メモリではなく、画面の左上隅と +等しいことに注意してください。 +(ですから、HP 端末の \eEH のシーケンスは +.BR home +として使用できません。) +.PP +端末が行や桁の絶対カーソル位置指定機能を持つ場合、単一パラメータを取る +ケーパビリティ +.B hpa +(水平絶対位置) と +.B vpa +(垂直絶対位置) で指定します。 +(hp2645 のような) 一般的な 2 パラメータのシーケンスよりもこれらの方が +短くなる場合がときどきあり、その場合、 +.BR cup +よりもそれらを使う可能性があります。 +パラメータ化された局所移動機能 (例えば、 +.I n +桁右へ移動する) が存在する場合、これらは、いくつ移動するかを指定する +パラメータを 1 つ持つ +.BR cud , +.BR cub , +.BR cuf , +.BR cuu +を使って指定することができます。 +これらは主に、\s-1TEKTRONIX\s+1 4025 のように端末が +.BR cup +を持たない場合に有益です。 +.PP +これらのケーパビリティを使用するプログラムを実行する際に、端末を +特殊なモードにする必要がある場合、このモードに入るコードと出るコードをそれぞれ +\fBsmcup\fR と \fBrmcup\fR で指定することができます。 +こういう事態が生じる場合として、例えば Concept のように、複数ページの +メモリを持つ端末があります。 +画面相対指定を持たず、メモリ相対のカーソル位置指定機能しか持たない +この端末の場合、画面の大きさのウィンドウ 1 枚を端末に固定で割り付け、 +カーソル位置指定を適切にできるようにしなければなりません。 +このケーパビリティは \s-1TEKTRONIX\s+1 4025 でも使用されています。 +こちらでは、 +.B smcup +で、terminfo で使用するコマンド文字を設定しています。 +\fBrmcup\fP シーケンス が出力された後に、\fBsmcup\fP シーケンスが画面を +(\fBrmcup\fP を出力する前の状態に) 回復しないならば、\fBnrrmc\fP を +指定してください。 +.PP +.SS 領域消去 +.PP +端末がカーソルを動かさずに、現在位置から行の末端まで消去可能である場合、 +これを \fBel\fR で指定すべきです。 +端末がカーソルを動かさずに、行の先頭から現在位置を含めて現在位置まで +消去可能である場合、これを \fBel1\fP で指定すべきです。 +端末が現在位置から画面の終りまでを消去可能な場合、これを \fBed\fR で +指定すべきです。 +\fBed\fR は行の第 1 桁から行う場合のみ定義されます。 +(ですから、まともな +.B ed +が利用できない場合でも、大量の行削除リクエストを使ってシミュレート可能です。) +.PP +.SS 行の挿入/削除と垂直移動 +.PP +カーソルのある行の前に空白行を新規につくることができる端末の場合、 +これを \fBil1\fR で指定すべきです。これは、行の先頭位置でのみ行われます。 +作成後、カーソルは新しくできた空白行に置かれる必要があります。 +端末がカーソルのある行を削除できる場合、これを \fBdl1\fR で指定すべきです。 +この機能は削除される行の先頭でのみ行われます。 +.B il1 +と +.B dl1 +の変種で、挿入/削除する行数を表すパラメータを 1 つ取るものは、 +.B il +と +.BR dl +とで指定できます。 +.PP +(vt100 のように) スクロール領域を設定可能な端末の場合、 +領域設定コマンドを +.B csr +ケーパビリティを用いて指定可能です。このケーパビリティは 2 つのパラメータ、 +スクロール領域の先頭行と最終行、を取ります。 +困ったことに、このコマンド実行後のカーソル位置は定義されません。 +.PP +適切な領域に +.B csr +を用いることで行の挿入/削除の効果を得ることが可能です。 +.B sc +と +.B rc +(カーソルの保存と回復) コマンドは、合成した挿入/削除文字列がカーソルを +動かさないことを保証するには有用でしょう。 +(\fBncurses\fR(3X) ライブラリは自動的にこの合成を行うので、 +\fBcsr\fR で挿入/削除文字列をエントリ用につくる必要はないことに +注意してください。) +.PP +挿入と削除を構成するもう 1 つの方法は、(HP-700/90 シリーズには挿入/削除は +ありますが、このシリーズのような) いくつかの端末にあるメモリロック機能と +index を組み合わせて使うことです。 +.PP +まともな行挿入/削除コマンドを持たない端末で、画面の最上端もしくは +最下端で行を挿入する場合、 +.B ri +もしくは +.B ind +を使って行うこともできます。まともな行挿入/削除コマンドを持つ場合でも、 +これらを使う方が速い場合が多いです。 +.PP +スクロールする各ウィンドウが実質的に画面大のキャンバス上のビューポートで +あるなら、ブール値 \fBnon_dest_scroll_region\fR を設定すべきです。 +このケーパビリティをテストするためには、画面の中央にスクロール領域をつくり、 +最下行に何かを書き、領域の一番上にカーソルを動かし、\fBri\fR を行った後 +\fBdl1\fR か \fBind\fR を行ってください。 +\fBri\fR で領域の下へとスクロールして消えたデータが、 +再び現れるなら、スクロールは非破壊的です。System V Curses と +XSI Curses は \fBind\fR, \fBri\fR, \fBindn\fR, \fBrin\fR が破壊的スクロールを +シミュレーションすることを期待します。 +これが本当でない限り \fBcsr\fR を定義しないようにと文書には注意書きがあります。 +この \fBcurses\fR の実装はより寛大で、\fBndstr\fR が定義されていれば +スクロールの後に明示的に消去を行います。 +.PP +メモリの一部に、すべてのコマンドが影響するウィンドウを定義することが +できる端末の場合、それは、パラメータ化文字列 +.BR wind +で指定すべきです。 +メモリ中での開始行、終了行、開始桁、終了桁を表す 4 パラメータは、 +この順番で与えます。 +.PP +上側の表示メモリを保持できる端末の場合、\fBda\fR ケーパビリティを +指定すべきです。下側の表示メモリを保持できる場合、\fBdb\fR を指定すべきです。 +これらは、行削除やスクロールにより、画面最下端に非空白行が上がってくること、 +および、\fBri\fR による逆スクロールにより非空白行が下がってくることを表します。 +.PP +.SS 文字の挿入/削除 +.PP +.I terminfo +で記述可能な文字の挿入/削除に関して、基本的には 2 種類の +インテリジェント端末があります。 +もっとも標準的な文字挿入/削除機能は、現在行の文字のみが影響を受け、 +シフトした文字は一体となって移動し行端で消えて行くものです。 +その他の端末、例えば Concept 100 や Perkin Elmer Owl のようなものの場合、 +表示出力された空白とそうでない空白との間に区別があります。挿入/削除に +ともなうシフトは画面上の表示出力されていない空白に対してのみ適用され、 +それぞれ空白の消滅、もしくは表示出力されていない空白 2 つになります。自分が +持っている端末がどちらのタイプかを調べるには、画面を消去してから、カーソル +移動を用いてテキストを 2 箇所に分けて出力します。\*(lqabc\*(rq と +\*(lqdef\*(rq の間に (空白文字でなく) 局所的カーソル移動を用いて +\*(lqabc\ \ \ \ def\*(rq を出力してください。 +その後、カーソルを \*(lqabc\*(rq の前に移動させ、端末を挿入モードにします。 +文字を打ち込むと、行の残りが一体となってシフトして行の端で文字がこぼれ +おちてゆくならば、この端末は表示出力された空白とそうでない空白を区別しません。 +\*(lqabc\*(rq がシフトして \*(lqdef\*(rq に当りその後はそれらが一緒に +行の端まで進み、次の行まで進むならば、この端末は 2 番目のタイプのもので +\*(lqinsert null\*(rq を表すケーパビリティ \fBin\fR を指定すべきです。 +論理的には、これらは別の属性 (挿入モードが 1 行か複数行か、および、 +表示出力されていない空白を特別扱いするか否か) ですが、挿入モードを +この属性 1 つで記述できない端末に、今までお目にかかったことはありません。 +.PP +terminfo では、挿入モードを持つ端末も、現在行の上で場所を空ける短い +シーケンスを送る端末も、両方とも記述することができます。 +挿入モードに入るシーケンスは \fBsmir\fR で指定してください。 +挿入モードから出るシーケンスは \fBrmir\fR で指定してください。 +挿入したい文字の直前に、あるシーケンスを送出する必要がある場合は +\fBich1\fR で指定してください。まともな挿入モードを持つ端末のほとんどでは、 +\fBich1\fR を指定することはないでしょう。 +一方、画面上で場所を空けるシーケンスを送る端末の場合は、 +\fBich1\fR を指定すべきです。 +.PP +両方持つ端末の場合、通常は \fBich1\fR よりも挿入モードの方が望ましいでしょう。 +技術的には、実際に両方を組み合わせて使用する必要がある場合以外は、両方同時に +指定すべきではありません。よって、両方あると curses を使わない +アプリケーションの中には混乱するものがあります。その兆候は、挿入を使った +更新の時に文字が二重になることです。この要求は現在では稀です。ほとんどの +\fBich\fR シーケンスはその前に smir を必要とはせず、 +ほとんどの smir 挿入モードは各文字の前に \fBich1\fR を必要とはしません。 +よって、新しい \fBcurses\fR は実際にこれが真実だと仮定し、 +\fBrmir\fR/\fBsmir\fR か \fBich\fR/\fBich1\fR のどちらか一方 (両方では +ありません) を適切なものとみなして利用します。もし、両方を必要とするほど +古い端末のエントリを、新しい curses で使うために書く必要があるなら、 +\fBich1\fR に \fBrmir\fR/\fBsmir\fR シーケンスを含めてください。 +.PP +挿入後のパディングが必要な場合、\fBip\fR (文字列オプション) に必要なミリ秒の +数を指定してください。その他のシーケンスで文字 1 文字を挿入後に送出する +必要のあるものを、いっしょに \fBip\fR で指定することもできます。 +「挿入モード」に入り、かつ挿入する文字ごとにあるコードを付けて +送出する必要のある端末の場合、 +.BR smir / rmir +と +.B ich1 +とを両方とも指定してください。そうすることで、それらが使われるようになります。 +.B ich +ケーパビリティはパラメータ +.IR n +1 つをとり、これは +.B ich1 +の動作を +.I n +回繰り返します。 +.PP +挿入モードでないとき、文字入力の間にパディングが必要なら、\fBrmp\fP に +ミリ秒のパディングの数を指定してください。 +.PP +挿入モードの途中で同じ行の文字を削除するために、カーソルを動かす必要がある +場合があります (例えば、挿入位置の後にタブがある場合)。挿入モードに +入ったままでカーソルを移動させることができる場合、このような場合の挿入を +高速に行うために、ケーパビリティ \fBmir\fR を指定することができます。 +\fBmir\fR を省略しても、影響を受けるのは速度のみです。 +端末によっては (有名な Datamedia のアレとか) 挿入モードの +動作方法の違いにより \fBmir\fR を指定してはいけないものがあります。 +.PP +最後に、文字 1 文字の削除用として +.B dch1 +を、 +.I n 文字 +削除用としてパラメータ +.IR n +1 つをとる +.B dch +を、そして \fBsmdc\fR と \fBrmdc\fR をそれぞれ削除モードに入る +シーケンスとそこから出るシーケンスとして与えることで +削除モード ( +.B dch1 +が動作するために、端末が入っていなければならないモード) を指定することが +できます。 +.PP +.I n +文字を削除する (カーソルを移動させずに空白を +.I n +個出力することと同等の処理) ためのコマンドは、パラメータを 1 つとる +.B ech +を使って指定することができます。 +.PP +.SS "ハイライト・下線・可視ベル" +.PP +端末が 1 つまたはそれ以上の表示属性を持つ場合、これらを表す方法として異なった +やり方がいくつかあります。 +エラーメッセージや他の種類の注意を引くメッセージに適した、十分コントラストが +高く目立つ形式から 1 つ、\f2強調モード\fR を選択すべきです。 +(選ぶなら、反転表示に半輝度を加えたもの、もしくは単に反転のみがよいでしょう。) +強調モードに入るシーケンス、出るシーケンスはそれぞれ \fBsmso\fR と +\fBrmso\fR で指定します。 +TVI 912 や Teleray 1061 のように、強調モードへの出入りにより画面に空白が +1 つ 2 つ残る場合、\fBxmc\fR を指定して空白がいくつ残るかを教えるべきです。 +.PP +下線引きを開始するコード、終了するコードは、それぞれ \fBsmul\fR と +\fBrmul\fR で指定します。 +Microterm Mime のように、現在位置の文字に下線を引き、空白 1 つ分 +カーソルを右に移動するコードを持つ端末の場合、そのコードを \fBuc\fR で +指定することができます。 +.PP +その他もろもろの強調モードに入るケーパビリティには、 +.B blink +(点滅) +.B bold +(太字もしくは更に明るい) +.B dim +(暗いもしくは半輝度) +.B invis +(空白もしくは見えないテキスト) +.B prot +(保護状態) +.B rev +(反転表示) +.B sgr0 +( +.I すべての +属性モードをオフにする) +.B smacs +(別の文字セットモードに入る) +and +.B rmacs +(別の文字セットモードから出る) が含まれます。 +これらのモードのどれか 1 つをオンにした場合に、他のモードがオフになる場合も +ありますし、ならない場合もあります。 +.PP +モードの任意の組み合わせを設定するシーケンスが存在する場合、それを +9 つのパラメータを持つ +.B sgr +(属性の設定) で指定します。 +パラメータのそれぞれは、0 か非 0 の値を取り、対応する属性がオンかオフかを +表します。 +9 つのパラメータとは、順に、強調、下線、反転表示、点滅、暗い表示、太字、 +空白、保護、別の文字セットです。 +必ずしもすべてのモードが +.BR sgr +によってサポートされている必要はありません。 +独立した属性コマンドが存在するものだけで構いません。 +.PP +例えば、DEC vt220 は以下のモードのほとんどをサポートします。 +.PP +.TS +center; +l c c +l c c +lw28 lw6 lw2 lw20. +\fBtparm パラメータ 属性 エスケープシーエンス\fP + +none なし \\E[0m +p1 強調 \\E[0;1;7m +p2 下線 \\E[0;4m +p3 反転表示 \\E[0;7m +p4 点滅 \\E[0;5m +p5 暗い表示 利用できません +p6 太字 \\E[0;1m +p7 不可視 \\E[0;8m +p8 保護 使われていません +p9 別の文字セット ^O (オフ) ^N (オン) +.TE +.PP +各モードが動作中かどうかを素早く決める方法がないので、 +エスケープシーケンスを動作中のモードをすべてオフにするもので始めます。 +強調は反転と太字の組合せでできています。 +保護モードはホストの消去から画面の文字を保護するので、sgr では普通は +使われませんが、vt220 端末には保護モードがあります。 +別の文字セットモードは、オフかオンかによって ^O または ^N であるという点で +異なります。 +全モードをオンにするシーケンスは \\E[0;1;4;5;7;8m^N です。 +.PP +いくつかのシーケンスは異なるモードに共通です。 +例えば、;7 は、p1 か p3 が真であるとき、すなわち強調か反転モードがオンのときに +出力されます。 +.PP +上のシーケンスを依存関係とあわせて余すところなく書くと次のようになります。 +.PP +.TS +center; +l c c +l c c +lw28 lw6 lw2 lw20. +\fBシーケンス 出力される場合 terminfo への翻訳\fP + +\\E[0 常に \\E[0 +;1 p1 または p6 のとき %?%p1%p6%|%t;1%; +;4 p2 のとき %?%p2%|%t;4%; +;5 p4 のとき %?%p4%|%t;5%; +;7 p1 または p3 のとき %?%p1%p3%|%t;7%; +;8 p7 のとき %?%p7%|%t;8%; +m 常に m +^N または ^O p9 が真なら ^N そうでなければ ^O %?%p9%t^N%e^O%; +.TE +.PP +これをすべて一緒に sgr シーケンスに詰め込むと次のようになります。 +.PP +.nf + sgr=\\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%; + %?%p4%t;5%;%?%p7%t;8%;m%?%p9%t\\016%e\\017%;, +.fi +.PP +sgr を設定したら、sgr0 も設定する必要があることを忘れないでください。 +.PP +「魔法のクッキー (magic cookie)」 +.RB ( xmc ) +を持つ端末では、モード設定シーケンスを受信すると特殊な「クッキー」とでも +呼ぶべきゴミを画面に残します。この端末では、モード設定シーケンスは、 +各文字に余分なビットを持たせるのではなく、表示アルゴリズムそのものに +影響を与えます。 +HP 2621 などのような端末では、次の行へ移動したり、カーソルの位置指定を +した際に強調モードから勝手に抜け出てしまいます。 +強調モードを用いるプログラムは、強調モードでの移動が安全であることを示す +.B msgr +ケーパビリティの指定が無い場合には、カーソルを移動させたり改行文字を +送出する前に強調モードから脱出すべきです。 +.PP +エラー発生を無音で (ベルの代わりに) 通知するため、画面をフラッシュさせる +方法が提供されている端末の場合、それを \fBflash\fR で指定できます。これは +カーソルを移動させてはなりません。 +.PP +カーソルが最下行にないときに通常の状態以上に見易くする (例えば、点滅しない +下線カーソルを、より見つけやすいブロックカーソルや点滅下線カーソルにする) +必要がある場合、そのシーケンスを +.BR cvvis +で指定してください。 +カーソルを完全に見えないようにする方法がある場合、それを +.BR civis +で指定してください。 +これらのモードの効果を打ち消すシーケンスとして、ケーパビリティ +.BR cnorm +を指定すべきです。 +.PP +たとえ重ね打ちでないとしても、(特殊なコードなしで) 下線文字を正しく +生成できる端末の場合、ケーパビリティ \fBul\fR を指定すべきです。 +文字を別の文字に重ね打ちすると両方の文字が画面に残るなら、ケーパビリティ +\fBos\fP を指定してください。 +重ね打ちが空白文字で消去可能な場合、\fBeo\fR を指定してそのことを明らかに +しておくべきです。 +.PP +.SS キーパッドとファンクションキー +.PP +キーを押すとコードを送出するキーパッドを持つ場合、 +そのキーパッドに関する情報を指定することができます。 +注意すべき点として、キーパッドが局所モードでしか動作しない端末 +(例えば、シフト状態でない HP 2621 のキーがこれに該当します) +を扱うことはできないことがあります。 +送信状態か非送信状態かを設定できるキーパッドの場合、それらのためのコードを +\fBsmkx\fR と \fBrmkx\fR とで指定することができます。 +これらの指定がない場合、キーパッドは常に送信状態として扱われます。 +左矢印、右矢印、上矢印、下矢印キー、home キーが送出するコードは、それぞれ +\fBkcub1, kcuf1, kcuu1, kcud1, khome\fR で指定できます。 +f0, f1, ..., f10 のようなファンクションキーがある場合、これらが送出する +コードは \fBkf0, kf1, ..., kf10\fR で指定できます。 +これらのキーが f0 から f10 までのデフォルトのラベル以外のラベルを持つ場合、 +このラベルを \fBlf0, lf1, ..., lf10\fR で指定できます。 +他の特殊キーが送出するコードは、以下のように指定できます。 +.B kll +(ホームダウン (home down))、 +.B kbs +(バックスペース (backspace))、 +.B ktbc +(全タブクリア (clear all tabs))、 +.B kctab +(この桁のタブストップをクリア)、 +.B kclr +(画面消去 (clear screen) キーまたは抹消 (erase) キー)、 +.B kdch1 +(文字削除 (delete character))、 +.B kdl1 +(行削除 (delete line))、 +.B krmir +(挿入モードから抜ける (exit insert mode))、 +.B kel +(行末までクリア)、 +.B ked +(画面の終りまでクリア)、 +.B kich1 +(文字挿入 (insert character) または挿入モードに入る (enter insert mode))、 +.B kil1 +(行挿入 (insert line))、 +.B knp +(次のページ (next page))、 +.B kpp +(前のページ (previous page))、 +.B kind +(前進スクロール (scroll forward) / 下降スクロール (scroll down))、 +.B kri +(後退スクロール (scroll backward) / 上昇スクロール (scroll up))、 +.B khts +(この桁にタブストップを設定)。 +.\" ×がうまく表示されないので \[mu] 使用 +更に、キーパッドが 4 つの矢印を含む 3 \[mu] 3 のキー配列を持つ場合、他の 5 つの +キーを +.BR ka1 , +.BR ka3 , +.BR kb2 , +.BR kc1 , +.BR kc3 . +で指定します。 +3 \[mu] 3 のカーソル移動キーパッドの効果が必要な場合、これらのキーが有用です。 +.PP +ファンクションキーにプログラムする文字列は、 +.BR pfkey , +.BR pfloc , +.BR pfx +で指定できます。 +画面のラベルの文字列は \fBpln\fP で指定すべきです。 +これらの文字列は、それぞれ 2 つの引数を取ります。 +プログラム対象のファンクションキー番号 (0 から 10 まで) と、 +そこにプログラムする文字列です。 +この範囲外のファンクションキー番号を使うと未定義のキーに対してプログラムして +しまうかもしれず、これは端末依存の動作となります。 +これらのケーパビリティの違いは以下の通りです。 +.B pfkey +を指定すると、そのキーを押すことは、ユーザが指定した文字列をタイプするのと +同じことになります。 +.B pfloc +では、端末内部で局所的にその文字列が実行されることになります。 +.B pfx +では、その文字列がコンピュータに送出されることになります。 +.PP +ケーパビリティ \fBnlab\fP, \fBlw\fP, \fBlh\fP はプログラム可能な画面のラベルの +数、幅、高さを定義します。 +ラベルをオン、オフするコマンドがあるなら、\fBsmln\fP と \fBrmln\fP に +指定してください。 +変更が見えるのを確実にするために、通常 \fBsmln\fP は 1 つ以上の +pln シーケンスの後で出力されます。 +.PP +.SS タブと初期化 +.PP +端末がハードウェアタブを持つ場合、次のタブストップまでカーソルを進める +コマンドを +.B ht +(通常は control I) で指定できます。 +前のタブストップまで左方向に進める「後退タブ」コマンドは、 +.BR cbt +で指定できます。 +端末が、タブが端末に送出されずにコンピュータ内部で空白に展開されるモードに +なっている場合、プログラムは、たとえ +.B ht +や +.B cbt +が存在しても、それらを使用しないという約束になっています。これは、 +ユーザがタブストップを正しく設定していない可能性があるためです。 +電源投入時に、 +.I n +個の空白ごとにハードウェアタブが初期化されている端末の場合、数値パラメータ +.B it +を指定します。これはタブとして設定される空白数を表します。 +通常、これは +.IR tset +コマンドが、ハードウェアタブ展開を使用するモード設定と、タブストップ設定とを +行うかどうかを決定するために使用します。 +タブストップ設定を不揮発性メモリに記憶できる端末の場合、terminfo での記述の +際に、タブストップは正しく設定されていることを想定して構いません。 +.PP +他のケーパビリティとして、 +.BR is1 , +.BR is2 , +.BR is3 +があり、これらは端末を初期化する文字列を指定します。また、 +.BR iprog +があり、これは端末初期化用として実行するプログラムのパス名を指定します。 +また、\fBif\fR があり、これは初期化文字列が長い場合、それを含むファイルの +名前を指定します。 +これらの文字列により、terminfo の残りの記述と矛盾なく動作するモードに +端末が設定されることが求められます。 +通常、ユーザがログインするたびに、 +.IR tput +プログラムの +.I init +オプションがこれらの文字列を端末に対して送出します。 +送出は以下の順序で行われます。 +プログラム +.BR iprog +を実行 ; +.BR is1 +を出力 ; +.BR is2 +を出力 ; +.BR mgc , +.BR smgl +と +.BR smgr +でマージンを設定 ; +.B tbc +と +.BR hts +でタブを設定 ; +ファイル +.BR if +を印字 ; +最後に +.BR is3 +を出力。 +.PP +初期化のほとんどは +.BR is2 +で行われます。 +共通のシーケンスを +.B is2 +に置き、特殊な場合を +.B is1 +と +.BR is3 +とに置くことで、文字列をそれぞれに複製して持たせなくても、 +特殊な端末モードを設定することができます。 +まったくわけのわからない状態から復帰するための、よりハード寄りの +リセットを行うためのシーケンスの組も同様に、 +.BR rs1 , +.BR rs2 , +.BR rf , +.BR rs3 +で指定することができます。これらは +.B is2 +と +.BR if +と良く似たシーケンスです。 +端末がハマったときに使うプログラムである、 +.IR reset +がこれらのシーケンスを出力します。 +コマンドを +.BR rs1 , +.BR rs2 , +.BR rs3 , +.B rf +に置くのは、普通、そのコマンドが画面にユーザを混乱させる効果を産み出し、 +かつ、ログインの際には必要ない場合に限ります。 +例えば、vt100 を 80 桁モードに設定するコマンドは、普通なら +.BR is2 +に含めるはずですが、 +このコマンドは画面に混乱させるゴミを作り出しますし、端末は既に 80 桁モードに +なっているのが普通ですので、このコマンドを含める必要ありません。 +.PP +タブストップの設定、クリアを行うコマンドがある場合、それらを +.B tbc +(全タブストップのクリア) +と +.B hts +(各行の現在桁にタブストップを設定) +に指定できます。 +タブ設定に関して、ここで説明したものより複雑なシーケンスが必要な場合、 +そのシーケンスを +.B is2 +や +.BR if +に置いても構いません。 +.SS 遅延とパディング +.PP +ハードコピー端末と (例えば、DEC VT100 を含む) 非常に古い CRT を含む、 +多くの古くて遅い端末は XON/XOFF ハンドシェークも DTR ハンドシェークも +サポートしません。特定のカーソルの移動とスクリーンの変更の後には、 +パディング文字が必要かもしれません。 +.PP +端末がフロー制御のための xon/xoff ハンドシェークを使用する場合 (すなわち、 +入力バッファが一杯に近くなると、ホストに自動的に ^S を送り返す場合)、 +.BR xon +を指定してください。 +このケーパビリティはパディングの送出を抑えます。実質的に速度に制限のない +メモリマップト形式のコンソールデバイスに対しても指定できます。 +ルーチンが相対的なコストに関してよりよい見積もりを立てることができるように、 +この場合でもパディング情報を指定すべきです。しかし、実際はパディング文字は +送信されません。 +.PP +\fBpb\fR (パディングボーレート) を指定することで、ボーレートが +\fBpb\fR の値より低い場合、パディングが抑えられます。 +エントリにパディングボーレートがなければ、 +パディングが送出されるかされないかは \fBxon\fR により完全に制御されます。 +.PP +ヌル (0) 文字以外のパディング文字を必要とする端末の場合、それを +\fBpad\fR で指定できます。 +.B pad +文字列の最初の文字のみが使用されます。 +.PP +.SS ステータス行 +端末には、通常のソフトウェアでは使用されない (それゆえ、端末の \fBlines\fR +ケーパビリティでは数に入らない) 余分な「ステータス行」を +持つものもあります。 +.PP +最も簡単な場合には、ステータス行はカーソル位置の指定は可能ですが、 +画面上のスクロール領域の一部ではないものです。 +初期化のときに 23 行のスクロール領域のある 24 行の VT100 と同じように、 +Heathkit H19 には、この種のステータス行があります。 +この状況は \fBhs\fR ケーパビリティで指定します。 +.PP +ステータス行に入るには特別なシーケンスを必要とする端末もあります。 +これはパラメータを 1 つとる文字列 \fBtsl\fR で表します。 +これはカーソルをステータス行の与えられた 0 桁に移動します。 +ケーパビリティ \fBfsl\fR で最後の \fBtsl\fR の前の主画面のカーソル位置に +戻る必要があります。そのために \fBtsl\fR と \fBfsl\fR の中に +\fBsc\fR (save cursor) と \fBrc\fR (restore cursor) の文字列の値を含める +必要があるかもしれません。 +.PP +ステータス行は通常、端末の幅と同じ幅だと仮定されています。これが +本当でないのなら、そのことを数値ケーパビリティ \fBwsl\fR で指定できます。 +.PP +ステータス行を消去したり削除するコマンドは \fBdsl\fR で指定できます。 +.PP +ブール値ケーパビリティ \fBeslok\fR は、ステータス行内でエスケープシーケンスや +タブ等が通常通り働くことを示します。 +.PP +\fBncurses\fR の実装はこれらのケーパビリティのどれもまだ利用していません。 +これらが重要になったらここに記述します。 +.PP +.SS 線画 +.PP +多くの端末には図を描くのに役に立つ別の文字セットがあります。 +terminfo と \fBcurses\fR は VT100 でサポートされている図形文字と +AT&T 4410v1 の文字のいくつかをサポートします。 +この別の文字セットは \fBacsc\fR ケーパビリティで設定されます。 +.PP +.TS H +center expand; +c l l c +c l l c +lw28 lw6 lw2 lw20. +.\".TH +\fBGlyph ACS Ascii VT100\fR +\fBName Name Default Name\fR +UK pound sign ACS_STERLING f } +arrow pointing down ACS_DARROW v . +arrow pointing left ACS_LARROW < , +arrow pointing right ACS_RARROW > + +arrow pointing up ACS_UARROW ^ - +board of squares ACS_BOARD # h +bullet ACS_BULLET o ~ +checker board (stipple) ACS_CKBOARD : a +degree symbol ACS_DEGREE \e f +diamond ACS_DIAMOND + ` +greater-than-or-equal-to ACS_GEQUAL > z +greek pi ACS_PI * { +horizontal line ACS_HLINE - q +lantern symbol ACS_LANTERN # i +large plus or crossover ACS_PLUS + n +less-than-or-equal-to ACS_LEQUAL < y +lower left corner ACS_LLCORNER + m +lower right corner ACS_LRCORNER + j +not-equal ACS_NEQUAL ! | +plus/minus ACS_PLMINUS # g +scan line 1 ACS_S1 ~ o +scan line 3 ACS_S3 - p +scan line 7 ACS_S7 - r +scan line 9 ACS_S9 \&_ s +solid square block ACS_BLOCK # 0 +tee pointing down ACS_TTEE + w +tee pointing left ACS_RTEE + u +tee pointing right ACS_LTEE + t +tee pointing up ACS_BTEE + v +upper left corner ACS_ULCORNER + l +upper right corner ACS_URCORNER + k +vertical line ACS_VLINE | x +.TE +.PP +新しいデバイスの図形セットを定義するのに一番よい方法は、この表のその端末用の +コピーに列を追加し、対応する図形のところに (\fBsmacs\fR/\fBrmacs\fR スイッチの +間に送出される場合に) 送出される文字を与えることです。それから VT100 と +その端末の文字を右から左に順に読み上げてください。 +これが ACSC 文字列になります。 +.PP +.SS 色の扱い +.PP +ほとんどのカラー端末は `Tektronix 風' か `HP 風' のどちらかです。Tektronix 風 +端末には、あらかじめ定義された N 色 (N は通常 8 です) の組があり、 +文字セル毎に独立に前景色と背景色を設定して、N * N の色ペアにできます。 +HP 風端末では、色ペアをそれぞれ別々に設定する必要があります (前景と背景は +独立には設定できません)。 +2*M の異なった色からは M までの色ペアができます。ANSI-互換端末は Tektronix 風 +です。 +.PP +いくつかの基本的な色に関するケーパビリティは色の扱い方とは独立です。数値 +ケーパビリティ \fBcolors\fR と \fBpairs\fR には、同時に表示できる色または +色ペアの最大数を指定します。\fBop\fR (original pair) 文字列は前景色と背景色を +端末の規定値にリセットします。\fBoc\fR 文字列はすべての色または色ペアを +端末の規定値にリセットします。(多くの PC 端末エミュレータを含む) +いくつかの端末では、電源投入時の背景色ではなく、現在の背景色で +画面領域を消去します。この場合にはブール値ケーパビリティ \fBbce\fR を +指定すべきです。 +.PP +Tektronix 型の端末で現在の前景色と背景色を変えるためには、 +\fBsetaf\fR (set ANSI foreground) と \fBsetab\fR (set ANSI background) を +使うか、\fBsetf\fR (set foreground) と \fBsetb\fR (set background) を +使ってください。 +これらは 1 つのパラメータ、色番号をとります。SVr4 の文書には +\fBsetaf\fR/\fBsetab\fR だけが書かれています。XPG4 の草案には、 +「端末が背景と前景を設定する ANSI エスケープシーケンスをサポートするなら、 +それぞれ \fBsetaf\fR と \fBsetab\fR で指定すべきです。 +端末が背景と前景を設定する別のエスケープシーケンスをサポートするなら、 +それぞれ \fBsetf\fR と \fBsetb\fR で指定すべきです。\fIvidputs()\fR +関数と refresh 関数 は、定義されていれば \fBsetaf\fR と \fBsetab\fR を +使います。」と書かれています。 +.PP +\fBsetaf\fR/\fBsetab\fR と \fBsetf\fR/\fBsetb\fR ケーパビリティはそれぞれ +数値引数を 1 つとります。引数値 0-7 は移植できるよう以下のように定義されて +います (中央の列は \fBcurses\fR や \fBncurses\fR ライブラリ用にヘッダで +利用できる記号の #define です)。端末のハードウェアはこれを好きなように +マップするのは自由ですが、RGB 値は色空間での通常の位置を示しています。 +.PP +.TS H +center; +l c c c +l l n l. +\fB色 #define 値 RGB\fR +黒 \fBCOLOR_BLACK\fR 0 0, 0, 0 +赤 \fBCOLOR_RED\ \fR 1 max,0,0 +緑 \fBCOLOR_GREEN\fR 2 0,max,0 +黄 \fBCOLOR_YELLOW\fR 3 max,max,0 +青 \fBCOLOR_BLUE\fR 4 0,0,max +マゼンタ \fBCOLOR_MAGENTA\fR 5 max,0,max +シアン \fBCOLOR_CYAN\fR 6 0,max,max +白 \fBCOLOR_WHITE\fR 7 max,max,max +.TE +.PP +HP 風の端末では、どの色ペアが現在のものかを設定する色ペア番号パラメータを +ともなった \fBscp\fR を使ってください。 +.PP +Tektronix 風の端末では、色が変更できることを示すためにケーパビリティ +\fBccc\fR があります。もしそうであれば、 +\fBinitc\fR ケーパビリティは色数 (0 から \fBcolors\fR - 1) と +色を記述する 3 つのパラメータをとります。この 3 つのパラメータは、デフォルトでは +RGB (Red, Green, Blue) 値と解釈されます。ブール値ケーパビリティ \fBhls\fR が +あれば、代わりに HLS (Hue, Lightness, Saturation) 指標になります。 +範囲は端末に依存します。 +.PP +HP 風の端末では、\fBinitp\fR が色ペア値を変更するケーパビリティを与えます。 +パラメータを 7 つとります。色ペア番号 (0 から \fBmax_pairs\fR - 1 まで) と +3 つの数の組が 2 つです。最初の組で背景色を、2 番目の組で前景色を記述します。 +これらのパラメータは \fBhls\fR に依存して (Red, Green, Blue) か +(Hue, Lightness, Saturation) である必要があります。 +.PP +カラー端末のいくつかでは、色はハイライトと衝突します。 +この衝突を \fBncv\fR ケーパビリティで登録できます。 +これは、色が利用可能なときに使うことができない属性のビットマスクです。 +\fBcurses\fR が理解する属性との対応は以下の通りです。 +.PP +.TS +center; +l c c +lw25 lw2 lw10. +\fB属性 ビット 10 進数\fR +A_STANDOUT 0 1 +A_UNDERLINE 1 2 +A_REVERSE 2 4 +A_BLINK 3 8 +A_DIM 4 16 +A_BOLD 5 32 +A_INVIS 6 64 +A_PROTECT 7 128 +A_ALTCHARSET 8 256 +.TE +.PP +例えば、多くの IBM PC コンソールで、下線の属性は前景色、青と衝突してしまい、 +カラーモードでは利用できません。これは、\fBncv\fR ケーパビリティに 2 を +指定すべきです。 +.PP +SVr4 curses は \fBncv\fR では何もしませんが、 +ncurses はそれを認識してカラー用に出力を最適化します。 +.PP +.SS その他 +ヌル (0) 文字以外のパディング文字を必要とする端末の場合、それを pad で +指定することができます。 +pad 文字列の最初の文字のみが使用されます。 +パディング文字を持たない端末の場合、npc を指定してください。 +ncurses は termcap 互換の \fBPC\fR 変数を実装していることに注意してください。 +アプリケーションはこの値をナル以外のものに設定するかもしれませんが、 +ncurses は最初に \fBnpc\fR をテストし、端末にパディング文字がなければ +napms を使います。 +.PP +端末が半行だけ上下移動できる場合、それを +.B hu +(半行上へ) +と +.B hd +(半行下へ) +とで指定できます。 +これは、主として、ハードコピー端末の上付き文字、下付き文字のために役に +立ちます。 +ハードコピー端末が用紙を排出し次のページに行くこと (フォームフィード) が +できる場合、それを +.B ff +(通常は control L) で指定します。 +.PP +(同じ文字を極めて多数回繰り返し送信する際の時間節約のため) 指定した文字を +指定した回数だけ繰り返すコマンドが存在する場合、パラメータ化文字列 +.BR rep +を用いてそれを指定することができます。 +1 番目のパラメータは繰り返される文字で、2 番目のパラメータは繰り返し回数です。 +ですから、tparm(repeat_char, 'x', 10) は `xxxxxxxxxx' と同じことです。 +.PP +\s-1TEKTRONIX\s+1 4025 のように、コマンド文字を設定可能な端末の場合、 +.BR cmdch +を用いてそれを表すことができます。 +すべてのケーパビリティで使用されるプロトタイプコマンド文字を指定できます。 +この文字は +.B cmdch +ケーパビリティで指定され、それが識別されます。 +いくつかの UNIX システムでは以下の約束にしたがって処理がなされます。 +すなわち、まず環境変数 +.B CC +を検査し、それが設定されている場合は、ケーパビリティ中にあるプロトタイプ +文字のすべてがその環境変数で指定された文字と置き換えられます。 +.PP +.IR switch , +.IR dialup , +.IR patch , +.IR network +などのような、特定の端末の種類を表さない端末記述には、プログラムが +その端末とどう通信すればよいかが分からないと表明できるようにするため、 +.B gn +(一般的) ケーパビリティを指定すべきです。 +(このケーパビリティは、エスケープシーケンスがわかっている +.I 仮想 +端末の記述には適用されません。) +.PP +端末が、シフトキーとして動作し、文字すべての 8 ビット目を立てて送出する +「メタキー」を持つ場合、このことを +.BR km +により表すことができます。 +この指定がない場合、ソフトウェアは、8 ビット目はパリティで、通常は +クリアされていると想定します。 +この「メタモード」をオンオフする文字列が存在する場合、それを +.B smm +と +.BR rmm +とで指定できます。 +.PP +端末が画面 1 枚分より多い行数のメモリを持つ場合、メモリの行数を +.BR lm +で指定できます。 +値 +.BR lm #0 +は、行数は固定でないものの、1 画面分以上のメモリを持つことを表します。 +.PP +端末が \s-1UNIX\s+1 の仮想端末プロトコルをサポートしている場合、 +その端末番号を +.BR vt +で指定できます。 +.PP +端末に接続された外部プリンタを制御するメディアコピー文字列は、次のように +指定できます。すなわち、 +.BR mc0 : +画面内容の印字、 +.BR mc4 : +プリンタオフ、 +.BR mc5 : +プリンタオンです。 +プリンタがオンのとき、端末に送出されたテキストはすべてプリンタに送られます。 +プリンタがオンの状態でもなお端末にテキストが表示されるか否かは未定義です。 +変種である +.B mc5p +はパラメータを 1 つ取り、そのパラメータの値だけの文字を送る間プリンタを +オンにし続け、そのあとオフにします。 +このパラメータは 255 を越えてはなりません。 +.BR mc4 +を含むすべてのテキストは、 +.B mc5p +が有効な間、透過的にプリンタに渡されます。 +.PP +.SS ゴミ機能、困った機能 (Glitches and Braindamage) +.PP +Hazeltine 端末は `~' 文字を表示できません。これには \fBhz\fR を指定すべきです。 +.PP +Concept や vt100 のように \fBam\fR 直後の改行文字を無視する端末の場合、 +\fBxenl\fR を指定すべきです。 +.PP +強調表示を取り除くために (単に通常のテキストを上に書くだけでは済まず) +.B el +が必要な場合、 +\fBxhp\fP を指定すべきです。 +.PP +Teleray 端末は、タブでカーソル移動した下にあった文字をすべて空白にして +しまうので、この端末では \fBxt\fR (破壊的なタブ) を指定すべきです。 +注 : これに対応する変数は、現在は `dest_tabs_magic_smso' ですが、 +以前のバージョンでは、teleray_glitch でした。 +このふざけた機能は、``magic cookie''(魔法のクッキー) の +先頭にカーソルを置けないことと、 +強調モードを消去するために、行削除と行挿入が必要であることも意味します。 +ncurses の実装はこの glitch を無視します。 +.PP +Beehive の Superbee 端末は、エスケープ文字や control C 文字を正しく +送信できません。これには +.BR xsb +を指定し、f1 キーをエスケープとし、f2 キーを control C として使用することを +表します。 +(この問題が現れるのは特定の Superbee に限られ、その ROM に依存します。) +terminfo の古いバージョンでは、このケーパビリティは `beehive_glitch' と +呼ばれていましたが、現在では `no_esc_ctl_c' と呼ばれていることに +注意してください。 +.PP +なにか特定の端末に固有の他の問題を解決したい場合、\fBx\fR\fIx\fR の形式で +新しいケーパビリティを追加して使っても構いません。 +.PP +.SS よく似た端末 +.PP +2 つの非常によく似た端末がある場合、いくつかの例外を除いて +一方 (変型種) は他方 (基本種) と似ているという定義を行うことができます。 +変型種の定義においては、 +文字列ケーパビリティ \fBuse\fR で、基本種の端末の名前を +指定できます。 +.B use +の指定より前に与えたケーパビリティは、 +.BR use +により得られる基本タイプの中のケーパビリティに優先します。 +複数の \fBuse\fR ケーパビリティが存在する場合、逆の順番でマージされます。 +すなわち、一番右側の \fBuse\fR の参照先が最初に処理され、 +次にその左が処理されるといった順番になります。 +エントリ中で明示的に指定されたケーパビリティは、 +\fBuse\fR の参照先が与えるケーパビリティに優先します。 +.PP +ケーパビリティ定義の左側に \fBxx@\fR を置くことにより、そのケーパビリティを +キャンセルできます。ここで xx はそのケーパビリティです。 +例えば、エントリ +.PP + 2621-nl, smkx@, rmkx@, use=2621, +.PP +は \fBsmkx\fR も \fBrmkx\fR も持たない 2621-nl を定義します。 +それゆえ、この端末はビジュアルモードでは +ファンクションキーラベルをオンにしません。 +この機能はある端末の種々の機能や、ユーザの種々の設定を表す際に有用です。 +.PP +.SS 長いエントリの落とし穴 +.PP +長い terminfo のエントリは問題になりそうにありません。現在まで terminfo の +文字列表の最大値 4K に達したエントリはないのです。不幸なことに termcap への +翻訳はずっと厳しく制限されている (1K まで) ので、長い terminfo エントリの +termcap への翻訳は問題を引き起こすかも知れません。 +.PP +4.3BSD および、より古いバージョンの tgetent() のマニュアルには、 +termcap エントリ用に 1K のバッファを割り当てるように書いてあります。 +エントリは termcap ライブラリによりヌル文字で終了させられるので、 +termcap エントリとして安全な最大の長さは 1k-1 (1023) バイトです。 +アプリケーションと使用する termcap ライブラリが何をするか、 +また、tgetent() が探しているタイプの端末が termcap ファイルの +どこにあるかによって、悪いことがいくつか起こるかも知れません。 +.PP +termcap ライブラリの中には、1023 バイトより長いエントリを見つけると +警告のメッセージを表示したり、終了したりするものもありますし、 +そうでないものもあります。そうでないものはエントリを切捨てて 1023 バイトに +してしまいます。アプリケーションプログラムの中には termcap エントリに +推奨された 1K より多く割り当てるものもありますし、そうでないものもあります。 +.PP +各 termcap エントリにはそれに関係する重要な大きさが 2 つあります。 +"tc" 展開前と "tc" 展開後です。"tc" は、現在のエントリの最後に +他の termcap エントリを付け足し、そのケーパビリティを追加する +ケーパビリティです。termcap エントリが "tc" ケーパビリティを +使わないならば、もちろん 2 つの長さは同じです。 +.PP +特殊な端末のユーザ以外にも影響するので、「tc 展開前」の長さは最も +重要なものです。これは /etc/termcap にあるエントリからバックスラッシュと +改行の組を引いたものの長さです。バックスラッシュと改行の組は tgetent() が +読み込む間に取り除きます。 +termcap ライブラリの中には最後の改行を取り除くものもあります +(GNU termcap は行いません)。 +次のように仮定します。 +.TP 5 +* +展開前の termcap エントリは 1023 バイト以上の長さです。 +.TP 5 +* +アプリケーションは 1k のバッファを割り当てただけです。 +.TP 5 +* +(BSD/OS 1.1 や GNU のもののように) termcap ライブラリは、 +それが必要なエントリであれば、その長さに関わらず、 +読むためにエントリをすべてバッファに読み込みます。 +.TP 5 +* +tgetent() は長いエントリの端末タイプか、長いエントリの後に termcap ファイルに +現れる端末タイプか、ファイルには全く現れない (そのため tgetent() は +termcap ファイル全体を探す必要があります) 端末タイプを探しています。 +.PP +すると、tgetent() はメモリ、おそらくはスタックに重ね書きし、たぶんプログラムを +コアダンプさせるでしょう。telnet のようなプログラムは特に弱いです。 +現代的な telnet は端末タイプのような値を自動的に通してしまいます。 +SunOS 4.1.3 や Ultrix 4.4 のように、過度に長い termcap エントリを +読んだときには警告メッセージを表示する termcap ライブラリでも、結果は +望ましいものではありません。OSF/1 3.0 のように termcap ライブラリが +長いエントリを切り捨てるなら、ここで死ぬことはありませんが、 +端末に対して不正確なデータを返すことになるでしょう。 +.PP +「tc 展開後」の長さは上と同じように影響するでしょうが、 +影響を受けるのは TERM をその端末タイプに実際に設定した人だけです。 +tgetent() は探している時ではなく、探していた端末タイプを見つけた時に +一度だけ "tc" 展開を行うからです。 +.PP +結局、1023 バイトより長い termcap エントリ は、termcap ライブラリと +アプリケーションのさまざまな組合せで、コアダンプや警告や不正確な操作を +引き起こすかもしれません。"tc" 展開前でも長過ぎるなら、他の端末タイプの +ユーザや termcap エントリのない TERM 変数を指定しているユーザにも +影響するでしょう。 +.PP +-C (termcap へ翻訳) モードでは、\fBtic\fR(1) の \fBncurses\fR の +実装は tc 前の termcap へ翻訳する長さが長過ぎる場合、警告メッセージを出します。 +-c (check) オプションは、分析された (tc 展開後の) 長さもチェックします。 +.SS バイナリ互換性 +商用の UNIX の間のバイナリの terminfo エントリの移植性に期待するのは +賢明ではありません。問題は terminfo に (HP-UX と AIX で) 少なくとも 2 つの +バージョンがあるからです。どちらも SVr1 の後で System V の terminfo から +分岐したもので、文字列表に System V や XSI Curses 拡張と +(バイナリフォーマットで) 衝突する拡張ケーパビリティを追加しています。 +.SH 拡張 +SVr4 の \fBcurses\fR の実装のいくつかと SVr4 以前のものすべては +パラメータ文字列内の %A 演算子と %O 演算子を解釈しません。 +.PP +SVr4/XPG4 は、別の文字セットモードで \fBmsgr\fR がカーソルの移動を許可するか +どうかを指定しません (そのようなモードは、数ある中でも CR と NL を +局所的な移動を引き起こさない文字に写してしまうかも知れません)。 +\fBncurses\fR の実装は \fBALTCHARSET\fR モードでは \fBmsgr\fR を無視します。 +このため、反対の解釈をする XPG4 の実装では、\fBncurses\fR 用に作られた +terminfo エントリの \fBmsgr\fR をオフにする必要があるかも知れません。 +.PP +\fBncurses\fR ライブラリは、更新の効率を上げるために少し非標準的な方法で +文字挿入と文字挿入モードを扱います。上記の \fB文字の挿入/削除\fR の副節を +参照してください。 +.PP +\fBset_clock\fR と \fBdisplay_clock\fR のパラメータ置換は SVr4 でも +XSI Curses 規格でも説明されていません。AT&T 505 端末の説明書から +推測したものです。 +.PP +\fBkmous\fR ケーパビリティの割り当てには注意してください。\fBncurses\fR は +\fBKEY_MOUSE\fR として解釈しようとし、xterm のような +キーボード入力ストリーム中でマウストラック情報を返すことのできる端末や +エミュレータが使用します。 +.PP +異なる商用の terminfo と curses はそれぞれ異なる XSI Curses 標準の一部と +(いくつかの場合) 異なった拡張をサポートします。以下は +1995 年 10 月時点での正確な要約です。 +.PP +\fBSVR4, Solaris, ncurses\fR -- +SVr4 ケーパビリティをすべてサポートします。 +.PP +\fBSGI\fR -- +SVr4 すべてと説明のない拡張文字列ケーパビリティ 1 つ (\fBset_pglen\fR) を +サポートします。 +.PP +\fBSVr1, Ultrix\fR -- +terminfo ケーパビリティの制限された一部をサポートします。 +ブール値は \fBxon_xoff\fR で、数値は \fBwidth_status_line\fR で、 +文字列は \fBprtr_non\fR で終わりです。 +.PP +\fBHP/UX\fR -- +SVr1 の一部と、SVr[234] の数値 \fBnum_labels\fR, \fBlabel_height\fR, +\fBlabel_width\fR と、ファンクションキー 11 から 63 までと、 +\fBplab_norm\fR, \fBlabel_on\fR, \fBlabel_off\fR と、文字列表の非互換な拡張を +いくつかサポートします。 +.PP +\fBAIX\fR -- +SVr1 の一部と、ファンクションキー 11 から 63 までと、たくさんの +非互換な文字列表拡張をサポートします。 +.PP +\fBOSF\fR -- +SVr4 全部と AIX 拡張の両方をサポートします。 +.SH 関連ファイル +.TP 25 +\*d/?/* +端末記述を含むファイル +.SH 関連項目 +\fBtic\fR(1M), \fBcurses\fR(3X), \fBprintf\fR(3S), \fBterm\fR(\*n). +.SH 作者 +Zeyd M. Ben-Halim, Eric S. Raymond, Thomas E. Dickey. +Pavel Curtis による pcurses に基づいています。 +.\"# +.\"# The following sets edit modes for GNU EMACS +.\"# Local Variables: +.\"# mode:nroff +.\"# fill-column:79 +.\"# End: diff --git a/documentation/manual-pages/ja/man5/ttys.5 b/documentation/manual-pages/ja/man5/ttys.5 new file mode 100644 index 0000000000..14de93561c --- /dev/null +++ b/documentation/manual-pages/ja/man5/ttys.5 @@ -0,0 +1,178 @@ +.\" Copyright (c) 1985, 1991, 1993 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. All advertising materials mentioning features or use of this software +.\" must display the following acknowledgement: +.\" This product includes software developed by the University of +.\" California, Berkeley and its contributors. +.\" 4. Neither the name of the University nor the names of its contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" WORD: line 回線 +.\" +.\" from: @(#)ttys.5 8.1 (Berkeley) 6/4/93 +.\" %FreeBSD: src/libexec/getty/ttys.5,v 1.14 2001/08/07 15:48:32 ru Exp % +.\" $FreeBSD$ +.\" " +.Dd November 17, 1996 +.Dt TTYS 5 +.Os +.Sh 名称 +.Nm ttys +.Nd 端末初期設定情報 +.Sh 解説 +ファイル +.Nm +は端末特殊ファイルを初期化したり制御するあらゆるルーチンが使用する +情報を含んでいます。 +この情報は +.Xr getttyent 3 +ライブラリルーチンで読まれます。 +.Nm +ファイルの中には 1 つのスペシャルデバイスファイルにつき 1 行の記述が +あります。 +フィールドはタブやスペースにより区切られます。 +1 語以上からなるフィールドはダブルクォート (``"'') で括られていなければ +なりません。 +空行やコメントはファイル中のどこに現れても構いません。 +コメントはハッシュ記号 (``#'') および改行によって区切られます。 +指定されていないフィールドはデフォルトでナルです。 +.Pp +最初のフィールドは、通常は端末特殊ファイルの名前であり、 +.Pa /dev +にあるようなものです。 +しかしながら、関連付けられたコマンドが tty に無関係である場合、 +任意の文字列にできます。 +.Pp +2 番目のフィールドはその回線に対して実行するコマンドで、 +通常 +.Xr getty 8 +です。これは回線を初期化して開くプログラムで、スピードを設定したり、 +ユーザ名を待ったり +.Xr login 1 +プログラムを実行します。 +しかしながら、それはどんな希望するコマンド、例えばウィンドウシステム +の端末エミュレータやデーモンプロセスの起動コマンドでも構いません。 +そして、もしクォートで括られているのなら複数語を含む事もできます。 +.Pp +3 番目のフィールドは通常その tty 回線に接続される端末のタイプで、普通 +.Xr termcap 5 +データベースファイル中に収められています。 +環境変数 +.Ev TERM +は +.Xr getty 8 +または +.Xr login 1 +による値に初期化されます。 +.Pp +残りのフィールドは +.Fa ty_status +エントリ +.Xr (getttyent 3 +参照) 中のフラグを指定したり、その端末回線に対して +.Xr init 8 +が維持するウィンドウシステムのプロセスを指定したり、 +オプションで tty のタイプ +(ダイヤルインか、ネットワークか、またはそれ以外か) を決定したり、 +またログインクラスのデータベース +.Xr (login.conf 5 +参照) が多くの tty をグループとして参照できるような +tty グループ名を指定します。 +これはグループとして tty に対して選択的にアクセスを許可または +拒否したりアカウンティング機能を可能または不可能にするためです。 +.Pp +フラグの値としては、文字列 ``on'' と ``off'' は +.Xr init 8 +が 2 番目のフィールドで与えられるコマンドを実行するか(しないか)を +指定します。一方 ``secure'' は ( ``on'' も与えられていれば) uid が +0 のユーザがこの回線にログインすることを許可します。 +フラグ ``dialin'' は tty エントリがダイヤルイン回線であることを +示しており、 ``network'' は tty エントリがネットワーク接続で +あることを示しています。 +端末タイプのフィールドには、これらの文字列のどちらかが指定できます。 +文字列 ``window='' の後には +.Xr init 8 +が 2 番目のフィールドで指定されるコマンドを開始する +.Em 前 +に実行するコマンド列をクォートで括って続けます。 +.Pp +文字列 ``group='' の後には、 +多くの tty 回線をアクセスの許可/拒否やアカウンティング機能の +可能/不可能を決めるためのグループとして参照するために +.Xr login.conf 5 +で使われる、文字・数字のグループ名を続けます。 +何のグループも指定されなかった場合、ttyはグループ "none" に属するように +なります。 +以前との互換性のために、 ``group='' は行の最後に、任意のコメントのすぐ前 +に現れなければなりません。 +.Pp +第 2 フィールドと ``window='' で指定されるコマンドは、語に分解され、 +.Xr execve 2 +を使用して実行されます。 +語は、タブとスペースの任意の組み合わせで区切られます。 +空白を含む引数は、シングルクォート +.Pq Li ' +で区切るべきです。 +シェル式のグラブその他さまざまな置換は働かないことに注意してください。 +.Sh 使用例 +.Bd -literal +# 1200 ボーでコンソール、root でのログイン可 +console "/usr/libexec/getty std.1200" vt100 on secure +# 1200 ボーでダイヤルアップ、root でのログイン不可 +ttyd0 "/usr/libexec/getty d1200" dialup on group=dialup # 555-1234 +# Mike の端末: hp2621 +ttyh0 "/usr/libexec/getty std.9600" hp2621-nl on group=dialup # 457 Evans +# John の端末: vt100 +ttyh1 "/usr/libexec/getty std.9600" vt100 on group=dialup # 459 Evans +# 端末エミュレート/ウィンドウシステム +ttyv0 "/usr/new/xterm -L :0" vs100 on window="/usr/new/Xvs100 0" +# ネットワーク仮想 tty -- getty は使用しません +ttyp0 none network group=pty +ttyp1 none network off group=pty +.Ed +.\" 「使用例」1行目 `root login on ...' +.\" 3行目の `no root logins' との対比であるから、 +.\" 3行目の訳と対比させて「root でのログイン可」と訳した。 +.\" (98/06/17 kumano@jp.freebsd.org) +.Sh 関連ファイル +.Bl -tag -width /etc/ttys -compact +.It Pa /etc/ttys +.El +.Sh 関連項目 +.Xr login 1 , +.Xr getttyent 3 , +.Xr ttyslot 3 , +.Xr gettytab 5 , +.Xr login.conf 5 , +.Xr termcap 5 , +.Xr getty 8 , +.Xr init 8 +.\".Xr init 8 , +.\".Xr ttyflags 8 +.Sh 歴史 +.Nm +ファイルは +.At v6 +で登場しました。 diff --git a/documentation/manual-pages/ja/man5/tzfile.5 b/documentation/manual-pages/ja/man5/tzfile.5 new file mode 100644 index 0000000000..2146298783 --- /dev/null +++ b/documentation/manual-pages/ja/man5/tzfile.5 @@ -0,0 +1,138 @@ +.\" %FreeBSD: src/lib/libc/stdtime/tzfile.5,v 1.10 2001/07/10 13:41:23 ru Exp % +.\" $FreeBSD$ +.Dd September 13, 1994 +.Dt TZFILE 5 +.Os +.Sh 名称 +.Nm tzfile +.Nd タイムゾーンの情報 +.Sh 書式 +.Fd #include \&"/usr/src/lib/libc/stdtime/tzfile.h\&" +.Sh 解説 +.Xr tzset 3 +が使用するタイムゾーン情報ファイルは、 +タイムゾーン情報ファイルであることを識別するマジック文字列 +.Dq Li TZif +から始まり、 +将来の使用のために予約された 16 バイトが続き、 +4 つの 4 バイト値が続きます。 +これは ``標準'' バイトオーダ (上位バイトを最初に格納) で格納されます。 +これらの値を順序に従い、以下に示します。 +.Pp +.Bl -tag -compact -width tzh_ttisstdcnt +.It Va tzh_ttisgmtcnt +ファイルに格納された、UTC/ローカル指示子の数。 +.It Va tzh_ttisstdcnt +ファイルに格納された、標準/ウォール指示子の数。 +.It Va tzh_leapcnt +ファイルに格納された、閏秒データの数。 +.It Va tzh_timecnt +ファイルに格納された ``遷移時刻'' データの数。 +.It Va tzh_typecnt +ファイルに格納された ``ローカルタイム型'' データの数 (0 であってはなりません)。 +.It Va tzh_charcnt +ファイルに格納された ``タイムゾーン省略形文字列'' の文字数。 +.El +.Pp +上記のヘッダに続いて、 +4 バイト +.Fa long +型の値が +.Va tzh_timecnt +個、昇順に並びます。 +値は ``標準'' バイトオーダで格納されます。 +それぞれ、ローカルタイム計算方法が変わる遷移時刻 ( +.Xr time 3 +で返される形式) として使用されます。 +続いて、1 バイト +.Fa "unsigned char" +型の値が +.Va tzh_timecnt +個続きます。 +このそれぞれは、同一インデックスの遷移時刻に、 +ファイル中のどの ``ローカルタイム'' 型が対応するかを示します。 +値は、このファイル中で後続する +.Fa ttinfo +構造体の配列に対するインデックスです。 +.\" つまり struct ttinfo が tzh_typecnt 個あるということ +.\" See src/lib/libc/stdtime/tzfile.h +.\" 1998/05/01 horikawa@jp.freebsd.org +この構造体の定義を以下に示します。 +.Pp +.Bd -literal -offset indent +struct ttinfo { + long tt_gmtoff; + int tt_isdst; + unsigned int tt_abbrind; +}; +.Ed +.Pp +各構造体は、 +標準バイトオーダの 4 バイト +.Fa long +型の値 +.Va tt_gmtoff +、それに続く 1 バイトの値 +.Va tt_isdst +、そして 1 バイトの値 +.Va tt_abbrind +の順に格納されます。 +.Va tt_gmtoff +は UTC に加えるべき秒数を、 +.Va tt_isdst +は +.Va tm_isdst +が +.Xr localtime 3 +により設定されるべきかどうかを、 +.Va tt_abbrind +はタイムゾーン省略文字列の配列に対するインデックスを意味します。 +タイムゾーン省略文字列の配列は、同一ファイル中の +.Li ttinfo +構造体に後続しています。 +.Pp +その後には標準バイトオーダで格納される 4 バイト値のペアが +.Va tzh_leapcnt +個格納されています。 +各ペアの最初の値は、閏秒が発生する時刻 ( +.Xr time 3 +で返される形式) です。 +2 番目の値は、 +指定された時刻以降に適用される閏秒の +.Em 総計 +です。 +値のペアは時刻の昇順で格納されます。 +.Pp +その後に、1 バイト値の標準/ウォールの指示子が +.Va tzh_ttisstdcnt +個格納されています。 +これらは、ローカルタイム型に関する遷移時刻が +標準時刻で指定されているのか、 +それともウォールクロックの時刻で指定されているのかを示します。 +この情報は、POSIX スタイルのタイムゾーン環境変数を扱う際に、 +タイムゾーンファイルを使用するときに使用します。 +.Pp +最後に、複数の +.Va tzh_ttisgmtcnt +UTC/ローカル指示子があり、それぞれ 1 バイト値として格納されます。 +これらは、ローカル時刻タイプと関連付けられた遷移時刻が +UTC とローカル時刻のどちらで指定されているかを示し、 +タイムゾーンファイルが POSIX スタイルタイムゾーン環境変数を扱うときに +使用されます。 +.Pp +.Li tzh_timecnt +が 0 の場合もしくは時刻引数がファイル中の最初の遷移時刻以前の場合、 +.Nm localtime +は、ファイル中の最初の標準時間の +.Li ttinfo +構造体を使用します +(標準時間の構造体が無い場合には、単に最初の +.Li ttinfo +構造体を使用します)。 +.Sh 関連項目 +.Xr ctime 3 , +.Xr time2posix 3 , +.Xr zic 8 +.\" @(#)tzfile.5 7.2 +.\" This file is in the public domain, so clarified as of +.\" 1996-06-05 by Arthur David Olson (arthur_david_olson@nih.gov). diff --git a/documentation/manual-pages/ja/man5/uuencode.format.5 b/documentation/manual-pages/ja/man5/uuencode.format.5 new file mode 100644 index 0000000000..6ad2492bfd --- /dev/null +++ b/documentation/manual-pages/ja/man5/uuencode.format.5 @@ -0,0 +1,100 @@ +.\" Copyright (c) 1989, 1991, 1993 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. All advertising materials mentioning features or use of this software +.\" must display the following acknowledgement: +.\" This product includes software developed by the University of +.\" California, Berkeley and its contributors. +.\" 4. Neither the name of the University nor the names of its contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" @(#)uuencode.format.5 8.2 (Berkeley) 1/12/94 +.\" %FreeBSD: src/usr.bin/uuencode/uuencode.format.5,v 1.12 2001/10/09 11:05:27 ru Exp % +.\" $FreeBSD$ +.\" +.\" WORD: trailer トレーラ +.\" +.Dd January 12, 1994 +.Dt UUENCODE 5 +.Os +.Sh 名称 +.Nm uuencode +.Nd uuencode ファイルのフォーマット +.Sh 解説 +.Xr uuencode 1 +によって出力されるファイルは、ヘッダ行、それに続く本体の行、 +およびトレーラ行から構成されています。 +.Xr uudecode 1 +コマンドはヘッダ行の前やトレーラ行の後ろにある行を無視します。 +ヘッダの前にある行は、当然ヘッダのようには見えてはいけません。 +.Pp +ヘッダ行は行の先頭にある 6 文字 +.Dq begin\ \& +(最後の空白に注意) によって識別されます。 +.Em begin +の後ろには (8 進数の) モード、そしてリモートファイルの名前を指定する +文字列が続きます。 +空白がヘッダ行中の 3 つの要素を分けています。 +.Pp +本体は、それぞれが最大 62 文字 (行末の改行を含みます) の行から +構成されています。これらは文字カウント、それに続く符号化された文字、 +それに続く改行からなります。 +文字カウントは印刷可能な 1 文字で、その行の残りのバイト数を整数で表して +います。 +その整数は常に 1 から 45 または 64 の範囲にあり、その文字から空白文字 +(8 進数で 40) を引く事によって決定可能です。文字 64 は 0 のカウントを +表しています。 +.Pp +3 バイトのグループが 4 文字に +(訳注: 3 バイト (24 ビット) を 1 グループとしこれを 4 つに分けて 4 文字に) +.\" 上記訳注は、原文の理解を助けるために追加しました。 +.\" 2.2.6-RELEASE 対象 +.\" By kumano@jp.freebsd.org (Jun 27 1998) +、つまり 6 ビットが 1 文字に蓄えられます。 +すべての文字はいつも 1 から 64 の範囲にあり印刷可能な文字にするために +空白文字 (8 進数で 40) でかさあげされます。 +文字 64 は 0 のカウントを表します。 +最後の行は通常の 45 バイトより短くてもかまいません。 +もしサイズが 3 の倍数でない場合、 +そのことは最終行のカウントの値を見ればわかります。 +文字カウントを 4 の倍数にするために、余分なヌル文字が含まれる事があります。 +本体は、0 のカウントを持つ行で終了します。 +この行は +.Tn ASCII +バッククォート (8 進数で 140) の 1 文字からなります。 +.Pp +トレーラ行は +.Dq end +だけの行からなります。 +.Sh 関連項目 +.Xr mail 1 , +.Xr uucp 1 , +.Xr uudecode 1 , +.Xr uuencode 1 +.Sh 歴史 +.Nm +ファイルフォーマットは +.Bx 4.0 +から登場しました。 +.\" It was named uuencode.5 prior to 4.3 |