日本語 man コマンド類 (ja-man-1.1j_5) と日本語 man ドキュメント (ja-man-doc-5.4 (5.4-RELEASE 用) など) をインストールすると、以下のような man コマンド閲覧、キーワード検索が コンソールからできるようになります。
4.11-RELEASE-K, 5.4-RELEASE-K, 5.5-RELEASE-K, 6.0-RELEASE-K から 6.4-RELEASE-K, 7.0-RELEASE-K から 7.2-RELEASE-K, 8.0-RELEASE-K は、プライベート版 (小金丸が編集してまとめたもの) ですが、 より多くの翻訳したファイルが含まれています。 (5.4-RELEASE-K から 6.4-RELEASE-K, 7.0-RELEASE-K から 7.2-RELEASE-K, 8.0-RELEASE-K は、全翻訳済み)
6.4-STABLE-K, 7.2-STABLE-K, 8.0-STABLE-K は現在、 作成中で日々更新されています。 最新の snapshots を元に作成しています。
ADDUSER(8) FreeBSD システム管理者マニュアル ADDUSER(8)
名称
adduser - 新しいユーザを加えるためのコマンド
書式
adduser [-CENhq] [-G groups] [-L login_class] [-d partition] [-f file]
[-g login_group] [-k dotdir] [-m message_file] [-s shell]
[-u uid_start] [-w type]
解説
adduser ユーティリティは新しいユーザを加えるための、 pw(8) コマンドを利用
して実装されたシェルスクリプトです。パスワード, グループ, シェル等のデー
タベースをチェックし、 passwd/group の登録を行い、ホームディレクトリと
ドットファイルを作成し、新しいユーザに歓迎メッセージを送ります。 2 つの動
作モードをサポートします。すなわち、 1 度に 1 人ずつのユーザを追加するコ
マンドラインでの対話モードと、新規ユーザのリストをファイルで与えてユーザ
の介在無しに動作するバッチモードです。
制限事項
username
ログイン名です。 pw(8) が受け付けるログイン名に制限されます。一般
に、英小文字と数字のみ使用可能です。長さは 16 文字までです。この
制限の理由は、歴史的な物です。美的な理由からこの制限を破りたいと
する人々はいつもいましたが、 UNIX における基本的なパラメータを変
更するほどの重要な理由ではありませんでした。 <utmp.h> ファイル内
の UT_NAMESIZE パラメータを変更し、全てを再コンパイルすることで、
変更できますが、コンパイル済みのプログラムや名前の 8 文字制限を前
提としたソースコード、そして NIS については、問題が起こるでしょ
う。 NIS のプロトコルは、ユーザ名を 8 文字と定めています。電子
メールアドレスとして、もっと長いログイン名を必要とする場合には、
別名を /etc/mail/aliases ファイルに定義することができます。
full name
典型的には gecos フィールドとして知られ、通常はユーザの完全な名前
を格納します。さらに、コンマで区切った値のリスト、例えば職場の番
号や職場と家の電話番号を格納可能です。名前にアンパサンドが含まれ
る場合、他のプログラムが表示するときに、これを先頭を大文字にした
ログイン名で置き換えます。 `:' (コロン) は、使えません。
shell シェルデータベースに定義されている有効なシェル (/etc/shells) だけ
が有効です。さらに、シェルのベース名だけが必要であり、フルパスは
必要ではありません。
UID 自動生成されますが、自分で指定することもできます。ただし、32000
よりも小さい数字でなければなりません。
GID/login group
自動生成されますが、自分で指定することもできます。ただし、32000
よりも小さい数字でなければなりません。
password
空のパスワード、パスワード無効化、ランダム生成パスワード、素のテ
キストで指定するパスワードのいずれかを選択可能です。パスワードは
crypt(3) を利用して暗号化されます。
一意なグループ
ひょっとして、あなたは、この方法ではできても他のほとんどの方法ではうまく
行かないことがあるのを見逃しているかもしれません。個々のユーザをそのユー
ザ独自のグループに入れることで、通常の 022 の代りに umask を 002 としてお
いても安全になり、ホームディレクトリにファイルを作っても、他の人にファイ
ルを変更される心配がなくなります。
共有場所を作るためには、 (freefall における cvs や ncvs のように) UID/GID
を別に設けて、ユーザを個別にその新しいグループに入れることで、その場所へ
のアクセスを可能とすべきです。
この uid/gid の管理モデルは、たくさんのユーザをグループにまとめるより柔軟
性があり、共有場所で仕事をする時に umask をいじり回さずにすみます。
この方法をほぼ 10 年間使っていますが、ほとんどの場合に使えることがわか
り、じゃまになったことはありませんでした。 (Rod Grimes)
設定
adduser ユーティリティは設定情報を /etc/adduser.conf から読み取ります。こ
のファイルが存在しない場合、規定のデフォルトを使用します。このファイルは
手で編集可能ですが、 -C コマンドライン引数を使用する方が安全です。この引
数を使用すると、 adduser は対話的入力を開始し、問い合わせに対する回答を
/etc/adduser.conf に保存し、ユーザデータベースを変更せずに確認しつつ終了
します。コマンドラインで指定したオプションは、このファイルに保存したもの
に優先します。
オプション
-C 新規設定ファイルを作成して終了します。このオプションは -f と排他
です。
-d partition
ホームパーティション。ユーザディレクトリを見付けるデフォルトパー
ティションです。
-E アカウントを無効化します。このオプションは、文字列 ``*LOCKED*''
をパスワードフィールドの前に付けることで、アカウントをロックしま
す。アカウントのアンロックは、スーパユーザが次の pw(8) コマンドコ
マンドを使用して行います:
pw unlock [name | uid]
-f file
生成するアカウントのリストを file から得ます。 file が ``-'' の場
合、リストを標準入力から得ます。このオプションが指定された場合、
adduser はバッチモードで動作し、ユーザ入力を求めません。あるアカ
ウント処理中にエラーが発生した場合、メッセージを標準エラーに書き
込み、次のアカウントに取り組みます。入力ファイルの書式は後述しま
す。
-g login_group
通常は、ログイングループが指定されない場合、ユーザ名と同じである
と仮定されます。このオプションは、 login_group をデフォルトとしま
す。
-G groups
追加グループ。このオプションは、ユーザに付与する追加グループを指
定します。ユーザは、ログイングループに加え、これらのグループのメ
ンバです。
-h オプションの要約を表示して、終了します。
-k directory
directory のファイルを新規ユーザのホームディレクトリへコピーしま
す。 dot.foo は .foo にリネームされます。
-L login_class
デフォルトログインクラスを設定します。
-m file
file の歓迎メッセージを送ります。 file に no を指定すると、新規
ユーザへメッセージを送りません。メッセージファイルが adduser スク
リプトの内部変数を参照可能であることに注意してください。
-N デフォルト設定ファイルを読み取りません。
-q 最小のユーザフィードバック。特に、ランダムパスワードは標準出力に
エコーされません。
-s shell
新規ユーザのデフォルトシェル。 shell 引数は、シェルのベース名であ
ることが必要であり、フルパスであっては なりません。シェルが正当な
シェルであるとみなされるためには、 /etc/shells に含まれるか、特殊
シェル nologin であることが必要です。
-u uid uid から開始する UID を使用します。
-w type
パスワードタイプ。どのようなタイプのパスワードを生成するかを、
adduser ユーティリティはユーザに許しています。 type 引数は以下の
値のうちのいずれかです:
no パスワードの無効化。暗号化文字列の代りに、パスワード
フィールドは単一の `*' 文字になります。スーパユーザが手動
でパスワードを有効化するまで、ユーザはログインできませ
ん。
none 空文字列をパスワードとして使用します。
yes ユーザが提供した文字列をパスワードとして利用します。対話
モードでは、ユーザはパスワード入力を求められます。バッチ
モードでは、最後 (10 番目) のフィールドがパスワードだとみ
なされます。
random ランダム文字列を生成し、これをパスワードとします。パス
ワードは標準出力へエコーされます。さらに、 randompass 変
数を介して、ファイルへ含めることが可能です。
フォーマット
-f オプション使用時には、アカウント情報は特定の書式で格納する必要がありま
す。空行または `#' で開始する行は無視されます。他のすべての行は、コロン
(`:') で区切られた 10 個のフィールド (後述) から成ります。コマンドライン
オプションは、これらの値に優先しません。パスワードフィールドのみが、 `:'
文字を文字列の一部として持つことができます。
name:uid:gid:class:change:expire:gecos:home_dir:shell:password
name ログイン名。このフィールドは空であってはなりません。
uid 数値のログインユーザ ID。このフィールドが空の場合、自動生成され
ます。
gid 数値のプライマリグループ ID。このフィールドが空の場合、ユーザ名
と同じ名前のグループが生成され、その GID が使用されます。
class ログインクラス。このフィールドは空であっても構いません。
change パスワードエージング。このアカウントのパスワードを変更する日付
を表現します。このフィールドの書式は、 pw(8) への -p 引数のもの
と同じです。これは dd-mmm-yy[yy] であり、 dd は日、 mmm は数値
またはアルファベットの月で ``10'' や ``Oct'' 、 yy[yy] は 4 桁
または 2 桁の年です。現在の日付からの相対で時を指定したい場合、
次の書式を使用します: +n[mhdwoy] 。ここで、 n は数値であり、こ
の後に分・時間・日・週・月・年を続け、これらけの期間が経過した
らパスワードが変更されねばならないことを示します。このフィール
ドを空にすることで、この機能をオフにできます。
expire アカウントの満了。このフィールドは、アカウントの満了日を表現し
ます。指定した日付より後にはアカウントは使用できません。この
フィールドの書式は、パスワードエージングのものと同じです。この
フィールドを空にすることで、この機能をオフにできます。
gecos ユーザの完全な名前と追加情報。
home_dir ホームディレクトリ。このフィールドが空の場合、ホームパーティ
ションにユーザ名を追加することで自動生成されます。
shell ログインシェル。このフィールドは、有効なログインシェルのフルパ
スを含むことが必要です。
password ユーザパスワード。このフィールドは素のテキスト文字列を含み、
ユーザデータベースに置かれる前に暗号化されます。パスワードタイ
プが yes であり、このフィールドが空の場合、このアカウントは空の
パスワードになるものとみなされます。パスワードタイプが random
でありこのフィールドが空では ない場合、この内容がパスワードとし
て使用されます。 -p オプションが引数 no または none と共に使用
された場合、このフィールドは無視されます。このフィールドを `:'
で終端させないように。これはパスワードの一部とみなされてしまい
ます。
関連ファイル
/etc/master.passwd ユーザのデータベース
/etc/group グループのデータベース
/etc/shells シェルデータベース
/etc/login.conf ログインクラスデータベース
/etc/adduser.conf adduser 用の設定ファイル
/etc/adduser.message adduser 用のメッセージファイル
/usr/share/skel ログインディレクトリの雛型
/var/log/adduser adduser のログ記録ファイル
関連項目
chpass(1), passwd(1), aliases(5), group(5), login.conf(5), passwd(5),
shells(5), pw(8), pwd_mkdb(8), rmuser(8), vipw(8), yp(8)
歴史
adduser ユーティリティは FreeBSD 2.1 から導入されました.
作者
マニュアルページと Perl による元のスクリプトは Wolfram Schneider
<wosch@FreeBSD.org> が書きました。追加機能を持つ、Bourne シェルスクリプト
で書かれた置き換えスクリプトと、これに伴なうマニュアルページの更新を Mike
Makonnen <mtm@identd.net> が行いました。
バグ
$username や $randompass といった変数を新規ユーザへ送るメッセージ中で
adduser が正しく展開できるために、メッセージファイルの各行をシェルで評価
する必要があります。これは、メッセージファイル中にシェルコマンドを格納可
能であることを意味します。 adduser ユーティリティは、攻撃者がこの機能を使
用する可能性を柔らげるために、 root ユーザ所有の root ユーザのみが書き込
み可能なファイル以外を評価することを拒否します。さらに、シェル特殊文字や
オペレータは、メッセージファイルで使用する場合、エスケープする必要があり
ます。
また、パスワードエージングとアカウント満了時は、現在のところバッチモード
でのみ設定可能です。対話モードでもユーザが設定可能となるべきです。
FreeBSD 4.9 August 14, 2002 FreeBSD 4.9