diff --git a/ja_JP.eucJP/man/man5/make.conf.5 b/ja_JP.eucJP/man/man5/make.conf.5 index fef8a2b20e..04aef1becc 100644 --- a/ja_JP.eucJP/man/man5/make.conf.5 +++ b/ja_JP.eucJP/man/man5/make.conf.5 @@ -1,818 +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.12.2.14 2002/04/20 18:51:04 gshapiro Exp % +.\" %FreeBSD: src/share/man/man5/make.conf.5,v 1.12.2.15 2002/05/06 07:35:02 dd Exp % .\" .\" $FreeBSD$ .\" .Dd November 3, 2000 .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 CFLAGS .Pq Vt str C のコードをコンパイルするときのコンパイラの設定を制御します。 .Fl O を越えた最適化レベル .Pq Fl O2 , No ... はサポートされていません。 .Va BDECFLAGS は、 .An "Bruce Evans" Aq bde@FreeBSD.org が開発や変更のテスト用に勧めている .Xr gcc 1 設定です。 これは、設定すれば、以下のように使用可能です。 .Pp .Bd -literal -offset indent -CXFLAGS+=${BDECFLAGS} +CFLAGS+=${BDECFLAGS} .Ed .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 .It Va LOCAL_DIRS .Pq Vt str この変数には .Pa /usr/src で make を行うときに入るべきディレクトリをすべてリストします。 .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 です。 .It Va WARNS_WERROR WARNS が有効な場合、 -Werror を .Va CFLAGS へ追加させます。 .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 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 ENABLE_SUIDPERL .Pq Vt bool suid .Xr perl 1 バイナリのインストールを行う場合に設定します。 .It Va FETCH_CMD .Pq Vt str ファイルの取得に用いるコマンドです。 通常は .Xr fetch 1 です。 .It Va MAKE_IDEA .Pq Vt bool IDEA 暗号化コードをビルドする場合に設定します。 このコードは米国やヨーロッパの多くの国々で特許が取得されています。 合法的に IDEA を使えるかどうか決めるのは .Em あなたの責任 です。 .It Va MAKE_KERBEROS4 .Pq Vt bool KerverosIV (KTH eBones) をビルドする場合に設定します。 .It Va MAKE_KERBEROS5 .Pq Vt bool Kerveros5 (KTH Heimdal) をビルドする場合に設定します。 .Em 注意! これはまだ実験的なコードです。 安定している Kerberos5 が必要ならば、 ports を用いてください。 .It Va MODULES_WITH_WORLD .Pq Vt bool カーネルと同時にではなく、 システムと同時にモジュールをビルドする場合に設定します。 .It Va NO_CVS .Pq Vt bool CVS をビルドしない場合に設定します。 .It Va NO_BIND .Pq Vt bool BIND をビルドしない場合に設定します。 .It Va NO_FORTRAN .Pq Vt bool .Xr g77 1 と関連ライブラリをビルドしない場合に設定します。 .It Va NO_I4B .Pq Vt bool isdn4bsd パッケージをビルドしない場合に設定します。 .It Va NO_LPR .Pq Vt bool .Xr lpr 1 と関連プログラムをビルドしない場合に設定します。 .It Va NO_MAILWRAPPER .Pq Vt bool MTA セレクタである .Xr mailwrapper 8 をビルドしない場合に設定します。 .It Va NO_MAKEDEV .Pq Vt bool インストールの際に .Pa /dev で .Dq Li "MAKEDEV all" を実行しない場合に設定します。 .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_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 NO_X .Pq Vt bool X\-Windows のサポート (例えば .Xr doscmd 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 NOMANCOMPRESS .Pq Vt bool man ページのインストールの際に圧縮を行わない場合に設定します。 .It Va NOPERL .Pq Vt bool .Xr perl 1 をビルドしない場合に設定します。 .It Va NOPROFILE .Pq Vt bool profile 版ライブラリをコンパイルしない場合に設定します。 .It Va NOSECURE .Pq Vt bool .Pa secure サブディレクトリで crypto コードをビルドしない場合に設定します。 .It Va NOSHARE .Pq Vt bool .Pa share サブディレクトリをビルドしない場合に設定します。 .It Va NOUUCP .Pq Vt bool .Xr uucp 1 と関連プログラムをビルドしない場合に設定します。 .It Va PERL_THREADED .Pq Vt bool .Xr perl 1 をスレッドサポート機能込みでビルド・インストールする場合に設定します。 .It Va PPP_NOSUID .Pq Vt bool .Xr ppp 8 を suid root プログラムとしてはインストールしない場合に設定します。 .It Va SENDMAIL_MC .Pq Vt str インストール時に用いるデフォルトの m4 設定ファイルです。 この値には .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 インストール時に用いるメール提出用デフォルト m4 設定ファイルです。 この値には .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_M4_FLAGS .Pq Vt str .Pa .mc ファイルから .Pa .cf ファイルを作成するときに m4 に渡されるフラグ。 .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 に書かれている代りの方法を採用すべきです。 .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 .Pp 次のリストは、ports のビルドで用いられる変数の名前と簡単な説明です。 .Bl -tag -width Ar .It Va FORCE_PKG_REGISTER .Pq Vt bool 既存の package (訳注: FreeBSD の package system におけるパッケージを指す場合にこう表記します) の登録情報を上書きする場合に設定します。 .It Va HAVE_MOTIF .Pq Vt bool システムに Motif がある場合に設定します。 .It Va KRB5_HOME .Pq Vt str MIT Kerberos5 の port を .Pa /usr/local 以外にインストールしたい場合に設定します。 .\"translator: "ports" で固有単語とみなすべき? .It Va LOCALBASE .Pq Vt str X 以外の ports をインストールする際のベースディレクトリを与えます。 これは .Pa /usr/ports でビルドを行う際に .Va PREFIX にデフォルト値として与えられます。 .It Va MASTER_SITE_AFTERSTEP .Pq Vt str AfterStep の ports のマスタサイトを変更します。 パスの最後の部分は .Dq Li /%SUBDIR%/ でなければなりません。 .It Va MASTER_SITE_BACKUP .Pq Vt str .Pa Makefile にリストされている場所が使えない場合、 ports が distfile をチェックしに行く場所を制御します。 パスの最後の部分は .Dq Li /${DIST_SUBDIR}/ でなければなりません。 .It Va MASTER_SITE_COMP_SOURCES .Pq Vt str .Pa comp.sources ports のマスタサイトの場所を制御します。 パスの最後の部分は .Dq Li %SUBDIR%/ でなければなりません。 .It Va MASTER_SITE_GNOME .Pq Vt str GNOME ports のマスタサイトの場所を制御します。 パスの最後の部分は .Dq Li %SUBDIR%/ でなければなりません。 .It Va MASTER_SITE_GNU .Pq Vt str GNU ports のマスタサイトの場所を制御します。 パスの最後の部分は .Dq Li %SUBDIR%/ でなければなりません。 .It Va MASTER_SITE_KDE .Pq Vt str KDE ports のマスタサイトの場所を制御します。 パスの最後の部分は .Dq Li %SUBDIR%/ でなければなりません。 .It Va MASTER_SITE_FREEBSD .Pq Vt bool 設定されていると、すべてのファイルをマスタの .Fx サイトから取得します。 .It Va MASTER_SITE_MOZILLA .Pq Vt str Mozilla ports のマスタサイトの場所を制御します。 パスの最後の部分は .Dq Li %SUBDIR%/ でなければなりません。 .It Va MASTER_SITE_OVERRIDE .Pq Vt str 設定されていると、ports の .Pa Makefile にリストされているサイトよりも先に、このサイトをチェックしに行きます。 次のようにすればバックアップサイトを先にチェックさせることができます。 .Bd -literal -offset indent MASTER_SITE_OVERRIDE?= ${MASTER_SITE_BACKUP} .Ed .It Va MASTER_SITE_PERL_CPAN .Pq Vt str Perl ports のマスタサイトの場所を制御します。 パスの最後の部分は .\".Bd -literal -offset indent .\" /%SUBDIR%/ .\".Ed .Dq Li /%SUBDIR%/ でなければなりません。 .\"translator: ここの .Bd .Ed はコメントアウトしました。 .It Va MASTER_SORT_REGEX .Pq Vt str ミラーセットのソート順を制御する場合に設定します。 .Pa .jp ドメインのミラーを優先的に用いたければ、以下のような設定をします。 .Bd -literal -offset indent MASTER_SORT_REGEX?= ^file: ^ftp://ftp\.FreeBSD\.org/pub/FreeBSD/ports/local-distfiles/ ://[^/]*\.jp/ ://[^/]*\.jp\. .Ed .Pp 他の国別 TLD ドメインのユーザは、 .Dq Li jp を適切なドメインに変更してください。 .It Va MASTER_SITE_RINGSERVER .Pq Vt str Ringserver ports のマスタサイトの場所を制御します。 パスの最後の部分は .Dq Li /%SUBDIR%/ でなければなりません。 .It Va MASTER_SITE_RUBY .Pq Vt str Ruby ports のマスタサイトの場所を制御します。 パスの最後の部分は .Dq Li /%SUBDIR%/ でなければなりません。 .It Va MASTER_SITE_SUNSITE .Pq Vt str Sunsite ports のマスタサイトの場所を制御します。 パスの最後の部分は .Dq Li /%SUBDIR%/ でなければなりません。 .It Va MASTER_SITE_TCLTK .Pq Vt str Tcl/Tk ports のマスタサイトの場所を制御します。 パスの最後の部分は .Dq Li /%SUBDIR%/ でなければなりません。 .It Va MASTER_SITE_TEX_CTAN .Pq Vt str TeX ports のマスタサイトの場所を制御します。 パスの最後の部分は .Dq Li /%SUBDIR%/ でなければなりません。 .It Va MASTER_SITE_WINDOWMAKER .Pq Vt str WindowMaker ports のマスタサイトの場所を制御します。 パスの最後の部分は .Dq Li /%SUBDIR%/ でなければなりません。 .It Va MASTER_SITE_XCONTRIB .Pq Vt str X contrib の ports のマスタサイトの場所を制御します。 パスの最後の部分は .Dq Li /%SUBDIR%/ でなければなりません。 .It Va MASTER_SITE_XEMACS .Pq Vt str Xemacs ports のマスタサイトの場所を制御します。 パスの最後の部分は .Dq Li /%SUBDIR%/ でなければなりません。 .It Va MASTER_SITE_XFREE .Pq Vt str XFree ports のマスタサイトの場所を制御します。 パスの最後の部分は .Dq Li /%SUBDIR%/ でなければなりません。 .It Va MOTIFLIB .Pq Vt str .Pa libXm.a と .Pa libXm.so の場所です。 .It Va MOTIF_STATIC .Pq Vt bool Motif を用いる ports を、Motif の共有ライブラリを持たない システム上でも実行させたい場合に設定します。 .It Va NOCLEANDEPENDS .Pq Vt bool .Dq Li "make clean" によって clean される他の ports から依存されている ports を clean したくない場合に設定します。 .It Va NOPORTDOCS .Pq Vt bool ports と同時に追加ドキュメントをインストールしない場合に設定します。 .It Va PACKAGES .Pq Vt str package ターゲットのみに用いられます。 package ツリーのディレクトリです。 .It Va PATCH_SITES .Pq Vt str パッチファイルの配布をしている一次サイトの場所です。 .It Va PORTSDIR .Pq Vt str ports ツリーの場所です。 .It Va USA_RESIDENT .Pq Vt bool 米国居住者は設定してください。 設定すると、米国輸出規制に従う必要がある ports が、 この規制に従うようになります。 .It Va WITHOUT_X11 .Pq Vt bool 設定すると、X11 サポート有り無しの両方で構築可能な ports を、 デフォルトで X11 サポート無しで構築するようにします。 .It Va WRKDIRPREFIX .Pq Vt str ports をビルドする際に用いる一時ファイルを作成する場所です。 .It Va X11BASE .Pq Vt str X11 ディストリビューションを .Pa /usr/X11R6 以外の場所にインストールしたい場合、その場所を設定します。 .El .Sh 関連ファイル .Bl -tag -width /etc/defaults/make.conf -compact .It Pa /etc/defaults/make.conf .It Pa /etc/make.conf .It Pa /usr/doc/Makefile .It Pa /usr/src/Makefile .It Pa /usr/src/Makefile.inc1 .It Pa /usr/ports/Mk/bsd.port.mk .It Pa /usr/ports/Mk/bsd.sites.mk .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 /etc/defaults/make.conf ファイルを調べてください。 diff --git a/ja_JP.eucJP/man/man8/inetd.8 b/ja_JP.eucJP/man/man8/inetd.8 index 4f354620d0..a49624f1fd 100644 --- a/ja_JP.eucJP/man/man8/inetd.8 +++ b/ja_JP.eucJP/man/man8/inetd.8 @@ -1,862 +1,862 @@ .\" 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. .\" .\" from: @(#)inetd.8 8.3 (Berkeley) 4/13/94 -.\" %FreeBSD: src/usr.sbin/inetd/inetd.8,v 1.46.2.10 2001/12/11 13:17:59 sheldonh Exp % +.\" %FreeBSD: src/usr.sbin/inetd/inetd.8,v 1.46.2.11 2002/05/06 07:33:31 dd Exp % .\" .\" $FreeBSD$ .Dd February 7, 1996 .Dt INETD 8 .Os .Sh 名称 .Nm inetd .Nd インターネット .Dq スーパサーバ .Sh 書式 .Nm .Op Fl d .Op Fl l .Op Fl w .Op Fl W .Op Fl c Ar maximum .Op Fl C Ar rate .Op Fl a Ar address | hostname .Op Fl p Ar filename .Op Fl R Ar rate .Op Ar configuration file .Sh 解説 .Nm は、ブート時に .Pa /etc/rc の中で起動されます ( .Xr rc 8 参照)。起動されると、 .Nm は定められたインターネットソケットを監視し、接続要求を待ちます。 監視しているソケットに対して接続要求が出されると、 .Nm はそのソケットに対応したサービスを 判定し、サービスを提供するプログラムを起動します。 サーバプログラムはサービスソケットを標準入力・標準出力・ エラー出力として起動されます。 サービスプログラムが完了すると、 .Nm は再びソケットの監視を行ないます (後述するような例外もあります)。 .Nm を用いれば 1 つのデーモンで 複数のサービスプログラムを起動することができるので、 システムの負荷を軽減することができます。 .Pp .Nm は、起動時に以下のオプションを指定できます。 .Bl -tag -width indent .It Fl d デバッグモードにします。 .It Fl l 成功した接続のログをとります。 .It Fl w 外部サービスに対して TCP Wrapping をオンにします。 TCP Wrappers サポートについての更なる情報については、 .Sx "実装に関する注" の節を参照してください。 .It Fl W .Nm 組み込みの内部サービスに対して TCP Wrapping をオンにします。 .It Fl c Ar maximum 同時に起動可能なサービスの、デフォルトにおける最大値を指定します。 デフォルトでは、無制限です。 サービスごとに指定される "max-child" パラメータによって上書きされ得ます。 .It Fl C Ar rate 1 分間に単一の IP アドレスから起動されるサービスのデフォルトにおける最大値 を指定します。 デフォルトは未設定です。 サービスごとに指定される "max-connections-per-ip-per-minute" パラメータによって上書きされ得ます。 .It Fl R Ar rate 1 分間に起動できる最大のサービス数を指定します。デフォルトは 256 です。 rate に 0 を指定すると、起動可能な数は無制限になります。 .It Fl a バインドする IP アドレスを 1 個指定します。 代りに、ホスト名を指定可能です。 この場合、ホスト名に対応する IPv4 または IPv6 のアドレスが使用されます。 通常、 .Nm が .Xr jail 8 内で起動される時点で、ホスト名が指定されます。 この場合、ホスト名は .Xr jail 8 環境に対応するものです。 .Pp ホスト名指定が使用され、IPv4 および IPv6 両方のバインドを望む場合、 .Pa /etc/inetd.conf の各サービスに対して、 各バインドに対する適切な .Em プロトコル のエントリが必要です。 例えば TCP ベースのサービスは 2 エントリが必要であり、 ひとつは .Em プロトコル に .Dq tcp4 を使用し、もうひとつは .Dq tcp6 を使用します。 後で説明する .Pa /etc/inetd.conf の .Em プロトコル フィールドを参照してください。 .It Fl p デフォルトとは異なるプロセス ID を保持するファイルを指定します。 .El .Pp .Nm は実行時に設定情報を設定ファイルから読み込みます。 デフォルトでは設定ファイルは .Pa /etc/inetd.conf です。 設定ファイルの各フィールドにはエントリが 1 つなければなりません。 各フィールドのエントリはタブやスペースで区切ります。 コメントは行頭に .Dq # をつけます。 設定ファイルのフィールドは以下のものからなります: .Pp .Bd -unfilled -offset indent -compact サービス名 ソケットタイプ プロトコル {wait|nowait}[/最大子プロセス数[/IPあたりの分あたりの最大接続数]] ユーザ名[:クループ名][/ログインクラス名] サーバプログラム名 サーバプログラム引数 .Ed .Pp .Tn "ONC RPC" ベースのサービスを記述する場合には、以下のエントリを記述します。 .Pp .Bd -unfilled -offset indent -compact サービス名/バージョン ソケットタイプ RPC/プロトコル ユーザ名 サーバプログラム名 サーバプログラム引数 .Ed .Pp .Nm が起動することのできるサービスは 2 種類あります。 1 つは標準で、もう 1 つは TCPMUX です。 標準サービスには割り当てられた well-known ポートがあります。 これは公式のインターネット標準を実装したサービスや .Bx 特有のサービスです。 .Tn RFC 1078 に書かれているように、TCPMUX は非標準サービスであり、 well-known ポートが割り当てられていません。 そういった非標準サービスは、あるプログラムが .Dq tcpmux well-known ポートに接続してそのサービス名を指定したとき、 .Nm によって起動されます。 この機能はローカルに開発されたサーバを追加するときに 便利です。 TCPMUX リクエストが受理されるのは、 TCPMUX ベースのサーバに至るまでにおいて、 マルチプレクササービス自身が有効にされているときのみです。 後述の内部サービスに関する議論を参照してください。 .Pp .Em サービス名 のエントリには、 .Pa /etc/services ファイルに記述されているサービス名か、 .Ux ドメインソケット (後述) の指定が記述されます。 .Dq 内部 サービス (後述) については、 名前としてそのサービスのオフィシャル名 (すなわち .Pa /etc/services 内の最初のエントリ) を指定すべきです .Tn "ONC RPC" ベースのサービスを指定するためには、このフィールドは .Pa /etc/rpc に書かれた有効な RPC サービス名でなければなりません。 .Dq / の右の部分が RPC のバージョン番号です。バージョン番号は、 数字もしくは、バージョンの幅 (レンジ) で指定します。 幅を指定する場合は低い番号から高い番号を指定します。たとえば .Dq rusers/1-3 のように記述します。 TCPMUX サービスでは、 .Em サービス名 のフィールドは、文字列 .Dq tcpmux 、スラッシュ、そしてローカルに選ばれたサービス名から なります。 .Pa /etc/services に書かれたサービス名と .Dq help は予約済であり、ローカルなサービス名には使用できません。 TCPMUX サービスのためにユニークな名前をつけるには、 頭に組織名をつけ、末尾にバージョン番号をつけるとよいでしょう。 .Pp .Em ソケットタイプ のエントリは、 .Dq stream , .Dq dgram , .Dq raw , .Dq rdm , .Dq seqpacket のいずれかである必要があります。それぞれ、ソケットが stream, datagram, raw, reliably delivered message, sequenced packet socket である場合に対応しています。 TCPMUX サービスは .Dq stream を使わなければなりません。 .Pp .Em プロトコル のエントリには、 有効なプロトコル名か .Dq unix が記述されます。 例えば .Dq tcp や .Dq udp などです。 この場合、後方互換性のため、暗黙的に本エントリは IPv4 を意味します。 名前 .Dq tcp4 , .Dq udp4 は、IPv4 のみを指定します。 名前 .Dq tcp6 , .Dq udp6 は、IPv6 のみを指定します。 名前 .Dq tcp46 , .Dq udp46 は、エントリに IPv4 とワイルドカード .Dv AF_INET6 ソケット経由の IPv6 の両方を受理させます。 サービスが T/TCP 経由で到達可能とするためには、 .Dq tcp/ttcp を指定する必要があります。 後方互換性のため、暗黙的に本エントリは IPv4 を意味します。 名前 .Dq tcp4/ttcp は、IPv4 のみを指定し、 名前 .Dq tcp6/ttcp は、IPv6 のみを指定します。 名前 .Dq tcp46/ttcp は、エントリに IPv6 とワイルドカード .Dv AF_INET6 ソケット経由の IPv6 の両方を受理させます。 RPC ベースのサービス (現在のところ IPv4 のみサポートされます) の場合、 .Dq rpc/tcp や .Dq rpc/udp のような指定になります。 TCPMUX サービスは .Dq tcp , .Dq tcp4 , .Dq tcp6 , .Dq tcp46 のいずれかを使用する必要があります。 .Pp .Em wait/nowait エントリは、 .Nm によって起動されたサーバがサービスアクセスポイントに 関連付けられたソケットを引き継ぐかどうか、すなわちサーバが終了するまで .Nm が新しいサービス要求を監視するのを待つ必要があるか否かを 指定します。 datagram サーバは、特定のサービスアドレスと結び付いた datagram ソケットで毎回起動されるため、 .Dq wait を使わなければなりません。こういったサーバは、終了する前に少なくとも 1 データグラムをソケットから読まなければなりません。 もし datagram サーバが相手に接続したときソケットを 開放するなら、 .Nm はソケットに対するメッセージをさらに受けることができます。 このようなサーバは .Dq マルチスレッド サーバと呼ばれます。 サーバはソケットから datagram を 1 つ読み込み、相手に接続する新しい ソケットをつくります。 サーバは fork() を行い、親プロセス側は終了なければいけません。 これにより .Nm は新しいサービス要求をチェックし、新しいサーバを起動することが できるようになります。 入って来る全ての datagram を処理し、 時間切れまで動作する datagram サーバは、 .Dq シングルスレッド サーバと呼ばれます。 .Xr comsat 8 , .Pq Xr biff 1 , .Xr talkd 8 は後者のタイプの datagram サーバの例です。 .Xr tftpd 8 はマルチスレッドで動く datagram サーバの例です。 .Pp stream ソケットを使うサーバは一般にマルチスレッドで動き .Dq nowait エントリを使います。 こういったサーバへの接続要求は .Nm で受け付けられ、新たに受理し、クライアントにつながった ソケットのみがサーバに与えられます。 多くの stream ベースのサービスはこのように行われます。 .Dq wait エントリを使う stream ベースのサーバは、 サービスのソケットを監視し、少なくとも 1 つの接続要求を受け入れてから 終了しなければなりません。 そういったサーバは通常、時間切れとなるまで、入って来る要求を 受け付け処理します。 TCPMUX サービスは .Dq nowait を使わなければなりません。 .Pp .Dq nowait サービスの子プロセス (あるいは .Dq スレッド ) の最大数は、 .Dq nowait キーワードの後に .Dq / と数字を付け加えることで指定できます。 通常 (あるいは 0 が指定された場合)、子プロセスの数に制限はありません。 一方、最大数に達すると、それ以降の接続要求は、存在する子プロセスが終了するまで 待ち行列に蓄えられます。これは、 .Dq wait モードでも同様ですが、通常は 1 (デフォルトの値) 以外は意味がありません。 指定した IP アドレスからの 1 分あたりの最大接続数を指定することも可能です。 この場合、 .Dq / および最大子プロセス数を指定します。 最大値に達っした場合、指定した IP アドレスからの接続は、 この 1 分が経過するまで、落とされます。 .Pp .Em ユーザ名 エントリには、サーバを実行するユーザ名を書きます。 これによりサーバを root よりも低い権限で実行できます。 オプションの .Em グループ名 部分は .Dq \&: で分けられ、 このユーザのデフォルトグループ以外のグループ名を指定可能です。 オプションの .Em ログインクラス名 部分は .Dq / で分けられ、 デフォルトの .Dq daemon 以外のログインクラス名を指定可能です。 .Pp .Em サーバプログラム名 のエントリには、ソケットに要求があったとき .Nm が起動し、当該エントリのサービスを提供する サーバプログラムのパス名を指定します。 .Nm 内部にすでに実装されているサービスを提供する場合には、サーバプログラムとして .Dq internal を指定します。 .Pp .Em サーバプログラム引数 のエントリは、サーバを起動する際の引数を、サーバプログラムの起動文字列 である argv[0] を含めて記述します。 .Nm 内部に実装されているサービスを提供する場合には、サーバプログラム引数 として、サービスの .Em サービス名 (と引数) または語 .Dq internal を指定します。 .Pp 現在、引数を取る内部サービスは .Dq auth のみです。 オプション無しだと、このサービスは常に .Dq ERROR\ : HIDDEN-USER を返します。 このサービスの動作を変更するために使用可能な引数は次の通りです: .Bl -tag -width indent .It Fl d Ar fallback .Ar fallback ユーザ名を指定します。 本物の .Dq auth サービスが (後述の .Fl r オプションで) 有効になっている場合、 ソケットの credential 取得またはユーザ名検索に失敗したときに、 エラーを返す代りにこのユーザ名を返します。 本物の .Dq auth サービスが無効になっている場合、 すべての要求に対してこのユーザ名を返します。 主に、本サービスを NAT マシン上で実行しているときに有用です。 .It Fl g ident 要求者にユーザ名を返す代りに、 アルファベットと数字からなるランダムなユーザ名を報告します。 例えば .Dq c0c993 です。 .Fl g フラグは、ユーザ名に優先するだけでなく、 .Pa .fakeid や .Pa .noident のファイルにも優先します。 .It Fl t Xo .Ar sec Ns Op . Ns Ar usec .Xc サービスのタイムアウトを指定します。 デフォルトのタイムアウトは 10.0 秒です。 .It Fl r RFC 1413 にある、真の .Dq auth サービスを提供します。残りのすべてのフラグが使用されるのは、この場合のみです。 .It Fl i ユーザ名の代りに数値のユーザ ID を返します。 .It Fl f 識別されるユーザのホームディレクトリに .Pa .fakeid というファイルがある場合、 本当のユーザ名の代りにそのファイル中のユーザ名を報告します。 .Pa .fakeid 中のユーザ名が実在するユーザのものの場合、本当のユーザ名を報告します。 .Fl i が共に指定されると、 .Pa .fakeid 中のユーザ名が既存のユーザ ID の代りにチェックされます。 .It Fl F .Fl f と同じですが、 .Pa .fakeid が実在するユーザ名にマッチしてはならないという制約が除外されます。 .It Fl n 識別されるユーザのホームディレクトリに .Pa .noident というファイルがある場合、 .Dq ERROR\ : HIDDEN-USER を返します。 これは、 .Pa fakeid ファイルに優先します。 .It Fl o Ar osname .Xr uname 3 が報告するシステム名の代りに、 .Ar osname を使用します。 .El .Pp .Nm プログラムはまた、内部ルーチンを用いて簡単なサービスを自身で提供します。 これらのサービスとは .Dq echo , .Dq discard , .Dq chargen (文字生成), .Dq daytime (人間が読む形式で時間を出力します), .Dq time (機械可読形式の時間。1900 年 1 月 1 日 0 時からの経過秒数を出力します) です。 これらのサービスは TCP と UDP バージョンのいずれでも利用できます。 UDP バージョンは返事のポートとして内部サービスに相当するポートを 要求されたとき、サービスを拒否します。 (これはループ攻撃に対する防護です。リモート IP アドレスは記録されます。) これらのサービスの詳細については適当な .Tn RFC ドキュメントを参照して下さい。 .Pp TCPMUX のデマルチプレクスサービスもまた内部サービスとして実装されています。 TCPMUX ベースのサービスを動作させるためには、以下の行を .Pa inetd.conf に含む必要があります: .Bd -literal -offset indent tcpmux stream tcp nowait root internal .Ed .Pp .Fl l オプションが指定された場合、 .Nm は接続を受け付けるたび、エントリを syslog に記録します。 この際、利用可能であれば、 選択されたサービスと要求を発したリモートの IP 番号を記録します。 設定ファイルで他に指定しておらず、 .Fl W と .Fl w のオプションを指定していないと、 .Nm は .Dq daemon ファシリティに対してログ出力します。 .Pp .Dv SIGHUP を受けとると、 .Nm は、設定ファイルを再度読み込みます。設定ファイルを 再読み込みするとき、サービスを追加、削除、変更できます。 デバッグモードで起動された場合をのぞき、 .Nm は再設定を容易にするために、プロセス ID を .Pa /var/run/inetd.pid に記録します。 .Sh 実装に関する注 .Ss TCP Wrappers .Fl w オプションが指定されたとき、 .Dq stream nowait または .Dq dgram と指定さた全サービスのうち .Dq 内部 サービス以外を、 .Nm はラッピングします (包みます)。 .Fl W オプションが指定されると、 前述の条件の .Dq 内部 サービスがラッピングされます。 両方のオプションが指定された場合、 内部サービスと外部サービスの両方をラッピングするようになります。 どちらのラッピングオプションも、失敗した接続を .Dq auth syslog ファシリティでログします。 ラッピングオプションに .Fl l フラグを追加すると、成功した接続も .Dq auth ファシリティへのログに含めるようになります。 .Pp .Dq wait サービスに対する要求は、 サービス要求に対するサーバが無い間のみ .Nm はラッピングすることに注意してください。 このようなサービスに対してひとたび接続が許されると、 接続要求に対して listen するサーバが無くなるまで、 このサービスに対する後続の接続を .Nm は制御できません。 .Pp ラッピングが有効にされた場合、この機能は組み込みであるため、 .Pa tcpd デーモンは不要です。 .Pp TCP Wrappers についての更なる情報は、関連する文書 .Pq Xr hosts_access 5 を参照してください。 この文書を読むときには、 .Dq 内部 サービスに対しては、関連するデーモン名は無いことを覚えておいてください。 このような理由で、 .Dq 内部 サービスのデーモン名としては、 .Pa inetd.conf で指定されるサービス名を使用すべきです。 .Ss TCPMUX .Tn RFC 1078 は TCPMUX プロトコルについて述べています。 「 TCP クライアントは他のホストに TCP ポート番号 1 で接続します。 クライアントは、サービス名にを付加して送ります。 サービス名は大文字/小文字を区別しません。 サーバは、肯定 (+) もしくは否定 (\-) を表す 1 文字を返します。 + あるいは \- のすぐ後にメッセージが続く場合があります。 返答は で終わります。もし返答が肯定で あれば、選択されたプロトコルが開始されます。 そうでなければ接続は切られます。」 プログラムにはファイルディスクプリタ 0 と 1 で TCP コネクションが 渡されます。 .Pp TCPMUX サービス名が .Dq + で始まっているとき、 .Nm は、プログラムに肯定返答 (+) を返します。 これによって、 特別なサーバコードを追加することなく 標準入出力を使うプログラムを起動することができます。 .Pp 特別なサービス名である .Dq help により、 .Nm は .Pa inetd.conf にある TCPMUX サービスの一覧を出力します。 .Ss IPsec 本実装は、各ソケットに対する IPsec ポリシ設定のサポートのための ちょっとしたハックを含みます。 .Dq Li #@ から開始する特別な形式のコメント行が、ポリシ指示子として解釈されます。 .Dq Li #@ の後のすべてが、 .Xr ipsec_set_policy 3 に記述されているように、IPsec ポリシ文字列として使用されます。 各ポリシ指定子は、 .Pa inetd.conf 中で後続するすべての行に適用され、 これは次のポリシ指定子が登場するまで続きます。 空のポリシ指定子は、IPsec ポリシをリセットします。 .Pp 不正な IPsec ポリシ文字列が .Pa inetd.conf にあると、 .Nm は .Xr syslog 3 インタフェースを使用して エラーメッセージを残し、終了します。 .Ss Ux ドメインソケット サービスを IP ソケット上で動作させることに加え、 .Nm は .Ux ドメインソケットも扱えます。 このためには .Em プロトコル に .Dq unix を指定し、 .Ux ドメインソケットを .Em サービス名 として指定します。 .Em サービスタイプ は .Dq stream か .Dq dgram のいずれかです。 ソケットの指定は、絶対パス名であることが必要であり、 .Em :user:group:mode: の形式で所有者とモードを前に付けることが可能です。 .Pp .Dl ":news:daemon:220:/var/run/sock" .Pp という指定は、所有者が .Dq news でグループが .Dq daemon で所有者とグループのみに接続を許可するソケットを作成します。 デフォルトの所有者は、 .Nm を実行しているユーザです。 デフォルトのモードは、 ソケットの所有者のみに接続を許可するというものです。 .Pp .Sy 警告 : .Ux ドメインソケットの作成中に、 .Nm はソケットの所有者とパーミッションを変更する必要があります。 これが安全に行われるのは、 ソケットが作成されるディレクトリが root のみ書き込み可能な場合だけです。 .Nm を使用して、 .Pa /tmp 等の誰でも書き込み可能なディレクトリにソケットを作成し .Em ない でください。 代りに、 .Pa /var/run 等のディレクトリと使用してください。 .Pp 内部サービスは、通常通り、 .Ux ドメインソケットでも実行可能です。 この場合、ソケットのパス名の最後の部分から内部サービス名が判定されます。 .Sh 関連ファイル .Bl -tag -width /var/run/inetd.pid -compact .It Pa /etc/inetd.conf 設定ファイル .It Pa /etc/rpc サービス名を RPC プログラム番号に変換するテーブル .It Pa /etc/services サービス名をポート番号に変換するテーブル .It Pa /var/run/inetd.pid 現在実行中の .Nm の pid .El .Sh 使用例 次に、いくつかのサービスについて サービスエントリの 例を挙げておきます。 .Bd -literal ftp stream tcp nowait root /usr/libexec/ftpd ftpd -l ntalk dgram udp wait root /usr/libexec/ntalkd ntalkd telnet stream tcp6 nowait root /usr/libexec/telnetd telnetd shell stream tcp46 nowait root /usr/libexec/rshd rshd tcpmux/+date stream tcp nowait guest /bin/date date tcpmux/phonebook stream tcp nowait guest /usr/local/bin/phonebook phonebook rstatd/1-3 dgram rpc/udp wait root /usr/libexec/rpc.rstatd rpc.rstatd /var/run/echo stream unix nowait root internal #@ ipsec ah/require chargen stream tcp nowait root internal #@ .Ed .Sh エラーメッセージ .Nm サーバは、 .Xr syslog 3 を使ってエラーメッセージを記録します。 重要なエラーメッセージと その説明は以下の通りです。 .Pp .Bl -ohang -compact .It Xo .Ar service Ns / Ns Ar protocol .No "server failing (looping), service terminated." .Xc 直前の 1 分間に、そのサービスについての要求数が制限に達しました。 不完全なプログラムや悪意のあるユーザがシステムを ハングアップさせないために、このような制限が設けられています。 このメッセージが出力される理由はいくつかあります。 .Bl -enum -offset indent .It 短時間の間に多くのホストがこのサービスを要求している。 .It 不完全なクライアントプログラムがサービスを 頻繁に要求しすぎている。 .It 悪意あるユーザがあるプログラムを起動し、 サービスが '拒否' されるように攻撃している。 .It 起動されたサービスプログラムにエラーがあり、 クライアントがすぐにリトライを起こしてしまう。 .El .Pp .Fl R Ar rate オプションを使うと、制限を変えることができます。 制限に達したとき、10 分経つとサービスは自動的に 再許可されます。 .Pp .It Xo .Ar service Ns / Ns Ar protocol : .No \&No such user .Ar user , .No service ignored .Xc .It Xo .Ar service Ns / Ns Ar protocol : .No getpwnam : .Ar user : .No \&No such user .Xc .Xr passwd 5 データベースに .Ar user のエントリーがありません。 最初のメッセージは .Nm が設定ファイルを (再度) 読み込むときに出されます。 2 つ目のメッセージは、サービスが呼び出されたときに 出されます。 .Pp .It Xo .Ar service : .No can't set uid .Ar uid .Xc .It Xo .Ar service : .No can't set gid .Ar gid .Xc .Ar user フィールドのユーザ ID もしくは グループ IDが 無効です。 .Pp .It "setsockopt(SO_PRIVSTATE): Operation not supported" .Nm はそのソケットに設定されている特権状態を放棄しようとしましたが、 失敗しました。 .El .Sh 関連項目 .Xr ipsec_set_policy 3 , .Xr hosts_access 5 , .Xr hosts_options 5 , .Xr login.conf 5 , .Xr passwd 5 , .Xr rpc 5 , .Xr services 5 , .Xr comsat 8 , .Xr fingerd 8 , .Xr ftpd 8 , .Xr rexecd 8 , .Xr rlogind 8 , .Xr rpcbind 8 , .Xr rshd 8 , .Xr telnetd 8 , .Xr tftpd 8 , .Rs .%A Michael C. St. Johns .%T Identification Protocol .%O RFC1413 .Re .Sh 歴史 .Nm コマンドは .Bx 4.3 から登場しました。 TCPMUX は Mark Lottor によるコードとドキュメントを元にしています。 .Tn "ONC RPC" ベースのサービスのサポートは、 .Tn SunOS 4.1 が供給されてから、 それにならって作られました。 IPsec のハックは、1999 年に KAME プロジェクトが提供しました。 .Fx の TCP Wrappers サポートが最初に登場したのは .Fx 3.2 です。 diff --git a/ja_JP.eucJP/man/man8/pw.8 b/ja_JP.eucJP/man/man8/pw.8 index 2febaa0a89..1cbfbc10f2 100644 --- a/ja_JP.eucJP/man/man8/pw.8 +++ b/ja_JP.eucJP/man/man8/pw.8 @@ -1,915 +1,927 @@ .\" 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.8,v 1.19.2.8 2002/03/14 16:57:52 keramida Exp % +.\" %FreeBSD: src/usr.sbin/pw/pw.8,v 1.19.2.9 2002/05/06 07:42:47 dd Exp % .\" .\" $FreeBSD$ .\" .\" WORD: primary group プライマリグループ(/etc/passwd のグループIDで決まるグループ) .\" .Dd December 9, 1996 .Dt PW 8 .Os .Sh 名称 .Nm pw .Nd システムユーザ、グループの作成、削除、変更、表示 .Sh 書式 .Nm .Op Fl V Ar etcdir .Ar useradd .Op name|uid .Op Fl C Ar config .Op Fl q .Op Fl n Ar name .Op Fl u Ar uid .Op Fl c Ar comment .Op Fl d Ar dir .Op Fl e Ar date .Op Fl p Ar date .Op Fl g Ar group .Op Fl G Ar grouplist .Op Fl m .Op Fl k Ar dir .Op Fl s Ar shell .Op Fl o .Op Fl L Ar class .Op Fl h Ar fd .Op Fl N .Op Fl P +.Op Fl 7 .Op Fl Y .Nm .Op Fl V Ar etcdir .Ar useradd .Op name|uid .\" -D オプションは省略可能の通常のオプションではないのでこれでよい .Fl D .Op Fl C Ar config .Op Fl q .Op Fl b Ar dir .Op Fl e Ar days .Op Fl p Ar days .Op Fl g Ar group .Op Fl G Ar grouplist .Op Fl k Ar dir .Op Fl u Ar min , Ns Ar max .Op Fl i Ar min , Ns Ar max .Op Fl w Ar method .Op Fl s Ar shell .Op Fl y Ar path .Nm .Op Fl V Ar etcdir .Ar userdel .Op name|uid .Op Fl n Ar name .Op Fl u Ar uid .Op Fl r .Op Fl Y .Nm .Op Fl V Ar etcdir .Ar usermod .Op name|uid .Op Fl C Ar config .Op Fl q .Op Fl n Ar name .Op Fl u Ar uid .Op Fl c Ar comment .Op Fl d Ar dir .Op Fl e Ar date .Op Fl p Ar date .Op Fl g Ar group .Op Fl G Ar grouplist .Op Fl l Ar name .Op Fl m .Op Fl k Ar dir .Op Fl w Ar method .Op Fl s Ar shell .Op Fl L Ar class .Op Fl h Ar fd .Op Fl N .Op Fl P .Op Fl Y .Nm .Op Fl V Ar etcdir .Ar usershow .Op name|uid .Op Fl n Ar name .Op Fl u Ar uid .Op Fl F .Op Fl P .Op Fl a .Nm .Op Fl V Ar etcdir .Ar usernext .Op Fl C Ar config .Op Fl q .Nm .Op Fl V Ar etcdir .Ar groupadd .Op group|gid .Op Fl C Ar config .Op Fl q .Op Fl n Ar group .Op Fl g Ar gid .Op Fl M Ar members .Op Fl o .Op Fl h Ar fd .Op Fl N .Op Fl P .Op Fl Y .Nm .Op Fl V Ar etcdir .Ar groupdel .Op group|gid .Op Fl n Ar name .Op Fl g Ar gid .Op Fl Y .Nm .Op Fl V Ar etcdir .Ar groupmod .Op group|gid .Op Fl C Ar config .Op Fl q .Op Fl F .Op Fl n Ar name .Op Fl g Ar gid .Op Fl l Ar name .Op Fl M Ar members .Op Fl m Ar newmembers .Op Fl h Ar fd .Op Fl N .Op Fl P .Op Fl Y .Nm .Op Fl V Ar etcdir .Ar groupshow .Op group|gid .Op Fl n Ar name .Op Fl g Ar gid .Op Fl F .Op Fl P .Op Fl a .Nm .Op Fl V Ar etcdir .Ar groupnext .Op Fl C Ar config .Op Fl q .Nm .Op Fl V Ar etcdir .Ar lock .Op name|uid .Op Fl C Ar config .Op Fl q .Nm .Op Fl V Ar etcdir .Ar unlock .Op name|uid .Op Fl C Ar config .Op Fl q .Sh 解説 .Nm は、システムの .Ar user 、 .Ar group ファイルのユーザ、グループを簡単に、標準的な方法で追加、変更、削除 することができるようにするコマンドライン版のエディタです。 .Nm は、ローカルな user ファイルと group ファイルを操作することができるだ けだということに注意して下さい。 NIS のユーザ、グループは NIS サーバ上 で管理しなければなりません。 .Nm は .Pa passwd , .Pa master.passwd , .Pa group ファイルや、安全なまたは安全でないパスワードデータベースファイル の更新作業を行いますので、 root で実行されなければなりません。 .Pp .Nm のコマンドラインにかかれている最初の一つか二つのキーワードは、引数の残り を解釈する際の文脈を指定します。 .Ar user と .Ar group のキーワードはどちらも、 .Ar add , .Ar del , .Ar mod , .Ar show , .Ar next と組み合わせて用いることができ、どのような順序 (例えば .Ar showuser , .Ar usershow , .Ar show user , .Ar user show はすべて同じこととみなされます) で指定してもかまいません。 この柔軟性は、ユーザ、グループデータベース操作のために .Nm を呼び出す対話的なスクリプトには便利です。 .Fl n Ar name , .Fl u Ar uid , .Fl g Ar gid オプションを使う代わりに、 これらのキーワードに続けてユーザ名、グループ名、数字の ID のうち一つ を指定することができます。 .Pp 以下のフラグは操作のほとんどまたは全てのモードで共通です。 .Pp .Bl -tag -width "-G grouplist" .It Fl V Ar etcdir 本フラグは、 パスワードファイル・グループファイル・設定ファイルを探すための、 通常とは別の場所をセットします。 また、 通常とは別の場所でユーザ/グループデータベースを管理するために使用可能です。 本スイッチを指定すると、システムの .Pa /etc/pw.conf をデフォルト設定データをしては使用せず、代りに、 指定したディレクトリ中のファイル pw.conf を使用します (存在しない場合には使用しません)。 .Fl C フラグは、この動作に優先します。 一般規則では、オプションは操作タイプに後続する必要があるのですが、 .Fl V フラグは例外であり、コマンドライン上で操作キーワードの前で使用可能です。 .It Fl C Ar config .Nm は新しいユーザアカウントとグループはどのように作られるべきかという 方針の情報を得るために、デフォルトではファイル .Pa /etc/pw.conf を読み込みます。 .Fl C オプションで異なる設定ファイルを指定できます。 設定ファイルのほとんどの内容は、コマンドライン オプションにより上書きされますが、新しいアカウントを追加するための標準 的な情報を設定ファイルに設定しておいた方が 便利かもしれません。 .It Fl q このオプションを使うと .Nm はエラーメッセージを抑制します。 これは、注意深くフォーマットされたディスプレイへのメッセージ表示よりも、 .Nm から返された戻り値を解釈する方が好まれるような対話的な環境では 便利かもしれません。 .It Fl N このオプションは .Ar add と .Ar modify 操作で使います。 .Nm は、ユーザ/グループデータベースを更新せずに、操作の結果だけを出力します。 .Fl P オプションを使うと、標準 passwd フォーマットと可読なフォーマットの 切り替えができます。 .It Fl Y 更新モードのいずれかと、このオプションとをいっしょに使うことで、 .Nm は、 .Pa /var/yp にカレントディレクトリを移動させてから .Xr make 1 を実行します。これは、NIS データベースファイルの自動更新を可能とする ためのものです。NIS が別のパスワードファイル、グループファイルを 使っている場合、 .Fl y Ar path オプションを使い、NIS パスワードデータベースの位置を指定すると よいでしょう。これにより、 .Nm は、システムパスワードデータベースと並行してこれらのデータベースも 同時に更新します。 .El .Sh ユーザオプション 以下のオプションは .Ar useradd と .Ar usermod コマンドに付けます: .Pp .Bl -tag -width "-G grouplist" .It Fl n Ar name ユーザ名/アカウント名を指定します。 .It Fl u Ar uid ユーザ ID / アカウント ID を数字で指定します。 .Pp アカウント名は uid を含み、逆も同様であるため、通常これらのオプション のどちらか片方しか必要ではありません。 しかし、両方を指定しなければならないこともしばしばあります。 例えば、すでに存在するユーザの uid を .Ar usermod で変えたり、新しいアカウントを作るときにデフォルトの uid を上書きした りするときです。 .Nm で .Ar useradd を使って新しいユーザに uid を自動的に割り当てたい場合は、 .Fl u オプションを使っては .Em いけません 。 コマンドライン上で .Ar useradd , .Ar userdel , .Ar usermod , .Ar usershow キーワードの直後なら、アカウントとユーザIDのどちらかを .Fl n や .Fl u を使わずにそのまま続けて書くことができます。 .El .Pp .Bl -tag -width "-G grouplist" .It Fl c Ar comment このオプションは passwd の GECOS フィールドの内容をセットします。 このフィールドは、コンマで区切られた 4 つのサブフィールドで、一般的には ユーザの姓名、勤務先または地区、職場と自宅の電話番号を含みます。 これらのサブフィールドは慣習的に使われるだけであり、省略可能です。 このフィールドが空白を含む場合、コメント自身をダブルクォート .Ql \&" でくくらなければなりません。 コンマはサブフィールドの区切りとして使われるので、フィールド内での使用は 避けて下さい。そして、コロン .Ql \&: キャラクタも passwd ファイルのフィールド区切りであるため使えません。 .It Fl d Ar dir このオプションは、アカウントのホームディレクトリを設定します。 通常、これはホームディレクトリが .Pa /etc/pw.conf から決まるデフォルト (ふつうは .Pa /home の下でアカウント名をサブディレクトリとしたもの) と異なる場合にだけ使うことになるでしょう。 .It Fl e Ar date アカウントが破棄される日付をセットします。 この日付のフォーマットは、 10 進の UNIX 時間か .Ql dd-mmm-yy[yy] フォーマットの日付のどちらかになり、後者は dd が日、mmmが月で、数字と アルファベット('Jan', 'Feb' 等)のどちらでもよく、年は 2 または 4 桁の 数字からなります。 このオプションは、 .Ql \&+n[mhdwoy] の形の相対的な日付も受け付けます。 .Ql \&n は 10 進数、 8 進数 (0 から始まる)、 16 進数 (0x で始まる) の数字で、 その後に現在の日付時刻から破棄される日までの分(m)、時(h)、日(d)、 曜日(w)、月(o)、年(y)の数がセットされます。 .It Fl p Ar date アカウントのパスワードが破棄される日付をセットします。 このフィールドは、パスワードの強制的な変更に対して適用されることを除けば、 アカウント破棄日付指定オプションと似ています。 これは、 .Fl e オプションと同様にしてセットされます。 .It Fl g Ar group 与えられた group をアカウントのプライマリグループにセットします。 .Ar group は、グループ名またはグループ ID 番号で定義されます。 .It Fl G Ar grouplist そのアカウントの追加グループをセットします。 .Ar grouplist は、コンマで区切られた、グループ名またはグループ ID 番号のリストです。 .Pa /etc/group の、グループリストで指定されたグループにそのユーザ名が追加され、 グループリストで指定されないグループからそのユーザ名が削除されます。 注意: ユーザは .Pa /etc/group のプライマリグループには加えられるべきではありません。 また、グループのメンバの変更は現在のログインにはすぐには影響されず、変 更後のログインにだけ影響します。 .It Fl L Ar class このオプションは生成されたユーザのログインクラスをセットします。 ユーザログインクラスに関する情報は .Xr login.conf 5 と .Xr passwd 5 を参照して下さい。 .It Fl m このオプションは、ユーザのホームディレクトリの作成を試みるように .Nm に指示します。 もちろんこれは .Ar useradd で新しいアカウントを加えるときにも役に立ちますが、 すでに存在するユーザのホームディレクトリを、ファイルシステムの別の場所に 移動するという使い方もできます。 新しいホームディレクトリには、 .Ar 雛型(skeleton) ディレクトリの内容が置かれます。 ここには、普通、ユーザが個人的に使うシェルの設定ファイル一式 が含まれています。 .Ar usermod にアカウントを指定して .Fl m を用いる際には、そのユーザのホームディレクトリにある 設定ファイルは、雛型ディレクトリのファイルで .Em 上書きされません 。 .Pp ユーザのホームディレクトリが作成されるとき、デフォルトでは、 .Fl b Ar dir オプション (下記参照) で指定された .Ar basehome ディレクトリのサブディレクトリとして作られ、アカウント名と同じ名前が付 けられます。 コマンドラインに .Fl d Ar dir オプションを付けると、上書きするようにすることもできます。 .It Fl k Ar dir このオプションは、 .Ar 雛型 ディレクトリをセットします。ユーザのホームディレクトリが作成 されるとき、そこから基本の起動時ファイル、設定ファイル がコピーされます。 このオプションは、 .Fl d (下記参照) や .Fl m とともに使ったときにのみ意味があります。 .It Fl s Ar shell ユーザのログインシェルを .Ar shell にセットまたは変更します。 シェルプログラムへのパスが省略されると、 .Nm は .Pa /etc/pw.conf で指定された .Ar shellpath を探し、それを適切に補います。 パスを指定するのは、特別な理由があるのでなければ、避けるべきだ ということを覚えておきましょう。 指定しないことで、プログラムが存在し、かつ実行可能であることを .Nm に確認させることができるからです。 フルパスを指定する (または空のままの "" シェルにしておく) と このチェックをせず、対話的なログインをさせないアカウントを 設定しなければならないときに設定される .Pa /nonexistent のようなエントリを作ることができます。 .It Fl h Ar fd このオプションは、 .Nm が対話的なスクリプトを使ってアカウントパスワードを 設定できるような特別のインタフェースを用意します。 コマンドラインと環境は、プログラムが情報を受け取るしくみとしては 基本的に安全ではないため、 .Nm はファイル記述子 (通常対話的スクリプトとプログラム間のパイプ) を通してのみ、アカウントとグループのパスワードの設定を許可します。 .Ar sh , .Ar bash , .Ar ksh , .Ar perl は皆、これができるしくみを持っています。 .Fl h Ar 0 が指定されると、代わりに .Nm はユーザのパスワード入力を求めるプロンプトを出し、 .Em stdin をパスワードを読み込むファイル記述子とします。 パスワードは一度しか入力されません。対話的な使用よりも スクリプト向きにできていることに注意して下さい。 .Xr passwd 1 の行に合わせて新しいパスワードの確認をしたい場合、この機能は、 .Nm を呼び出す対話的なスクリプトの一部として実装する必要があります。 .Pp 引数 .Ar fd として .Ql \&- が与えられると、パスワードとして .Ql \&* がセットされ、そのアカウントにはパスワードを使ってログインすることが できないようになります。 .El .Pp .Ar useradd を使うことで、存在するユーザ ID と重複する新しいアカウントを作成するこ とができるようになります。 これは普通エラーになって拒否されますが、 .Fl o オプションにより、重複チェックを上書きしユーザ ID の重複を 許すことになります。 これは、同一のユーザが異なるコンテキスト(異なるグループ割り当てや 異なるホームディレクトリ、異なるシェル)でログインするのを許可する 場合に、各アカウントに基本的に同一のアクセス権を与える場合に 使用できます。 .Pp .Ar useradd コマンドは .Fl D オプションを使うことで新しいユーザとグループのデフォルトも設定できます。 新しいユーザを付け加える代わりに、 .Nm は設定ファイル .Pa /etc/pw.conf に新しいデフォルトのセットを書き込みます。 .Fl D オプションを使う場合、 .Fl n Ar name や .Fl u Ar uid を使ってはいけません。そうでないとエラーになります。 .Fl D を使うと、 .Ar useradd コマンドのいくつかのコマンドラインスイッチの意味が変わります。 それは: .Bl -tag -width "-G grouplist" .It Fl D 設定ファイル .Pa /etc/pw.conf ( もしくは .Fl C Ar config オプションが使われたときは異なる名前の設定ファイル ) の中でのデフォルトの値をセットします。 .It Fl b Ar dir ユーザホームディレクトリが作成されるルートディレクトリをセットします。 このオプションのデフォルトの値は .Pa /home ですが、他の好きなディレクトリにセットできます。 .It Fl e Ar days デフォルトのアカウントの有効期間を日数でセットします。 .Fl D を付けずに使われる場合と異なり、引数はアカウントが作成されてから無効に なるまでの日数を指定する数字でなければなりません。 0 という値は、破棄する日付の自動算出を抑制します。 .It Fl p Ar days デフォルトのパスワードの有効期間を日数でセットします。 .It Fl g Ar group 新しいユーザのデフォルトのグループをセットします。 .Fl g Ar \&"" を使って空のグループを指定すると、新しいユーザは自分自身の私的なプライマリ グループ (ログイン名と同じ名前の新しいグループが作成されます) に 割り当てられます。 グループの指定には、名前または uid を引数として与えることができます。 .It Fl G Ar grouplist 新しいユーザが所属するデフォルトのグループ群を指定します。 これはプライマリグループとは別のグループの集合で、一つの グループをプライマリグループとこの別グループ群の両方に指定することは 避けなければなりません。 言い替えると、これらの別グループ群ではプライマリグループ .Em 以外の グループの構成メンバが決められます。 .Ar grouplist はコンマ区切りのグループ名もしくは ID で、 .Pa /etc/pw.conf の中にシンボル名で保存されます。 .It Fl L Ar class このオプションは、新しいユーザのためのデフォルトのログインクラスを セットします。 .It Fl k Ar dir デフォルトの .Em 雛型 ディレクトリをセットし、 .Nm がユーザのホームディレクトリを作成するときに、 そこからシェルなどの初期化ファイルのプロトタイプがコピーされます。 .It Xo .Fl u Ar min , Ns Ar max , .Fl i Ar min , Ns Ar max .Xc これらのオプションは、 .Nm により作成された新しいアカウントとグループのために割り当てるユーザと グループの最小の ID と最大の ID をセットします。 デフォルト値はどちらも最小 1000 で最大 32000 です。 .Ar min と .Ar max はどちらも数字で、 max は min より大きく、両方とも 0 から 32767 の範囲 内でなければなりません。 一般に 100 未満のユーザ ID とグループ ID はシステムに予約されており、 32000 より大きな数も (システム daemon が使う) 特殊な目的に 予約されています。 .It Fl w Ar method .Fl w オプションは新しく作成されたユーザアカウントのパスワードをセットするの に使われるデフォルトの方法を指定します。 .Ar method は以下のうちの一つです: .Pp .Bl -tag -width random -offset indent -compact .It no 新しく作成されたアカウントでのログインを不可とします。 .It yes アカウント名をパスワードにします。 .It none パスワードを空欄にします。 .It random ランダムパスワードを生成します。 .El .Pp .Ql \&random や .Ql \&no method は、最も安全です。前者の場合、 .Nm はパスワードを生成し、標準出力に出力します。 このパスワードは、ユーザがそのアカウントにアクセスするパスワードとして あなたが発行しますが、ユーザ自身が自分のパスワードを指定 (多分ひどい選択です) するものより適切です。 .Ql \&no method にした場合、パスワードでアクセスできるアカウントを与えるために スーパユーザが .Xr passwd 1 を使わなければなりません。 .It Fl y Ar path .Pa /etc/master.passwd からの情報を直接 NIS と共有しない場合、 このオプションは、NIS が使うデータベースのパス名を設定します。 NIS サーバに対してのみこのオプションを指定するべきでしょう。 .El .Pp .Ar userdel コマンドには指定可能なオプションは 3 つしかありません。 .Fl n Ar name と .Fl u Ar uid オプションは、既に説明したとおりです。 追加のオプションは以下のものです。 .Bl -tag -width "-G grouplist" .It Fl r このオプションで、 .Nm はユーザのホームディレクトリとその内容のすべてを削除します。 .Nm はシステムからファイルを削除するとき、慎重すぎるやり方をとります。 まず、削除されるアカウントの uid がシステムの別のアカウントでも使われ ていて、パスワードファイルの 'ホーム' ディレクトリが文字 .Ql \&/ で始まる正しいパスであった場合にはファイルは削除されません。 次に、ファイルやディレクトリが実際にそのユーザのものであるか、 誰かの所有であるシンボリックリンクがユーザのホームディレクトリ下にある 場合にだけ削除されます。 最後に、そのユーザの所有であるすべての中身を削除した後、 空のディレクトリだけが削除されます。 更に別の一掃が必要なときは、管理者に任されます。 .El .Pp メールスプールファイルと crontab は、ユーザ名に無条件に付属しているもの なので、アカウントが削除されたとき常に削除されます。 .Ar at コマンドによって処理待ちのキューに入っているジョブも、ユーザの uid がユニークであり、かつ、そのシステムの別のアカウントに使われていない場合は 削除されます。 .Pp .Ar usershow コマンドは、二種類のフォーマットでアカウントを閲覧できます。 フォーマットは、デフォルトで .Pa /etc/master.passwd で使われているものと同じで、パスワードフィールドは .Ql \&* に置き換えられています。 .Fl P オプションが使われると、 .Nm はより人間に読みやすい形でアカウントの詳細を出力します。 +.Fl 7 +オプションが使われると、アカウントの詳細が v7 フォーマットで表示されます。 .Fl a オプションは、現在ファイルにあるすべてのユーザをリストします。 +.Fl F +を使用すると、 +存在しないアカウントであってもその詳細を表示するよう、 +.Nm +に強制します。 .Pp .Ar usernext コマンドは、利用可能な次のユーザ ID とグループ ID を コロン区切りで返します。 これは、通常 .Nm を使う対話的なスクリプトやフロントエンド用です。 .Sh グループオプション グループを操作するコマンドには、 .Fl と .Fl q オプション (前セクションの始めに説明があります) が使えます。 他のグループ関係のコマンド: .Bl -tag -width "-m newmembers" .It Fl n Ar name グループ名を指定します。 .It Fl g Ar gid グループの ID を数字で指定します。 .Pp グループ名は uid を意味し、逆も同様なので、アカウント名 と ID フィールドとして、普通どちらか一つを付ければよいのです。 両方を指定する必要があるのは、新しいグループに指定したグループ ID を 設定するとき、または存在するグループの uid を変えたいときだけです。 .It Fl M Ar memberlist このオプションは、存在するユーザを新しいグループに (groupaddで) 加えたり、存在するメンバリストを (groupmodで) 新しいものに取り換える もうひとつの方法です。 .Ar memberlist は正当で、存在するユーザ名または uid のコンマ区切りのリストです。 .It Fl m Ar newmembers .Fl M オプションと同様、このオプションは最初に存在するメンバのリストを 入れ換えることなく、グループに存在するユーザを .Em 追加 します。 ログイン名またはユーザ ID を使うことができ、重複するユーザは警告無く 削除されます。 .El .Pp .Ar groupadd にも、存在するグループ ID を新しいグループに割り当てる .Fl o オプションがあります。 デフォルトの動作は、グループ追加の試みを拒否することになっており、この オプションはグループ ID の重複チェックを上書きします。 グループ ID を重複させる必要は滅多にありません。 .Pp .Ar groupmod コマンドには、一つの追加オプションがあります: .Pp .Bl -tag -width "-m newmembers" .It Fl l Ar name このオプションで、存在するグループ名を .Ql \&name に変更することができます。 新しい名前は存在しないものでなければならず、存在するグループ名と 重複させようとすると拒否されます。 .El .Pp .Ar groupshow へのオプションは .Fl u Ar uid の代わりにグループ ID を指定する .Fl g Ar gid を付けた .Ar usershow と同じです。 +.Fl 7 +オプションは、 +.Ar groupshow +コマンドには適用されません。 .Pp .Ar groupnext コマンドは、次に使用できるグループ ID を標準出力に返します。 .Sh ユーザのロック .Nm は、ユーザに対する簡単なパスワードロック機構を持ちます。 これは、文字列 .Ql *LOCKED* を .Pa master.passwd のパスワードフィールドに前置し、認証を失敗させることにより機能します。 .Pp .Ar lock と .Ar unlock のコマンドはユーザ名または UID を取り、 それぞれ当該アカウントをロック/アンロックします。 これらのコマンドは、前述の .Fl V , .Fl C , .Fl q オプションを受け付けます。 .Sh 診断 .Nm は、操作に成功すると EXIT_SUCCESS を返し、そうでなければ .Xr sysexits 3 により定義された以下の戻り値のうちどれかひとつを返します: .Bl -tag -width xxxx .It EX_USAGE .Bl -bullet -compact .It コマンドラインのシンタックスエラー (不適切なキーワード、未定義オプション)。 .El .It EX_NOPERM .Bl -bullet -compact .It root でないユーザとして、何らかの更新を実行しようとした。 .El .It EX_OSERR .Bl -bullet -compact .It メモリアロケーションエラー。 .It パスワードファイル記述子の読み出しエラー .El .It EX_DATAERR .Bl -bullet -compact .It コマンドライン上やパスワードファイル記述子の、間違った、または正しくな いデータや欠落データ。 .It root アカウントの名前や uid の変更、削除をしようとした。 .El .It EX_OSFILE .Bl -bullet -compact .It 雛型ディレクトリが適切でない、または存在しない。 .It 基本ホームディレクトリが適切でない、または存在しない。 .It 指定したシェルが適切でない、または存在しない。 .El .It EX_NOUSER .Bl -bullet -compact .It 指定されたユーザ、ユーザ ID、グループ、グループ ID が存在しない。 .It 記録、追加、または更新されたユーザ、グループが予期せず無くなった。 .El .It EX_SOFTWARE .Bl -bullet -compact .It 指定した範囲には未使用グループ ID、ユーザ ID が残っていない。 .El .It EX_IOERR .Bl -bullet -compact .It 設定ファイルの書き換えができない。 .It グループやユーザデータベースファイルの更新時エラー。 .It パスワードまたはグループデータベースファイルの更新時エラー。 .El .It EX_CONFIG .Bl -bullet -compact .It 基本ホームディレクトリが設定されていない。 .El .El .Sh 注 各コマンドに使用可能なオプションの要約として、 .Dl pw [command] help が使えます。例えば、 .Dl pw useradd help は useradd 操作に使用できるすべてのオプションをリストします。 .Pp .Nm は、passwd ファイルの GECOS フィールド(ユーザの姓名、オフィス、業務用 電話番号、自宅電話番号のサブフィールドがあります)に 8 ビット文字を 使うことができます。しかし、8 ビット文字をユーザログイン名やグループ 名に使うことはできません。8 ビット文字の使用に際して、以下の点に注意して ください。 インターネットとの接続に際しては、メール配送プログラムが 8BITMIME を サポートしていることが要求されており、8 ビット文字を含むヘッダは 7 ビットの quoted-printable フォーマットに変換されてしまいます。 .Xr sendmail 8 はこの機能をサポートしています。 GECOS フィールドに 8 ビット文字を 置く際は、ユーザのデフォルトロケールとデフォルト文字集合といっしょに 使用するべきで、これらを使用せずに実装してはいけません。 8 ビット文字の使用は、 .Xr fingerd 8 のように、インターネット経由で GECOS フィールドの内容を やりとりする他のプログラムにも影響を及ぼす可能性があります。 TCP/IP クライアントの中には、IRC のように、少数ながらもパスワード ファイルに指定されたフルネームをデフォルトで使用するものも あります。 .Sh 関連ファイル .Bl -tag -width /etc/master.passwd.new -compact .It Pa /etc/master.passwd ユーザデータベース .It Pa /etc/passwd Version 7 フォーマットのパスワードファイル .It Pa /etc/login.conf ユーザケーパビリティデータベース (user capability database) .It Pa /etc/group グループデータベース .It Pa /etc/master.passwd.new マスタパスワードファイルの一時コピー .It Pa /etc/passwd.new Version 7 パスワードファイルの一時コピー .It Pa /etc/group.new グループファイルの一時コピー .It Pa /etc/pw.conf pw コマンドのデフォルトオプションファイル .El .Sh 関連ファイル .Xr chpass 1 , .Xr passwd 1 , .Xr group 5 , .Xr login.conf 5 , .Xr passwd 5 , .Xr pw.conf 5 , .Xr pwd_mkdb 8 , .Xr vipw 8 .Sh 歴史 .Nm は、 SYSV の .Em shadow サポートで使われていた多くのオプションを模倣して書かれましたが、 .Bx 4.4 オペレーティングシステムに特有のパスワードフィールド、 グループフィールドに合わせて変更されています。また、ほとんどの要素が 一つのコマンドにまとめられています。