/usr/sbin/useradd
新規ユーザーの作成またはデフォルトの新規ユーザー情報の更新
How to use
useradd [オプション] ユーザ名 でユーザが作れるが、オプションをいっぱい指定しないといけないので、対話形式で初期設定もすべてできる、adduserを利用した方が楽
Setting
/etc/default/useradd を編集しデフォルト値を設定
Variable | Description |
---|---|
SHELL | Login Shell |
GROUP | Group ID |
HOME | Home directory |
INACTIVE | Password 無効化までの日数。-1だとexpire無し |
EXPIRE | Userの有効化日数 |
SKEL | スケルトン(雛形) directory の指定 |
CREATE_MAIL_SPOOL | yes: メールボックス作成, no: メールボックス作成しない |
SYNOPSIS
- useradd [options] LOGIN
- useradd -D
- useradd -D [options]
DESCRIPTION
useradd は、ユーザを追加するための低レベルのユーティリティである。Debian では、管理者は通常adduser を代わりに使うべきである。
D オプションを付けずに起動すると、useradd コマンドはコマンドラインで指定された値とシステムのデフォルト値を使用して新しいユーザーアカウントを作成する。
コマンドラインで指定された値とシステムのデフォルト値を使用して新しいユーザーアカウントを作成する。 コマンドライン・オプションによっては、useradd コマンドはシステム・ファイルを更新し、新しいユーザのホーム・ディレクトリを作成し、初期ファイルをコピーすることができる。
デフォルトでは、新しいユーザー用にグループも作成される (-g、-N、-U、および USERGROUPS_ENAB を参照)。
OPTIONS
- --badname
- 規格外の名称を許可する
- -b, --base-dir BASE_DIR
- -d HOME_DIR が指定されない場合のシステムのデフォルトのベースディレクトリ。 BASE_DIR は、アカウント名と結合してホーム・ディレクトリを定義する。-m オプションが使用されない場合、BASE_DIR は存在しなければならない。
- このオプションが指定されない場合、useraddは/etc/default/useradd のHOME変数で指定されたベースディレクトリを使用しする。つまり、デフォルトでの /home を使用する。
- -c, --comment COMMENT
- 任意のテキスト文字列。これは一般的にログインの短い説明であり、現在はユーザーのフルネームのフィールドとして使用されている。
- -d, --home-dir HOME_DIR
- 新しいユーザーは、ユーザーのログインディレクトリの値としてHOME_DIRを使用して作成される。デフォルトでは、BASE_DIR に LOGIN 名を付加し、それをログイン・ディレクトリ名として使用する。このとき、ディレクトリHOME_DIRは存在する必要はないが、存在しない場合は作成されない。
- -D, --defaults
- 以下のサブセクション「#Changing the default values」を参照してください。
- -e, --expiredate EXPIRE_DATE
- ユーザーアカウントが無効になる日付。日付は、YYYY-MM-DDの形式で指定する。
- 指定されない場合、useraddは、/etc/default/useraddのEXPIRE変数で指定されたデフォルトの有効期限を使用する。つまり、デフォルトの-1(有効期限なし)を使用する
- -g, --gid GROUP
- ユーザーの初期ログイン時のグループ名または番号。グループ名は必ず存在する必要がある。グループ番号は、すでに存在するグループを参照しなければならない。
- 指定されない場合、useraddの動作は、/etc/login.defsのUSERGROUPS_ENAB変数に依存する。この変数がyesに設定されている場合(またはコマンドラインで-U/--user-groupが指定されている場合)、そのユーザーの loginname と同じ名前のグループが作成される。この変数 が no に設定されている場合 (または、コマンドラインで -N/--no-user-group が指定されている場合)、 useradd は、/etc/default/useradd の GROUP 変数で指定された値、つまりデフォルトの 100 に設定する。
- -G, --groups GROUP1[,GROUP2,...[,GROUPN]]]
- ユーザーが所属している補助グループのリストである。各グループはカンマで区切られ、空白は含まない。グループには、-gオプションで指定したグループと同じ制限が適用される。デフォルトでは、ユーザは最初のグループにのみ所属する。
- -h, --help
- ヘルプメッセージを表示し、終了する
- -k, --skel SKEL_DIR
- useraddでホームディレクトリを作成したときに、ユーザのホームディレクトリにコピーするファイルやディレクトリを含むスケルトンディレクトリである。
- このオプションは、-m (または --create-home) オプションが指定されたときのみ有効である。
- このオプションが設定されていない場合、スケルトンディレクトリは、/etc/default/useraddのSKEL変数で定義される。つまり /etc/skel が設定される。
- 可能であれば、'ACLと拡張属性がコピーされる。
- -K, --key KEY=VALUE
- /etc/login.defs のデフォルト (UID_MIN, UID_MAX, UMASK, PASS_MAX_DAYS, その他) を上書きする。
- 例: -K PASS_MAX_DAYS=-1 は、システムアカウントを作るときに使い、パスワードが設定されてない時であってもパスワードの停止を止めることができる。-K オプションは複数指定可能である。例:-K UID_MIN=100 -K UID_MAX=499
- -l, --no-log-init
- ユーザーをlastlogおよびfaillogデータベースに追加しない。
- デフォルトでは、以前削除されたユーザのエントリを再利用しないように、 lastlog および faillog データベース内のユーザのエントリはリセットされる。
- 以前のDebianのuseraddとの互換性を保つために,-oオプションもサポートされている.
- -m, --create-home
- ユーザーのホームディレクトリが存在しない場合は、作成する。スケルトン・ディレクトリ(-kオプションで定義可能)に含まれるファイルとディレクトリは、ホーム・ディレクトリにコピーされる。
- デフォルトでは、このオプションが指定されず、CREATE_HOMEが有効になっていない場合、ホーム・ディレクトリは作成されない。
- -M, --no-create-home
- /etc/login.defs(CREATE_HOME)が、yesに設定されている場合でもホームディレクトリを作成しない。
;-N, --no-user-group
- ユーザと同じ名前のグループを作成しないが、-gオプションあるいは、/etc/default/useraddのGROUP変数で指定されるグループを付与する。
- -g, -N, -Uオプションが指定されない場合のデフォルトの動作は、/etc/login.defsのUSERGROUPS_ENABで定義される。
- -o, --non-unique
- 重複(non-unique) UIDを持つユーザアカウントの作成を許容する。
- このオプションは、-uオプションとの組み合わせでのみ有効。
- -p, --password PASSWORD
- crypt(3) が返すような、暗号化されたパスワード。デフォルトでは、パスワードは無効になっている。
- 注意: パスワード (または暗号化されたパスワード) はプロセスを一覧表示するユーザから見えるため、このオプションは推奨されない。
- パスワードがシステムのパスワードポリシーを尊重することを確認する必要がある。
- -r, --system
- システムアカウントを作成する。
- システムユーザーは /etc/shadow にエイジング情報がない状態で作成され、その数値識別子は /etc/login.defs で定義されている SYS_UID_MIN-SYS_UID_MAX の範囲から選ばれるが、その代わりに UID_MIN-UID_MAX(およびグループ作成時のGID対応)ではなく、/etc/login.defsで定義されたSYS_UID_MIN-SYS_UID_MAXの範囲で選ばれる。
- useradd は、/etc/login.defs (CREATE_HOME)のデフォルト設定にかかわらず、そのユーザーのホームディレクトリを作成しないことに注意すること。システム・アカウントのホーム・ディレクトリを作成したい場合は、-m オプションを指定する必要がある。
- -R, --root CHROOT_DIR
- CHROOT_DIRディレクトリの変更を適用し、CHROOT_DIRディレクトリの設定ファイルを使用する。
- -P, --prefix PREFIX_DIR
- PREFIX_DIR ディレクトリの変更を適用し、PREFIX_DIR ディレクトリの設定ファイルを使用します。このオプションは chroot しないので、クロスコンパイルターゲットを準備するためのものである。いくつかの制限事項がある。NIS および LDAP のユーザー/グループは検証されない。PAMの認証はhost ファイルを使用する。SELINUXのサポートはない。
- -s, --shell SHELL
- ユーザのログインshellを変更します。デフォルトでは、このフィールドを空白になり、システムは /etc/default/useradd の SHELL 変数で指定されたデフォルトのログインシェルを選択する。
- -u, --uid UID
- ユーザーIDの数値。この値は、-oオプションが使用されていない限り、一意でなければならない。この は負であってはならない。デフォルトは、UID_MIN以上かつ他のユーザーより大きい最小のID値を使用する。
- -rオプションとUID_MAXの説明も参照すること。
- -U, --user-group
- ユーザの名前を持つグループを作成し、ユーザをこのグループに加える。
- -g, -N, -Uオプションが指定されない場合のデフォルトの動作は、/etc/login.defsのUSERGROUPS_ENAB変数で定義される。
- -Z, --selinux-user SEUSER
- ユーザログインに使用するSELinux user。このフィールドを空白にしておくと、システムはデフォルトのSELinuxユーザーを選択する。
Changing the default values
-Dオプションのみを指定して起動した場合、useraddは現在のデフォルト値を表示する。-Dオプションと他のオプションを指定して起動すると、useraddは指定されたオプションの既定値を更新する。有効な デフォルト値を変更する有効なオプションは次のとおり:
- -b, --base-dir BASE_DIR
- 新しいユーザのホームディレクトリのpath prefix。新規アカウント作成時に -d オプションを使用しなかった場合、 ユーザ名が BASE_DIR の末尾につけられ、新規ユーザのホームディレクトリ名となる。
- このオプションは、/etc/default/useraddのHOME変数にセットされる。
- -e, --expiredate EXPIRE_DATE
- ユーザアカウントが無効となる日付
- このオプションは、/etc/default/useraddのEXPIRE変数にセットされる。
- -f, --inactive INACTIVE
- アカウントが無効になる前にパスワードが期限切れになる日数。
- このオプションは、/etc/default/useraddのINACTIVE変数にセットされる。
- -g, --gid GROUP
- 新しいユーザーの最初のグループのグループ名またはID (-N/--no-user-group が使われている場合、または /etc/login.defs で USERGROUPS_ENAB 変数が no に設定されている場合)。指定されたグループは存在しなければならず、また 数値のグループIDは、既存のエントリを持つ必要がある。
- このオプションは、/etc/default/useraddのGROUP変数にセットされる。
- -s, --shell SHELL
- 新しいユーザのログインshell名称
- このオプションは、/etc/default/useraddのSHELL変数にセットされる。
NOTES
システム管理者は、デフォルトのユーザーファイルを /etc/skel ディレクトリ(または /etc/default/useradd やコマンドラインで指定された他のスケルトンディレクトリ) に配置する責任がある。
CAVEATS
NISやLDAPのグループにユーザーを追加することはできない。これは、対応するサーバー上で実行する必要がある。
同様に、ユーザ名が NIS や LDAP などの外部ユーザ・データベースに既に存在する場合、useradd はユーザーアカウント作成要求を拒否する。
通常、小文字またはアンダースコアで始まり、その後に小文字、数字、アンダースコア、ダッシュを続けたユーザー名のみを使用することが推奨される。また、ドル記号で終わることも可能である。正規表現では [a-z_][a-z0-9_-]*[$]?
Debian では、ユーザ名がダッシュ ('-') やプラス ('+') で始まってはいけないという制約があるだけである。チルダ ('~')、コロン (':')、カンマ (',')、空白 (スペース: ', 行末:') を含んではいけない。また、コロン(':')、カンマ(',')、空白(スペース: ' '、行末: '\n'、タブ: '\t'、など)も含まれない。スラッシュ('/')を使用すると、ユーザーのホームディレクトリを定義するためのデフォルトのアルゴリズムが壊れることがある。
ユーザー名の長さは最大32文字までである。
CONFIGURATION
/etc/login.defsにある以下の設定変数で、このツールの動作が変わる:
- CREATE_HOME (boolean)
- 新規ユーザーのために、ホームディレクトリをデフォルトで作成するかどうかを指定する。
- この設定はシステム・ユーザーには適用されず、コマンドラインで上書きすることができる。
- GID_MAX (number), GID_MIN (number)
- useradd, groupadd, newusersで通常のグループを作成する際に使用するグループIDの範囲である。
- GID_MIN (resp. GID_MAX) のデフォルト値は1000 (resp. 60000)である。
- HOME_MODE (number)
- 新しいホームディレクトリのためのモード。指定されない場合、UMASK がモードを作成するために使用される。
- useradd と newusers は、作成するホームディレクトリのモードを設定するためにこれを使用する。
- LASTLOG_UID_MAX (number)
- lastlogエントリーを更新すべき最も高いユーザーID番号。より高いユーザーIDは、通常、リモート・ユーザー・アイデンティティおよび認証サービスによって追跡されるため、そのための巨大な無駄な lastlog ファイルを作成する必要はない。
- LASTLOG_UID_MAX オプションが設定にない場合は、 lastlog エントリの書き込みにユーザ ID の制限がないことを意味する。
- MAIL_DIR (string)
- メールスプールディレクトリである。これは、対応するユーザーアカウントが変更または削除されたときに、メールボックスを操作するために必要である。 指定されない場合、コンパイル時のデフォルトが使用される。
- MAIL_FILE (string)
- ユーザのメールスプールファイルの場所をホームディレクトリと相対的に定義する。
- MAIL_DIR と MAIL_FILE 変数は useradd, usermod, userdel によって、ユーザのメール・スプールを作成、移動、削除するために使われる。
- MAX_MEMBERS_PER_GROUP (number)
- グループエントリあたりの最大メンバー数。最大値に達すると、/etc/groupに新しいグループエントリ(行)が開始される(同じ名前、同じパスワード、同じGIDで)。
- デフォルト値は0である。つまり、グループ内のメンバー数に制限はない。
- この機能(split group)は、グループ・ファイルの行の長さを制限することを許可する。これは、NISグループの行が1024文字より大きくないことを確認するのに便利である。
- このような制限を強制する必要がある場合は、25 を使用できる。
- 注意:分割グループは、すべてのツールでサポートされていない場合がある(Shadow toolsuite でも)。本当に必要でない限り、この変数を使用するべきではない。
- PASS_MAX_DAYS (number)
- パスワードが使用できる最大日数である。これより古いパスワードの場合、パスワードの変更が強制される。指定しない場合は、-1が想定される(制限を解除する)。
- PASS_WARN_AGE (number)
- パスワードの有効期限が切れるまでの警告日数。0は、有効期限切れ当日にのみ警告が出されることを意味し、負の値は警告が出されないことを意味する。指定しない場合は、警告は行われない。
- SUB_GID_MIN (number), SUB_GID_MAX (number), SUB_GID_COUNT (number)
- /etc/subuid が存在する場合、useradd と newusers コマンドは (すでに下位のグループ ID を持っていない限り) 各新規ユーザに対して SUB_GID_MIN から SUB_GID_MAX の範囲から未使用のグループ ID を割り当てる。
- SUB_GID_MIN, SUB_GID_MAX, SUB_GID_COUNTのデフォルト値はそれぞれ100000, 600100000, 65536である。
- SUB_UID_MIN (number), SUB_UID_MAX (number), SUB_UID_COUNT (number)
- /etc/subuid が存在する場合、useradd と newusers コマンドは (すでに下位のユーザ ID を持っていない限り) 各新規ユーザに対して SUB_UID_MIN から SUB_UID_MAX までの範囲から未使用のユーザ ID SUB_UID_COUNT を割り当てる。
- SUB_UID_MIN, SUB_UID_MAX, SUB_UID_COUNTのデフォルト値はそれぞれ100000, 600100000, 65536である。
- SYS_GID_MAX (number), SYS_GID_MIN (number)
- useradd, groupadd, newusersによるシステムグループの作成に使用されるグループIDの範囲。
- SYS_GID_MIN (resp. SYS_GID_MAX) のデフォルト値は 101 (resp. GID_MIN-1) である。
- SYS_UID_MAX (number), SYS_UID_MIN (number)
- useradd,newusersによるシステムユーザの作成に使用されるユーザIDの範囲。
- SYS_UID_MIN (resp. SYS_UID_MAX) のデフォルト値は 101 (resp. UID_MIN-1) である。
- UID_MAX (number), UID_MIN (number)
- useradd, newusersによる一般ユーザの作成に使用されるユーザIDの範囲。
- UID_MIN (resp. UID_MAX) のデフォルト値は 1000 (resp. 60000) である。
- UMASK (number)
- ファイルモード作成マスクはこの値で初期化される。指定されない場合、マスクは 022 に初期化される。
- useradd と newusers は、HOME_MODE が設定されていない場合、作成するホームディレクトリのモードを設定するためにこのマスクを使用する。
- また、pam_umaskによって、デフォルトのumask値として使用される。
- USERGROUPS_ENAB (boolean)
- yesを設定すると、userdelは、そのユーザーのグループにメンバーがいなくなった場合に削除し、useraddはデフォルトでそのユーザーの名前のグループを作成する。
EXIT VALUES
useraddコマンドは、以下の値で終了する:
- 0
- 正常
- 1
- パスワードファイルを更新できない
- 2
- 無効なコマンドシンタックス
- 3
- 無効なオプション引数
- 4
- UIDはすでに使われている (そして-oではない)
- 6
- 指定されたグループは存在しない
- 9
- ユーザネームはすでに使われている
- 10
- グループファイルを更新できない
- 12
- ホームディレクトリを作成できない
- 14
- SELinuxユーザマッピングを更新できない
SEE ALSO
chfn, chsh, passwd, crypt(3), groupadd, groupdel, groupmod, login.defs, newusers, subgid, subuid, userdel, usermod
External link
この記事は、Debianのmanpageの項目を翻訳一部改変しております。 |