doc/ja/man/man8/pw.8
Hiroyuki Hanai 4aacbe2a6b Now, the Japanese Manual is for 2.2-980511.
Reviewed by: The Japanese Online Manual Project <man-jp@jp.FreeBSD.ORG>
Submitted by: horikawa@jp.freebsd.org
1998-05-18 01:06:55 +00:00

804 lines
22 KiB
Groff

.\" 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.
.\"
.\" %Id: pw.8,v 1.1.1.1.2.5 1997/11/04 07:16:14 charnier Exp %
.\" jpman %Id: pw.8,v 1.3 1997/10/28 15:30:48 kuriyama Stab %
.\"
.Dd December 9, 1996
.Dt PW 8
.Os
.Sh 名称
.Nm pw
.Nd システムユーザ、グループの作成、削除、変更、表示
.Sh 書式
.Nm pw
.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
.Nm pw
.Ar useradd
.Op name|uid
.Op 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,max
.Op Fl i Ar min,max
.Op Fl w Ar method
.Op Fl s Ar shell
.Nm pw
.Ar userdel
.Op name|uid
.Op Fl n Ar name
.Op Fl u Ar uid
.Op Fl r
.Nm pw
.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
.Nm pw
.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 pw
.Ar usernext
.Op Fl C Ar config
.Op Fl q
.Nm pw
.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
.Nm pw
.Ar groupdel
.Op Fl n Ar name
.Op Fl g Ar gid
.Nm pw
.Ar groupmod
.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
.Nm pw
.Ar groupshow
.Op Fl n Ar name
.Op Fl g Ar gid
.Op Fl F
.Op Fl P
.Op Fl a
.Nm pw
.Ar groupnext
.Op Fl C Ar config
.Op Fl q
.Sh 解説
.Nm pw
は、システムの
.Ar user
.Ar group
ファイルのユーザ、グループを簡単に、標準的な方法で追加、変更、削除
することができるようにするコマンドライン版のエディタです。
.Nm
は、ローカルな user ファイルと group ファイルを操作することができるだ
けだということに注意して下さい。 NIS のユーザ、グループは NIS サーバ上
で管理しなければなりません。
.Nm
は root で実行されなければならず、
.Pa passwd ,
.Pa master.passwd ,
.Pa group
ファイルや、安全なまたは安全でないパスワードデータベースファイル
の更新作業を行います。
.Pp
.Xr pw 8
のコマンドラインにかかれている最初の一つか二つのキーワードは、引数の残り
に対する文脈を規定します。
.Ar user
.Ar group
のキーワードはどちらも、
.Ar add ,
.Ar del ,
.Ar mod ,
.Ar show ,
.Ar next
と組み合わせるか、分離して用いることができ、どちらの順序 (例えば
showuser, usershow, show user, 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 C Ar config
.Nm
は新しいユーザアカウントとグループはどのように作られるべきかという
方針の情報を得るために、デフォルトではファイル
.Pa /etc/pw.conf
を読み込みますが、
.Fl C
オプションで異なる設定ファイルを指定できます。
設定ファイルのほとんどの内容は、コマンドライン
オプションにより上書きされますが、新しいアカウントを追加するための標準
的な情報を設定ファイルに設定しておくと
より便利かもしれません。
.It Fl q
このオプションを使うと
.Nm
はエラーメッセージを抑制します。これは、注意深くフォーマットされたディスプレイへのメッセージ表示よりも、
.Nm
から返された戻り値を解釈する方が好まれるような対話的な環境では
便利かもしれません。
.It Fl N
このオプションは add と modify 操作で使います。
.Nm
は、ユーザ/グループデータベースの更新をスキップして、操作を実際には
実行せずに、代わりに結果だけを出力します。
.Fl P
オプションを使うと、標準 passwd と可読なフォーマットの切り替えが
できます。
.El
.Pp
.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 を含み、逆も同様であるため、通常これらのオプション
のどちらか片方しか必要ではありません。
また
.Ql Fl n
.Ql Fl u
を使わなくても、コマンドライン上で
.Ar useradd ,
.Ar userdel ,
.Ar usermod ,
.Ar usershow
キーワードの直後にアカウントとユーザIDのどちらでも続けることができます。
しかし、両方を指定しなければならないこともしばしばあります。
例えば、存在するユーザの uid を
.Ar usermod
で変えたり、新しいアカウントを作るときにデフォルトの uid を上書きした
りするときです。
.Nm
.Ar useradd
を使って新しいユーザに uid を自動的に割り当てたい場合は、
.Ql Fl u
オプションを使っては
.Em いけません
.El
.Pp
.Ar useradd
.Ar usermod
の両方で使えるオプション:
.Bl -tag -width "-G grouplist"
.It Fl c Ar comment
このオプションは passwd の GECOS フィールドの内容をセットします。
このフィールドは、カンマで区切られた四つのサブフィールドで、一般的には
ユーザの姓名、勤務先または地区、職場と自宅の電話番号を含みます。
これらのサブフィールドは慣習的に使われるだけであり、省略可能です。
このフィールドが空白を含む場合、コメント自身をダブルクォート
.Ql \&"
でくくらなければなりません。
サブフィールドの区切りで使われたような、フィールド内のカンマの使用は
避けて下さい。そして、コロン
.Ql \&:
キャラクタも passwd ファイルのフィールド区切りであるため使えません。
.It Fl d Ar dir
このオプションは、アカウントのホームディレクトリを設定します。
通常、これはホームディレクトリがデフォルト (基本のホームディレクトリ
- 普通
.Pa /home
と サブディレクトリとしてのアカウント名 - を指定する
pw.conf で決定されます) と異なる場合にだけ使うことになるでしょう。
.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
アカウントのパスワードが破棄される日付をセットします。
このフィールドは、強制的なパスワードの変更を適用することを除けば、
アカウントを破棄するオプションと同等です。
アカウントを破棄するオプションと同じフォーマットを受け付けます。
.It Fl g Ar group
与えられた group をアカウントの初期グループにセットします。
.Ar group
は、グループ名または対応するグループ ID 番号が使えます。
.It Fl G Ar grouplist
アカウントが属する別のグループをセットします。
.Ar grouplist
は、カンマ区切りのリスト、またはグループ名、またはグループ IDです。
ユーザを加える場合、
.Pa /etc/group
の各グループにユーザ名が追加されます。
ユーザを編集する場合、
.Ar grouplist
に指定されたグループにユーザ名が加えられ、
指定されなかったグループからは除かれます。
注意: ユーザは
.Pa /etc/group
の初期グループには加えられるべきではありません。
また、グループのメンバの変更は現在のログインにはすぐには影響されず、変
更後のログインにだけ影響します。
.It Fl L Ar class
このオプションは生成されたユーザのログインクラスをセットします。
ユーザクラスに関する情報は
.Xr login.conf 5
を参照して下さい。
.It Fl m
このオプションは、ユーザのホームディレクトリの作成を試みるように
.Nm
に指示します。
もちろんこれは
.Ar useradd
で新しいアカウントを加えるときにも役に立ちますが、
存在するユーザのホームディレクトリをファイルシステムの別の場所に
移動する、という使い方もできます。
新しいホームディレクトリは、一般にユーザが個人的に使う
シェルの設定ファイル一式を含む、
.Ar 雛型
ディレクトリの内容と共に移されます。
.Ar usermod
にアカウントを指定して
.Ql Fl m
が用いられると、そのユーザのホームディレクトリにある
設定ファイルはプロトタイプのファイルで
.Em 上書きされません
.Pp
ユーザのホームディレクトリが作成されるとき、デフォルトで
.Ql Fl b Ar dir
オプション (下記参照) で指定された
.Ar basehome
ディレクトリのサブディレクトリとして作られ、アカウント名と同じ名前が付
けられます。
コマンドラインに
.Ql Fl d Ar dir
オプションを付けると、上書きするようにもできます。
.It Fl k Ar dir
このオプションは、
.Ar 雛型
のサブディレクトリをセットします。ユーザのホームディレクトリが作成
されるとき、そこから基本の起動時ファイル、設定ファイル
がコピーされます。
このオプションは、
.Ql Fl D
(下記参照) や
.Ql Fl m
と共に使ったときにのみ意味があります。
.It Fl s Ar shell
ユーザのログインシェルを
.Ar shell
にセットまたは変更します。
シェルプログラムへのパスが省略されると、
.Nm
.Pa /etc/pw.conf
で指定された
.Ar shellpath
を探し、それを適切に補います。
パスを指定するのは、特別な理由があるのでなければ、避けるべきだ
ということを覚えておきましょう。
指定しないことで、プログラムが存在し、かつ実行可能であることを
.Nm
に確認させることができるからです。
フルパスを指定する (または空のままの "" シェルにしておく) と
このチェックをせず、対話的なログインをさせないアカウントを
設定しなければならないときに設定される
.Pa /nonexistent
のようなエントリを作ることができます。
.It Fl L Ar class
ユーザの passwd レコード内の
.Em class
フィールドをセットします。
このフィールドは現在使われていませんが、将来は
.Em termcap
エントリのようなタグ (詳細は
.Xr passwd 5
を参照のこと) を指定するために使われるでしょう。
.It Fl h Ar fd
このオプションは、
.Nm
を使ってアカウントパスワードを設定することができる対話的なスクリプトを
設定できるような特別のインタフェースを用意します。
コマンドラインと環境は、プログラムが情報を受け取るしくみとしては
基本的に安全ではないため、
.Nm
はファイル記述子 (通常対話的スクリプトとプログラム間のパイプ)
を通してのみ、アカウントとグループのパスワードの設定を許可します。
.Ar sh ,
.Ar bash ,
.Ar ksh ,
.Ar perl
は皆、これができるしくみを持っています。
.Ql Fl h Ar 0
が指定されると、代わりに
.Nm
はユーザのパスワードを求めるプロンプトを出し、
.Em stdin
をパスワードを読み込むファイル記述子とします。
このパスワードは一度しか読み込まれず、対話的な使用よりも
スクリプト向きにできていることに注意して下さい。
.Xr passwd 1
の行に合わせて新しいパスワードの確認をしたい場合、これは
.Nm
を呼び出す対話的なスクリプトの一部として実装されるべきです。
.Pp
引数
.Ar fd
として
.Ql \&-
が与えられると、パスワードとして
.Ql \&*
がセットされ、そのアカウントにはパスワードでログインすることが
できないようになります。
.El
.Pp
.Ar useradd
を使うことで、存在するユーザ ID と重複する新しいアカウントを作成するこ
とができるようになります。
これは普通エラーになって拒否されるはずですが、
.Ql Fl o
オプションが重複チェックを上書きし、ユーザ ID の重複を
許すことになります。
これは、同一のユーザが異なるコンテキスト(異なるグループ割り当てや
異なるホームディレクトリ、異なるシェル)でログインするのを許可する
場合に、各アカウントに基本的に同一のアクセス権を与える場合に便利です。
.Pp
.Ar useradd
コマンドは
.Ql Fl D
オプションを使うことで新しいユーザとグループのデフォルトも設定できます。
新しいユーザを付け加える代わりに、
.Nm
は設定ファイル
.Pa /etc/pw.conf
に新しいデフォルトのセットを書き込みます。
.Ql Fl D
オプションを使う場合、
.Ql Fl n Ar name
.Ql Fl u Ar uid
を使ってはいけません。そうでないとエラーになります。
.Ql Fl D
を使うと、
.Ar useradd
コマンドのいくつかのコマンドラインスイッチの意味が変わります。
それは:
.Bl -tag -width "-G grouplist"
.It Fl D
設定ファイル
.Pa /etc/pw.conf
( もしくは
.Ql Fl C Ar config
オプションが使われたときは異なる名前の設定ファイル )
の中でのデフォルトの値をセットします。
.It Fl b Ar dir
ユーザホームディレクトリが作成されるルートディレクトリをセットします。
このオプションのデフォルトの値は
.Pa /home
ですが、他の好きなディレクトリにセットできます。
.It Fl e Ar days
デフォルトのアカウントの有効期間を日数でセットします。
.Ql Fl D
を付けずに使われる場合と異なり、引数はアカウントが作成されてから無効に
なるまでの日数を指定する数字でなければなりません。
0 という値は、破棄する日付の自動算出を抑制します。
.It Fl p Ar days
デフォルトのパスワードの有効期間を日数でセットします。
.It Fl g Ar group
新しいユーザのデフォルトのグループをセットします。
.Ql 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 Fl u Ar min,max , Fl i Ar min,max
これらのオプションは、
.Nm
により作成された新しいアカウントとグループのために割り当てるユーザと
グループの最小の ID と最大の ID をセットします。
デフォルト値はどちらも最小 1000 で最大 32000 です。
.Ar min
.Ar max
はどちらも数字で、 max は min より大きく、両方とも 0 から 32767 の範囲
内でなければなりません。
一般に 100 未満のユーザ ID とグループ ID はシステムに予約されており、
32000 より大きな数も (システム daemon が使う) 特殊な目的に
予約されています。
.It Fl w Ar method
.Ql Fl w
オプションは新しく作成されたユーザアカウントのパスワードをセットするの
に使われるデフォルトの方法を指定します。
.Ar method
は以下のうちの一つです:
.Pp
.Bl -tag -width random -offset indent -compact
.It no
新しく作成されたアカウントでのログインを不可とします。
.It yes
アカウント名をパスワードにします。
.It none
パスワードを空欄にします。
.It random
ランダムパスワードを生成します。
.El
.Pp
The
.Ql \&random
.Ql \&no
method は、最も安全です。前者の場合、
.Nm
はパスワードを生成し、標準出力に出力します。
このパスワードは、ユーザがそのアカウントにアクセスするパスワードとして
あなたが発行しますが、ユーザ自身が自分のパスワードを指定
(多分ひどい選択です) するものより適切です。
.Ql \&no
method にした場合、パスワードでアクセスできるアカウントを与えるために
スーパユーザが
.Xr passwd 1
を使わなければなりません。
.El
.Pp
.Ar userdel
コマンドには三つしか正しいオプションがありません。
.Ql Fl n Ar name
.Ql 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 \&*
に置き換えられています。
.Ql Fl P
オプションが使われると、
.Nm
はより人間に読みやすい形でアカウントの詳細を出力します。
.Ql Fl a
オプションは、現在ファイルにあるすべてのユーザをリストします。
.Pp
.Ar usernext
コマンドは、利用可能な次のユーザ ID とグループ ID を
コロン区切りで返します。
これは、通常
.Nm
を使う対話的なスクリプトやフロントエンド用です。
.Pp
.Sh グループオプション
グループを操作するコマンドには、
.Ql Fl C Ar config
.Ql 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
.Op M
オプションと同様、このオプションは最初に存在するメンバのリストを
入れ換えることなく、グループに存在するユーザを
.Em 追加
します。
ログイン名またはユーザ ID を使うことができ、重複するユーザは警告無く
自動的に削除されます。
.El
.Pp
.Ar groupadd
にも、存在するグループ ID を新しいグループに割り当てる
.Ql Fl o
オプションがあります。
デフォルトの動作は、グループ追加の試みを拒否することになっており、この
オプションはグループ ID の重複チェックを上書きします。
グループ ID を重複させる必要は滅多にありません。
.Pp
.Ar groupmod
コマンドには、一つの追加オプションがあります:
.Pp
.Bl -tag -width "-m newmembers"
.It Fl l Ar name
このオプションで、存在するグループ名を
.Ql \&name
に変更することができます。
新しい名前は存在しないものでなければならず、存在するグループ名と
重複させようとすると拒否されます。
.El
.Pp
.Ar groupshow
へのオプションは
.Ql Fl u Ar uid
の代わりにグループ ID を指定する
.Ql Fl g Ar gid
を付けた
.Ar usershow
と同じです。
.Pp
.Ar groupnext
コマンドは、次に使用できるグループ ID を標準出力に返します。
.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
.Pp
.Sh 注釈
各コマンドに使用可能なオプションの要約として、
.Dl pw [command] help
が使えます。例えば、
.Dl pw useradd help
は useradd 操作に使用できるすべてのオプションをリストします。
.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
オペレーティングシステムに特有のパスワードフィールド、
グループフィールドに合わせて変更されています。また、ほとんどの要素が
一つのコマンドにまとめられています。