PW.CONF(5)

名称
pw.conf - pw.conf 設定ファイルのフォーマット

解説
ファイル </etc/pw.conf> には pw(8) プログラムで使用される設定データが含まれています。 pw(8) プログラムはシステムのパスワードとグループファイルのメンテナンスに使用され、 ユーザやグループを追加、削除、変更します。 このファイルは pw(8) コマンドによって useradd コマンドと -D オプション を使うか、テキストエディタによって直接編集することによって変更されます。

</etc/pw.conf> における各行は、コメントもしくは設定データとして扱われます。 空白行と ‘#’ 文字によって開始している行はコメントとなります。 それら以外の行はキーワードが最初に指定され、 それに対応するデータが続くものとして処理されます。

pw(8) によって認識されるキーワードには以下のものがあります。
defaultpasswd
    新規ユーザのパスワードとなります。
reuseuids
    UID の空き番号を再使用します。
nispasswd
    NIS パスワードデータベースへのパスです。
reusegids
    GID の空き番号を再使用します。
skeleton
    ホームディレクトリにコピーするデフォルトのファイルの在処です。
newmail
    新規ユーザに送付するメールです。
logfile
    このファイルにユーザ/グループの変更のログを取ります。
home
    ホームディレクトリのルートディレクトリです。
shellpath
    シェルプログラムのパスです。
shells
    有効なシェルのリストです (パスは含みません)。
defaultshell
    デフォルトのシェルです (パスは含みません)。
defaultgroup
    デフォルトのグループです。
extragroups
    新規ユーザをこのグループに追加します。
defaultclass
    新規ユーザのこのログインクラスに設定します。
minuid
maxuid
    有効なデフォルトユーザ ID の範囲です。
mingid
maxgid
    有効なデフォルトグループ ID の範囲です。
expire_days
    アカウントが期限切れとなるまでの日数です。
password_days
    パスワードが期限切れとなるまでの日数です。

defaultpasswd の有効な値は以下の通りです。
no  新規に作成したアカウントでのログインを無効にします。
yes パスワードをアカウント名に強制的に設定します。
none
    強制的にパスワードをブランクにします。
random
    ランダムなパスワードを生成します。

2 番目と 3 番目のオプションは安全ではなく、 一般からアクセス可能なシステムでは可能であれば避けるべきです。 最初のオプションはそのアカウントが使用される前にスーパユーザが passwd(1) を使ってパスワードを設定する必要があります。 これは管理者のアカウントを作成する場合にも便利です。 最後のオプションでは pw(8) は標準出力にランダムに生成したパスワードを出力します。 これが最も好ましく安全なオプションです。 pw(8) はファイルハンドル経由で (コマンド行による方法は安全でないためです) 新規ユーザに特定のパスワードを設定する方法も提供しています。

reuseuids と reusegids は新規のユーザ ID とグループ ID 番号の生成方法を指定します。 このフィールドで ‘yes’ が指定されていると pw(8) は許可された範囲で 最初の使用されていないユーザ ID か グループ ID を検索します。 ‘no’ が指定されていると 範囲中のすでに存在している他のユーザ ID もしくはグループ ID が 新規に生成された ID より必ず小さくなることを保証し、 以前にユーザもしくはグループを削除したことによって生じた グループ ID もしくはユーザ ID の空き番号を再度使用することを 避けることができます。 デフォルトグループがキーワード defaultgroup によって指定されていない場合、 pw(8) は新規ユーザに対して新規グループを生成し、 新規のユーザ ID とグループ ID に同じものを使用するように試みます。 新規ユーザのユーザ ID がすでにグループ ID として使用されている場合は、 その代わりに次に使用可能なグループ ID が選択されます。

NIS サーバで /etc/master.passwd とは別の passwd データベースを管理している場合、 このオプションを使用すると、 ユーザレコードの追加・修正・削除といった更新を 追加のファイルに対しても同時に行うことができます。 空白または 'no' に設定すると、 追加のデータベースは更新されません。 絶対パス名を使用する必要があります。

skeleton キーワードはユーザの新規のホームディレクトリの内容を作る上での もととなるディレクトリを指定します。 デフォルトでは /usr/share/skel となっています。 pw(8) で -m オプションを指定すると、ユーザのホームディレクトリが作成され、 skeleton ディレクトリに含まれるファイルがそこにコピーされます。

newmail キーワードによって送信するメッセージの本文を含むファイルの パス名を指定することによって、 新規ユーザに通知の電子メールを送信することができます。 アカウントが作成された時にメールを出さないようにするには、 このエントリを空にしておくか ‘no’ を指定します。

logfile オプションによってパスワードファイルの変更のログを指定したログファイルに 取ることができます。 ログファイルを作成したり追加したりしないようにするには、 このフィールドを空にしておくか ‘no’ を指定します。

home キーワードは必ず指定する必要のあるものです。 これはすべての新規ユーザのホームディレクトリが作成される ディレクトリの場所を指定するものです。

shellpath はログインシェルとして使われるプログラムが含まれる ディレクトリのリストをコロン ‘’: で区切って指定します。

shells キーワードはログインシェルとして使用可能なプログラムのリストを指定します。 このリストはコンマで区切られたシェル名のリストであり、パスは含みません。 これらのシェルは shellpath によって指定されているいずれかのディレクトリの中にある必要があります。

defaultshell キーワードは pw(8) のコマンド行で新規ユーザのシェルプログラムが 何も指定されていない場合のシェルプログラムを指定します。

defaultgroup キーワードは新規アカウントに使用される第 1 グループ (パスワードファイル中のグループ ID 番号) を指定します。 これが空であるか、 ‘no’ が指定されていると各々の新規ユーザには自動的に各々のグループが 作成されます。 これはユーザによって通常使われている umask に関係なく、システムの他のユーザによる不正アクセスから 各ユーザのファイルを守ることができるため、 新規にユーザを作成する場合の推奨方法となります。

extragroups によって新規ユーザを自動的に /etc/groups ファイル中のグループに登録することができます。 これはすべてのユーザがあるリソースを共有していたり、 ユーザを同じ第 1 グループに登録したい場合に便利な機能です。 pw(8) のコマンドオプションで -G を使用することによって、このキーワードの効果を変更することができます。

defaultclass フィールドにより、 pw(8) によって指定されない場合に新規ユーザが割り当てられるログインクラス ( login.conf(5) 参照) を指定することができます。

minuid, maxuid, mingid, maxgid の各キーワードは自動的に割り当てるユーザ ID とグループ ID 番号の 範囲を指定します。 ユーザとグループ ID のデフォルトの値は最小 1000 から最大 32000 の 範囲となります。 実際に pw(8) によってアカウントを作成する際に使用されるユーザとグループ ID は コマンド行のオプションの -u と -g によって変更することができます。

expire_days と password_days はそれぞれアカウントが作成された日から、 アカウントの期限が切れる日、 またはユーザがアカウントのパスワードの変更を強要される日までの 日数計算を自動的に行うために使用されます。 いずれかのフィールドで値 ‘0’ を指定すると、対応する (アカウントかパスワードの) 期限切れを抑止します。

制限事項
/etc/pw.conf で 1 行は最長 1024 文字までとなります。 これより長い行についてはスキップされコメントとして扱われます。

関連ファイル
/etc/pw.conf
/etc/passwd
/etc/master.passwd
/etc/group

関連項目
passwd(1), group(5), login.conf(5), passwd(5), pw(8)