pw(8) FreeBSD 一般コマンドマニュアル

pw

前のページ 上に戻る 次のページ

pw


        [-c comment] [-d dir] [-e date] [-p date] [-g group] [-G grouplist]
        [-m] [-k dir] [-s shell] [-o] [-L class] [-h fd] [-N] [-P] [-Y]
     pw [-V etcdir] useradd [name|uid] -D [-C config] [-q] [-b dir] [-e days]
        [-p days] [-g group] [-G grouplist] [-k dir] [-u min,max] [-i min,max]
        [-w method] [-s shell] [-y path]
     pw [-V etcdir] userdel [name|uid] [-n name] [-u uid] [-r] [-Y]
     pw [-V etcdir] usermod [name|uid] [-C config] [-q] [-n name] [-u uid]
        [-c comment] [-d dir] [-e date] [-p date] [-g group] [-G grouplist]
        [-l name] [-m] [-k dir] [-w method] [-s shell] [-L class] [-h fd] [-N]
        [-P] [-Y]
     pw [-V etcdir] usershow [name|uid] [-n name] [-u uid] [-F] [-P] [-a]
     pw [-V etcdir] usernext [-C config] [-q]
     pw [-V etcdir] groupadd [group|gid] [-C config] [-q] [-n group] [-g gid]
        [-M members] [-o] [-h fd] [-N] [-P] [-Y]
     pw [-V etcdir] groupdel [group|gid] [-n name] [-g gid] [-Y]
     pw [-V etcdir] groupmod [group|gid] [-C config] [-q] [-F] [-n name]
        [-g gid] [-l name] [-M members] [-m newmembers] [-h fd] [-N] [-P] [-Y]
     pw [-V etcdir] groupshow [group|gid] [-n name] [-g gid] [-F] [-P] [-a]
     pw [-V etcdir] groupnext [-C config] [-q]
     pw [-V etcdir] lock [name|uid] [-C config] [-q]
     pw [-V etcdir] unlock [name|uid] [-C config] [-q]


解説

     pw は、システムの usergroup ファイルのユーザ、グループを簡単に、標準
     的な方法で追加、変更、削除することができるようにするコマンドライン版のエ
     ディタです。 pw は、ローカルな user ファイルと group ファイルを操作するこ
     とができるだけだということに注意して下さい。 NIS のユーザ、グループは NIS
     サーバ上で管理しなければなりません。 pwpasswd, master.passwd, group
     ファイルや、安全なまたは安全でないパスワードデータベースファイルの更新作
     業を行いますので、 root で実行されなければなりません。

     pw のコマンドラインにかかれている最初の一つか二つのキーワードは、引数の残
     りを解釈する際の文脈を指定します。 usergroup のキーワードはどちらも、
     add, del, mod, show, next と組み合わせて用いることができ、どのような順序
     (例えば showuser, usershow, show user, user show はすべて同じこととみなさ
     れます) で指定してもかまいません。この柔軟性は、ユーザ、グループデータベ
     ース操作のために pw を呼び出す対話的なスクリプトには便利です。 -n name,
     -u uid, -g gid オプションを使う代わりに、これらのキーワードに続けてユーザ
     名、グループ名、数字の ID のうち一つを指定することができます。

     以下のフラグは操作のほとんどまたは全てのモードで共通です。

     -V etcdir     本フラグは、パスワードファイル・グループファイル・設定ファ
                   イルを探すための、通常とは別の場所をセットします。また、通
                   常とは別の場所でユーザ/グループデータベースを管理するために
                   使用可能です。本スイッチを指定すると、システムの
                   /etc/pw.conf をデフォルト設定データをしては使用せず、代り
                   に、指定したディレクトリ中のファイル pw.conf を使用します (
                   存在しない場合には使用しません)。 -C フラグは、この動作に優
                   先します。一般規則では、オプションは操作タイプに後続する必
                   要があるのですが、 -V フラグは例外であり、コマンドライン上
                   で操作キーワードの前で使用可能です。

     -N            このオプションは addmodify 操作で使います。 pw は、ユー
                   ザ/グループデータベースを更新せずに、操作の結果だけを出力し
                   ます。 -P オプションを使うと、標準 passwd フォーマットと可
                   読なフォーマットの切り替えができます。

     -Y            更新モードのいずれかと、このオプションとをいっしょに使うこ
                   とで、 pw は、 /var/yp にカレントディレクトリを移動させてか
                   ら make(1) を実行します。これは、NIS データベースファイルの
                   自動更新を可能とするためのものです。NIS が別のパスワード
                   ファイル、グループファイルを使っている場合、 -y path オプ
                   ションを使い、NIS パスワードデータベースの位置を指定すると
                   よいでしょう。これにより、 pw は、システムパスワードデータ
                   ベースと並行してこれらのデータベースも同時に更新します。


ユーザオプション

     以下のオプションは useraddusermod コマンドに付けます:

     -n name       ユーザ名/アカウント名を指定します。

     -u uid        ユーザ ID / アカウント ID を数字で指定します。

                   アカウント名は uid を含み、逆も同様であるため、通常これらの
                   オプションのどちらか片方しか必要ではありません。しかし、両
                   方を指定しなければならないこともしばしばあります。例えば、
                   すでに存在するユーザの uid を usermod で変えたり、新しいア
                   カウントを作るときにデフォルトの uid を上書きしたりするとき
                   です。 pwuseradd を使って新しいユーザに uid を自動的に
                   割り当てたい場合は、 -u オプションを使っては いけません。コ
                   マンドライン上で useradd, userdel, usermod, usershow キーワ
                   ードの直後なら、アカウントとユーザIDのどちらかを -n-u
                   を使わずにそのまま続けて書くことができます。

     -c comment    このオプションは passwd の GECOS フィールドの内容をセットし
                   ます。このフィールドは、コンマで区切られた 4 つのサブフィー
                   ルドで、一般的にはユーザの姓名、勤務先または地区、職場と自
                   宅の電話番号を含みます。これらのサブフィールドは慣習的に使
                   われるだけであり、省略可能です。このフィールドが空白を含む
                   場合、コメント自身をダブルクォート `"' でくくらなければなり
                   ません。コンマはサブフィールドの区切りとして使われるので、
                   フィールド内での使用は避けて下さい。そして、コロン `:' キャ
                   ラクタも passwd ファイルのフィールド区切りであるため使えま
                   せん。

     -d dir        このオプションは、アカウントのホームディレクトリを設定しま
                   す。通常、これはホームディレクトリが /etc/pw.conf から決ま
                   るデフォルト (ふつうは /home の下でアカウント名をサブディレ
                   クトリとしたもの) と異なる場合にだけ使うことになるでしょ
                   う。

     -e date       アカウントが破棄される日付をセットします。この日付のフォー
                   マットは、 10 進の UNIX 時間か `dd-mmm-yy[yy]' フォーマット
                   の日付のどちらかになり、後者は dd が日、mmmが月で、数字とア
                   ます。

     -G grouplist  そのアカウントの追加グループをセットします。 grouplist は、
                   コンマで区切られた、グループ名またはグループ ID 番号のリス
                   トです。 /etc/group の、グループリストで指定されたグループ
                   にそのユーザ名が追加され、グループリストで指定されないグル
                   ープからそのユーザ名が削除されます。注意: ユーザは
                   /etc/group のプライマリグループには加えられるべきではありま
                   せん。また、グループのメンバの変更は現在のログインにはすぐ
                   には影響されず、変更後のログインにだけ影響します。

     -L class      このオプションは生成されたユーザのログインクラスをセットし
                   ます。ユーザログインクラスに関する情報は login.conf(5) を参
                   照して下さい。

     -m            このオプションは、ユーザのホームディレクトリの作成を試みる
                   ように pw に指示します。もちろんこれは useradd で新しいアカ
                   ウントを加えるときにも役に立ちますが、すでに存在するユーザ
                   のホームディレクトリを、ファイルシステムの別の場所に移動す
                   るという使い方もできます。新しいホームディレクトリには、 雛
                   型(skeleton) ディレクトリの内容が置かれます。ここには、普
                   通、ユーザが個人的に使うシェルの設定ファイル一式が含まれて
                   います。 usermod にアカウントを指定して -m を用いる際には、
                   そのユーザのホームディレクトリにある設定ファイルは、雛型
                   ディレクトリのファイルで 上書きされません。

                   ユーザのホームディレクトリが作成されるとき、デフォルトで
                   は、 -b dir オプション (下記参照) で指定された basehome
                   ディレクトリのサブディレクトリとして作られ、アカウント名と
                   同じ名前が付けられます。コマンドラインに -d dir オプション
                   を付けると、上書きするようにすることもできます。

     -k dir        このオプションは、 雛型ディレクトリをセットします。ユーザの
                   ホームディレクトリが作成されるとき、そこから基本の起動時
                   ファイル、設定ファイルがコピーされます。このオプションは、
                   -d (下記参照) や -m とともに使ったときにのみ意味がありま
                   す。

     -s shell      ユーザのログインシェルを shell にセットまたは変更します。
                   シェルプログラムへのパスが省略されると、 pw/etc/pw.conf
                   で指定された shellpath を探し、それを適切に補います。パスを
                   指定するのは、特別な理由があるのでなければ、避けるべきだと
                   いうことを覚えておきましょう。指定しないことで、プログラム
                   が存在し、かつ実行可能であることを pw に確認させることがで
                   きるからです。フルパスを指定する (または空のままの "" シェ
                   ルにしておく) とこのチェックをせず、対話的なログインをさせ
                   ないアカウントを設定しなければならないときに設定される
                   /nonexistent のようなエントリを作ることができます。

     -L class      ユーザの passwd レコード内の class フィールドをセットしま
                   す。このフィールドは現在使われていませんが、将来は termcap
                   エントリのようなタグ (詳細は passwd(5) を参照のこと) を指定
                   場合、この機能は、 pw を呼び出す対話的なスクリプトの一部と
                   して実装する必要があります。

                   引数 fd として `-' が与えられると、パスワードとして `*' が
                   セットされ、そのアカウントにはパスワードを使ってログインす
                   ることができないようになります。

     useradd を使うことで、存在するユーザ ID と重複する新しいアカウントを作成
     することができるようになります。これは普通エラーになって拒否されますが、
     -o オプションにより、重複チェックを上書きしユーザ ID の重複を許すことにな
     ります。これは、同一のユーザが異なるコンテキスト(異なるグループ割り当てや
     異なるホームディレクトリ、異なるシェル)でログインするのを許可する場合に、
     各アカウントに基本的に同一のアクセス権を与える場合に使用できます。

     useradd コマンドは -D オプションを使うことで新しいユーザとグループのデ
     フォルトも設定できます。新しいユーザを付け加える代わりに、 pw は設定ファ
     イル /etc/pw.conf に新しいデフォルトのセットを書き込みます。 -D オプショ
     ンを使う場合、 -n name-u uid を使ってはいけません。そうでないとエラー
     になります。 -D を使うと、 useradd コマンドのいくつかのコマンドラインス
     イッチの意味が変わります。それは:

     -D            設定ファイル /etc/pw.conf ( もしくは -C config オプションが
                   使われたときは異なる名前の設定ファイル ) の中でのデフォルト
                   の値をセットします。

     -b dir        ユーザホームディレクトリが作成されるルートディレクトリを
                   セットします。このオプションのデフォルトの値は /home です
                   が、他の好きなディレクトリにセットできます。

     -e days       デフォルトのアカウントの有効期間を日数でセットします。 -D
                   を付けずに使われる場合と異なり、引数はアカウントが作成され
                   てから無効になるまでの日数を指定する数字でなければなりませ
                   ん。 0 という値は、破棄する日付の自動算出を抑制します。

     -p days       デフォルトのパスワードの有効期間を日数でセットします。

     -g group      新しいユーザのデフォルトのグループをセットします。 -g "" を
                   使って空のグループを指定すると、新しいユーザは自分自身の私
                   的なプライマリグループ (ログイン名と同じ名前の新しいグルー
                   プが作成されます) に割り当てられます。グループの指定には、
                   名前または uid を引数として与えることができます。

     -G grouplist  新しいユーザが所属するデフォルトのグループ群を指定します。
                   これはプライマリグループとは別のグループの集合で、一つのグ
                   ループをプライマリグループとこの別グループ群の両方に指定す
                   ることは避けなければなりません。言い替えると、これらの別グ
                   ループ群ではプライマリグループ 以外のグループの構成メンバが
                   決められます。 grouplist はコンマ区切りのグループ名もしくは
                   ID で、 /etc/pw.conf の中にシンボル名で保存されます。

     -L class      このオプションは、新しいユーザのためのデフォルトのログイン
                   クラスをセットします。

     -w method     -w オプションは新しく作成されたユーザアカウントのパスワード
                   をセットするのに使われるデフォルトの方法を指定します。
                   method は以下のうちの一つです:

                         no      新しく作成されたアカウントでのログインを不可
                                 とします。
                         yes     アカウント名をパスワードにします。
                         none    パスワードを空欄にします。
                         random  ランダムパスワードを生成します。

                   `random' や `no' method は、最も安全です。前者の場合、 pw
                   はパスワードを生成し、標準出力に出力します。このパスワード
                   は、ユーザがそのアカウントにアクセスするパスワードとしてあ
                   なたが発行しますが、ユーザ自身が自分のパスワードを指定 (多
                   分ひどい選択です) するものより適切です。 `no' method にした
                   場合、パスワードでアクセスできるアカウントを与えるためにス
                   ーパユーザが passwd(1) を使わなければなりません。

     -y path       /etc/master.passwd からの情報を直接 NIS と共有しない場合、
                   このオプションは、NIS が使うデータベースのパス名を設定しま
                   す。 NIS サーバに対してのみこのオプションを指定するべきで
                   しょう。

     userdel コマンドには指定可能なオプションは 3 つしかありません。 -n name-u uid オプションは、既に説明したとおりです。追加のオプションは以下の
     ものです。

     -r            このオプションで、 pw はユーザのホームディレクトリとその内
                   容のすべてを削除します。 pw はシステムからファイルを削除す
                   るとき、慎重すぎるやり方をとります。まず、削除されるアカウ
                   ントの uid がシステムの別のアカウントでも使われていて、パス
                   ワードファイルの 'ホーム' ディレクトリが文字 `/' で始まる正
                   しいパスであった場合にはファイルは削除されません。次に、
                   ファイルやディレクトリが実際にそのユーザのものであるか、誰
                   かの所有であるシンボリックリンクがユーザのホームディレクト
                   リ下にある場合にだけ削除されます。最後に、そのユーザの所有
                   であるすべての中身を削除した後、空のディレクトリだけが削除
                   されます。更に別の一掃が必要なときは、管理者に任されます。

     メールスプールファイルと crontab は、ユーザ名に無条件に付属しているものな
     ので、アカウントが削除されたとき常に削除されます。 at コマンドによって処
     理待ちのキューに入っているジョブも、ユーザの uid がユニークであり、かつ、
     そのシステムの別のアカウントに使われていない場合は削除されます。

     usershow コマンドは、二種類のフォーマットでアカウントを閲覧できます。フォ
     ーマットは、デフォルトで /etc/master.passwd で使われているものと同じで、
     パスワードフィールドは `*' に置き換えられています。 -P オプションが使われ
     ると、 pw はより人間に読みやすい形でアカウントの詳細を出力します。 -a オ
     プションは、現在ファイルにあるすべてのユーザをリストします。

     usernext コマンドは、利用可能な次のユーザ ID とグループ ID をコロン区切り
                    グループ ID を設定するとき、または存在するグループの uid
                    を変えたいときだけです。

     -M memberlist  このオプションは、存在するユーザを新しいグループに
                    (groupaddで) 加えたり、存在するメンバリストを (groupmodで)
                    新しいものに取り換えるもうひとつの方法です。 memberlist は
                    正当で、存在するユーザ名または uid のコンマ区切りのリスト
                    です。

     -m newmembers  -M オプションと同様、このオプションは最初に存在するメンバ
                    のリストを入れ換えることなく、グループに存在するユーザを
                    追加します。ログイン名またはユーザ ID を使うことができ、重
                    複するユーザは警告無く削除されます。

     groupadd にも、存在するグループ ID を新しいグループに割り当てる -o オプ
     ションがあります。デフォルトの動作は、グループ追加の試みを拒否することに
     なっており、このオプションはグループ ID の重複チェックを上書きします。グ
     ループ ID を重複させる必要は滅多にありません。

     groupmod コマンドには、一つの追加オプションがあります:

     -l name        このオプションで、存在するグループ名を `name' に変更するこ
                    とができます。新しい名前は存在しないものでなければならず、
                    存在するグループ名と重複させようとすると拒否されます。

     groupshow へのオプションは -u uid の代わりにグループ ID を指定する -g gid
     を付けた usershow と同じです。

     groupnext コマンドは、次に使用できるグループ ID を標準出力に返します。


ユーザのロック

     pw は、ユーザに対する簡単なパスワードロック機構を持ちます。これは、文字列
     `*LOCKED*' を master.passwd のパスワードフィールドに前置し、認証を失敗さ
     せることにより機能します。

     lockunlock のコマンドはユーザ名または UID を取り、それぞれ当該アカウ
     ントをロック/アンロックします。これらのコマンドは、前述の -V, -C, -q オプ
     ションを受け付けます。


診断

     pw は、操作に成功すると EXIT_SUCCESS を返し、そうでなければ sysexits(3)
     により定義された以下の戻り値のうちどれかひとつを返します:

     EX_USAGE
           o   コマンドラインのシンタックスエラー (不適切なキーワード、未定義
               オプション)。

     EX_NOPERM
           o   root でないユーザとして、何らかの更新を実行しようとした。

     EX_OSERR
           o   メモリアロケーションエラー。
               い。
           o   記録、追加、または更新されたユーザ、グループが予期せず無くなっ
               た。

     EX_SOFTWARE
           o   指定した範囲には未使用グループ ID 、ユーザ ID が残っていない。

     EX_IOERR
           o   設定ファイルの書き換えができない。
           o   グループやユーザデータベースファイルの更新時エラー。
           o   パスワードまたはグループデータベースファイルの更新時エラー。

     EX_CONFIG
           o   基本ホームディレクトリが設定されていない。


     各コマンドに使用可能なオプションの要約として、
           pw [command] help
     が使えます。例えば、
           pw useradd help
     は useradd 操作に使用できるすべてのオプションをリストします。

     pw は、passwd ファイルの GECOS フィールド(ユーザの姓名、オフィス、業務用
     電話番号、自宅電話番号のサブフィールドがあります)に 8 ビット文字を使うこ
     とができます。しかし、8 ビット文字をユーザログイン名やグループ名に使うこ
     とはできません。8 ビット文字の使用に際して、以下の点に注意してください。
     インターネットとの接続に際しては、メール配送プログラムが 8BITMIME をサポ
     ートしていることが要求されており、8 ビット文字を含むヘッダは 7 ビットの
     quoted-printable フォーマットに変換されてしまいます。 sendmail(8) はこの
     機能をサポートしています。 GECOS フィールドに 8 ビット文字を置く際は、ユ
     ーザのデフォルトロケールとデフォルト文字集合といっしょに使用するべきで、
     これらを使用せずに実装してはいけません。 8 ビット文字の使用は、
     fingerd(8) のように、インターネット経由で GECOS フィールドの内容をやりと
     りする他のプログラムにも影響を及ぼす可能性があります。 TCP/IP クライアン
     トの中には、IRC のように、少数ながらもパスワードファイルに指定されたフル
     ネームをデフォルトで使用するものもあります。


関連ファイル

     /etc/master.passwd      ユーザデータベース
     /etc/passwd             Version 7 フォーマットのパスワードファイル
     /etc/login.conf         ユーザケーパビリティデータベース (user capability
                             database)
     /etc/group              グループデータベース
     /etc/master.passwd.new  マスタパスワードファイルの一時コピー
     /etc/passwd.new         Version 7 パスワードファイルの一時コピー
     /etc/group.new          グループファイルの一時コピー
     /etc/pw.conf            pw コマンドのデフォルトオプションファイル


関連ファイル

     chpass(1), passwd(1), group(5), login.conf(5), passwd(5), pw.conf(5),
     pwd_mkdb(8), vipw(8)


ABELNET VPSサービス