863 lines
23 KiB
Groff
863 lines
23 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.15 1998/09/18 04:45:43 jkoshy Exp %
|
|
.\" jpman %Id: pw.8,v 1.3 1997/10/28 15:30:48 kuriyama Stab %
|
|
.\"
|
|
.\" WORD: primary group プライマリグループ(/etc/passwd のグループIDで決まるグループ)
|
|
.\"
|
|
.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
|
|
.Op Fl Y
|
|
.Nm pw
|
|
.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,max
|
|
.Op Fl i Ar min,max
|
|
.Op Fl w Ar method
|
|
.Op Fl s Ar shell
|
|
.Op Fl y Ar path
|
|
.Nm pw
|
|
.Ar userdel
|
|
.Op name|uid
|
|
.Op Fl n Ar name
|
|
.Op Fl u Ar uid
|
|
.Op Fl r
|
|
.Op Fl Y
|
|
.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
|
|
.Op Fl Y
|
|
.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
|
|
.Op Fl Y
|
|
.Nm pw
|
|
.Ar groupdel
|
|
.Op group|gid
|
|
.Op Fl n Ar name
|
|
.Op Fl g Ar gid
|
|
.Op Fl Y
|
|
.Nm pw
|
|
.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 pw
|
|
.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 pw
|
|
.Ar groupnext
|
|
.Op Fl C Ar config
|
|
.Op Fl q
|
|
.Sh 解説
|
|
.Nm pw
|
|
は、システムの
|
|
.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 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
|
|
.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 を含み、逆も同様であるため、通常これらのオプション
|
|
のどちらか片方しか必要ではありません。
|
|
しかし、両方を指定しなければならないこともしばしばあります。
|
|
例えば、すでに存在するユーザの uid を
|
|
.Ar usermod
|
|
で変えたり、新しいアカウントを作るときにデフォルトの uid を上書きした
|
|
りするときです。
|
|
.Nm
|
|
で
|
|
.Ar useradd
|
|
を使って新しいユーザに uid を自動的に割り当てたい場合は、
|
|
.Ql Fl u
|
|
オプションを使っては
|
|
.Em いけません
|
|
。
|
|
コマンドライン上で
|
|
.Ar useradd ,
|
|
.Ar userdel ,
|
|
.Ar usermod ,
|
|
.Ar usershow
|
|
キーワードの直後なら、アカウントとユーザIDのどちらかを
|
|
.Ql Fl n
|
|
や
|
|
.Ql 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
|
|
アカウントのパスワードが破棄される日付をセットします。
|
|
このフィールドは、パスワードの強制的な変更に対して適用されることを除けば、
|
|
アカウント破棄日付指定オプションと似ています。
|
|
これは、
|
|
.Ql 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
|
|
を参照して下さい。
|
|
.It Fl m
|
|
このオプションは、ユーザのホームディレクトリの作成を試みるように
|
|
.Nm
|
|
に指示します。
|
|
もちろんこれは
|
|
.Ar useradd
|
|
で新しいアカウントを加えるときにも役に立ちますが、
|
|
すでに存在するユーザのホームディレクトリを、ファイルシステムの別の場所に
|
|
移動するという使い方もできます。
|
|
新しいホームディレクトリには、
|
|
.Ar 雛型(skeleton)
|
|
ディレクトリの内容が置かれます。
|
|
ここには、普通、ユーザが個人的に使うシェルの設定ファイル一式
|
|
が含まれています。
|
|
.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
|
|
.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 つしかありません。
|
|
.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
|
|
と
|
|
.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
|
|
.Ql Fl 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 操作に使用できるすべてのオプションをリストします。
|
|
.Pp
|
|
.Nm Pw
|
|
は、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
|
|
オペレーティングシステムに特有のパスワードフィールド、
|
|
グループフィールドに合わせて変更されています。また、ほとんどの要素が
|
|
一つのコマンドにまとめられています。
|