useradd - 新しいユーザーを作成するか、デフォルトの新しいユーザー情報を更新します。
概要
useradd [オプション] LOGIN
useradd -D
useradd -D [オプション]
説明
useradd は、ユーザーを追加するための低レベルのユーティリティです。Debian では、管理者は通常 [adduser]({filename}../../adduser)(8) を使用する必要があります。
-D オプションなしで呼び出されると、useradd コマンドは、コマンドラインで指定された値とシステムからのデフォルト値を使用して、新しいユーザーアカウントを作成します。コマンドラインオプションに応じて、useradd コマンドはシステムファイルを更新し、新しいユーザーのホームディレクトリを作成して、初期ファイルをコピーする場合があります。
デフォルトでは、新しいユーザーのグループも作成されます (「-g」、「-N」、「-U」、および USERGROUPS_ENAB」を参照)。
オプション
useradd コマンドに適用されるオプションは次のとおりです。
--badname
標準に準拠していない名前を許可します。
-b、--base-dir BASE_DIR
-d HOME_DIR が指定されていない場合のシステムのデフォルトのベースディレクトリ。BASE_DIR は、アカウント名と連結されてホームディレクトリを定義します。
このオプションが指定されていない場合、useradd は、/etc/default/useradd の HOME 変数に指定されたベースディレクトリ、またはデフォルトで /home を使用します。
-c、--comment コメント
任意のテキスト文字列。通常、これはアカウントの短い説明であり、現在はユーザーの氏名フィールドとして使用されます。
-d、--home-dir HOME_DIR
新しいユーザーは、HOME_DIR をユーザーのログインディレクトリの値として使用して作成されます。デフォルトでは、LOGIN 名を BASE_DIR に追加して、そのログインディレクトリ名として使用します。ディレクトリ HOME_DIR は、デフォルトでは作成されません。ただし、-m フラグが指定されている場合、または login.defs の CREATE_HOME が true に設定されている場合は、システム外のユーザーに対して作成されます。ただし、-M フラグが指定されている場合は、作成されません。
-D、--defaults
以下に示す「デフォルト値の変更」を参照してください。
-e、--expiredate EXPIRE_DATE
ユーザーアカウントが無効になる日付を設定します。値は、YYYY-MM-DD 形式の日付、または 1970-01-01 からの経過日数として指定できます。日付は UTC タイムゾーンで解釈されます。
指定されていない場合、useradd は、/etc/default/useradd の EXPIRE 変数に指定されたデフォルトの有効期限、またはデフォルトでは空の文字列 (有効期限なし) を使用します。
-f、--inactive INACTIVE
パスワードの最大有効期限を超過してから、ユーザーアカウントがロックされるまでの日数を定義します。ユーザーがこの期間内にパスワードを変更しない場合、アカウントは非アクティブになります。この値は、シャドウパスワードファイルに保存されます。詳細については、shadow(5) を参照してください。
値が 0 の場合、パスワードの有効期限が切れると、アカウントは遅延なしで無効になります。
値が -1 の場合、それぞれのフィールドがシャドウパスワードファイルから削除され、非アクティブ期間の適用が停止されます。
指定されていない場合、useradd は /etc/default/useradd 内の INACTIVE 変数に指定されたデフォルトの非アクティブ期間を使用するか、デフォルトで -1 を使用します。
-F、--add-subids-for-system
-r オプションでシステムアカウントを作成する場合でも、/etc/subuid および /etc/subgid を更新します。
-g、--gid グループ
ユーザーのプライマリーグループの名前または番号。グループ名は存在している必要があります。グループ番号は、すでに存在するグループを参照する必要があります。
指定されていない場合、useradd の動作は、/etc/login.defs 内の USERGROUPS_ENAB 変数によって異なります。この変数が yes に設定されている場合(またはコマンドラインで -U/--user-group が指定されている場合)、ログイン名と同じ名前のグループがユーザーに対して作成されます。変数が no に設定されている場合(またはコマンドラインで -N/--no-user-group が指定されている場合)、useradd は新しいユーザーのプライマリーグループを、/etc/default/useradd 内の GROUP 変数に指定された値、またはデフォルトで 100 に設定します。
-G、--groups グループ1[,グループ2,...[,グループN]]]
ユーザーがメンバーである追加グループのリスト。各グループはカンマで区切られ、間に空白はありません。グループは、-g オプションで指定されたグループと同じ制限の対象となります。デフォルトでは、ユーザーは初期グループのみのメンバーになります。-G フラグを渡すことに加えて、/etc/default/useradd ファイルに GROUPS オプションを追加することもできます。これにより、すべてのユーザーがこれらの追加グループに追加されます。
-h、--help
ヘルプメッセージを表示して終了します。
-k、--skel SKEL_DIR
スケルトンディレクトリ。useradd によってホームディレクトリが作成されたときに、このディレクトリ内のファイルとディレクトリがユーザーのホームディレクトリにコピーされます。
このオプションは、-m(または --create-home)オプションが指定されている場合にのみ有効です。
このオプションが設定されていない場合、スケルトンディレクトリは /etc/default/useradd 内の SKEL 変数によって定義されるか、デフォルトでは /etc/skel になります。
/etc/skel に戻る絶対シンボリックリンクがある場合、/etc/skel プレフィックスがユーザーのホームディレクトリに置き換えられます。
可能であれば、ACL と拡張属性がコピーされます。
-K、--key キー=値
/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 データベースのエントリはリセットされ、以前に削除されたユーザーのエントリを再利用しないようにします。
このオプションが指定されていない場合、useradd は /etc/default/useradd 内の LOG_INIT 変数も参照します。変数が no に設定されている場合、ユーザーは lastlog および faillog データベースに追加されません。
-m, --create-home
ユーザーのホームディレクトリが存在しない場合に作成します。ホームディレクトリには、スケルトンディレクトリ(-kオプションで定義できます)に含まれるファイルとディレクトリがコピーされます。
このオプションが指定されず、CREATE_HOMEが有効になっていない場合、デフォルトではホームディレクトリは作成されません。
ユーザーのホームディレクトリを作成するディレクトリは存在し、適切なSELinuxコンテキストとパーミッションを持っている必要があります。そうでない場合、ユーザーのホームディレクトリは作成またはアクセスできません。
-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
すでに存在するUIDを持つアカウントの作成を許可します。
このオプションは、-uオプションと組み合わせてのみ有効です。ユーザーIDは、ユーザーと権限、ファイル所有権、およびシステムの動作を決定するその他の側面との間のマッピングのキーとして機能するため、複数のログイン名が指定されたUIDのアカウントにアクセスすることになります。
-p, --password PASSWORD
アカウントの初期パスワードを定義します。PASSWORDは、crypt(3)によって返されるように暗号化されている必要があります。シェルスクリプト内では、このオプションを使用すると、ユーザーのバッチを効率的に作成できます。
このオプションがない場合、新しいアカウントはロックされ、パスワードは定義されません。つまり、/etc/shadowの対応するフィールドには単一の感嘆符が配置されます。これは、ユーザーがアカウントにアクセスしたり、自分でパスワードを定義したりできない状態です。
注:コマンドラインでこのオプションを使用することは避けてください。パスワード(または暗号化されたパスワード)が、プロセスを一覧表示するユーザーに表示されるためです。
パスワードがシステムのパスワードポリシーに従っていることを確認する必要があります。
-r, --system
システムアカウントを作成します。
システムユーザーは、/etc/shadowにエージング情報が保存されず、数値IDは、/etc/login.defsで定義されているUID_MIN-UID_MAXの範囲ではなく、SYS_UID_MIN-SYS_UID_MAXの範囲(およびGIDの対応する範囲)で選択されます。
useraddは、このようなユーザーに対してホームディレクトリを作成しません。これは、/etc/login.defsのデフォルト設定(CREATE_HOME)に関係なくです。システムアカウントのホームディレクトリを作成する場合は、-mオプションを指定する必要があります。
このオプションは、/etc/subuidおよび/etc/subgidを更新しません。システムアカウントを作成する場合は、-Fオプションを指定する必要があります。
-R, --root CHROOT_DIR
CHROOT_DIRディレクトリに変更を適用し、CHROOT_DIRディレクトリから構成ファイルを使用します。絶対パスのみがサポートされます。
-P, --prefix PREFIX_DIR
PREFIX_DIR で見つかったルートファイルシステムの下にある構成ファイルに対して変更を適用します。このオプションは chroot を行わず、クロスコンパイルターゲットの準備を目的としています。いくつかの制限事項があります。NIS および LDAP ユーザー/グループは検証されません。PAM 認証はホストファイルを使用します。SELINUX のサポートはありません。
-s, --shell SHELL
ユーザーのログインシェルのパスを設定します。このオプションがない場合、システムは /etc/default/useradd に指定された SHELL 変数を使用します。それも設定されていない場合は、/etc/passwd のログインシェルフィールドは空のままになります。
-u, --uid UID
ユーザー ID の数値。この値は、-o オプションが使用されていない限り、一意である必要があります。値は非負である必要があります。デフォルトでは、UID_MIN 以上で、他のすべてのユーザーよりも大きい最小の ID 値を使用します。
-U, --user-group
ユーザーと同じ名前のグループを作成し、ユーザーをそのグループに追加します。
デフォルトの動作(-g、-N、および -U オプションが指定されていない場合)は、/etc/login.defs の USERGROUPS_ENAB 変数で定義されます。
-Z, --selinux-user SEUSER
新しいアカウントの SELinux ユーザーを定義します。このオプションがない場合、SELinux はデフォルトのユーザーを使用します。シャドウシステムは selinux-user を保存しないことに注意してください。代わりに semanage(8) を使用します。
--selinux-range SERANGE
新しいアカウントの SELinux MLS 範囲を定義します。このオプションがない場合、SELinux はデフォルトの範囲を使用します。シャドウシステムは selinux-range を保存しないことに注意してください。代わりに semanage(8) を使用します。
このオプションは、-Z(または --selinux-user)オプションが指定されている場合にのみ有効です。
デフォルト値の変更
-D オプションのみで呼び出すと、useradd は現在のデフォルト値を表示します。-D と他のオプションを組み合わせて呼び出すと、useradd は指定されたオプションのデフォルト値を更新します。有効なデフォルト値変更オプションは次のとおりです。
-b, --base-dir BASE_DIR
新しいユーザーのホームディレクトリのパスプレフィックスを設定します。ユーザーの名前は、新しいユーザーのホームディレクトリ名を作成するために、BASE_DIR の末尾に追加されます(-d オプションを使用して新しいアカウントを作成する場合)。
このオプションは、/etc/default/useradd の HOME 変数を設定します。
-e, --expiredate EXPIRE_DATE
新たに作成されたユーザーアカウントが無効になる日付を設定します。
このオプションは、/etc/default/useradd の EXPIRE 変数を設定します。
-f, --inactive INACTIVE
パスワードの有効期限が切れてから、ユーザーがログインできる日数を指定します。この期間後、アカウントはロックされます。
このオプションは、/etc/default/useradd の INACTIVE 変数を設定します。
-g, --gid GROUP
新たに作成されたユーザーのデフォルトのプライマリグループを設定します。グループ名または数値のグループ ID を使用できます。指定されたグループが存在し、GID に既存のエントリがある必要があります。
このオプションは、/etc/default/useradd の GROUP 変数を設定します。
-s, --shell SHELL
新しいユーザーのデフォルトのログインシェルを定義します。
このオプションは、/etc/default/useradd の SHELL 変数を設定します。
注意事項
システム管理者は、デフォルトのユーザーファイルを /etc/skel/ ディレクトリ(または /etc/default/useradd またはコマンドラインで指定された他のスケルトンディレクトリ)に配置する責任があります。
注意点
NIS または LDAP グループにユーザーを追加することはできません。これは、対応するサーバーで実行する必要があります。
同様に、ユーザー名が NIS や LDAP などの外部ユーザーデータベースにすでに存在する場合、useradd はユーザーアカウントの作成要求を拒否します。
ユーザー名には、小文字と大文字のアルファベット、数字、アンダースコア、またはハイフンのみを含めることができます。末尾にドル記号を付けることができます。ハイフンはユーザー名の先頭に配置することはできません。完全に数字で構成されたユーザー名や、. または .. で始まるユーザー名も許可されていません。. 文字で始まるユーザー名を使用することは推奨されません。これは、そのユーザーのホームディレクトリが ls コマンドの出力に表示されなくなるためです。
ユーザー名は最大 256 文字までです。
構成
^ etc/login.defs の以下の構成変数は、このツールの動作を変更します。
CREATE_HOME (ブール値)
新規ユーザーに対して、デフォルトでホームディレクトリを作成するかどうかを示します。
この設定は、システムユーザーには適用されず、コマンドラインでオーバーライドできます。
GID_MAX (数値), GID_MIN (数値)
^ seradd、groupadd、または newusers によって通常グループを作成するために使用されるグループ ID の範囲です。
^ ID_MIN (および GID_MAX) のデフォルト値は、それぞれ 1000 (および 60000) です。
HOME_MODE (数値)
新しいホームディレクトリのモードです。指定されていない場合、UMASK を使用してモードを作成します。
^ seradd と newusers は、これを使用して作成するホームディレクトリのモードを設定します。
LASTLOG_UID_MAX (数値)
^ astlog エントリを更新する必要がある最大のユーザー ID です。より高いユーザー ID は通常、リモートユーザーの識別と認証サービスによって追跡されるため、それらのユーザーに対して巨大で疎な lastlog ファイルを作成する必要はありません。
^ ASTLOG_UID_MAX オプションが構成に存在しない場合、lastlog エントリを書き込むユーザー ID に制限はありません。
MAIL_DIR (文字列)
メールスプールディレクトリです。これは、対応するユーザーアカウントが変更または削除されたときに、メールボックスを操作するために必要です。指定されていない場合、コンパイル時のデフォルトが使用されます。CREATE_MAIL_SPOOL パラメータは /etc/default/useradd にあり、メールスプールを作成するかどうかを決定します。
MAIL_FILE (文字列)
ユーザーのホームディレクトリに関連して、ユーザーのメールスプールファイルの場所を定義します。
^ AIL_DIR と MAIL_FILE 変数は、useradd、usermod、および userdel によって、ユーザーのメールスプールを作成、移動、または削除するために使用されます。
MAX_MEMBERS_PER_GROUP (数値)
グループあたりの最大メンバー数です。最大値に達すると、新しいグループエントリ(同じ名前、同じパスワード、および同じ GID の行)が /etc/group に開始されます。
デフォルト値は 0 で、これはグループ内のメンバー数の制限がないことを意味します。
この機能(グループの分割)は、グループファイルの行の長さを制限するために使用できます。これは、NIS グループの行が 1024 文字を超えないようにするために役立ちます。
パスワードの変更を強制する場合、25を使用できます。
注意:一部のツール(Shadowツールスイート内でも)では、グループの分割がサポートされていない場合があります。本当に必要な場合にのみ、この変数を使用してください。
PASS_MAX_DAYS(数値)
パスワードが使用できる最大日数。パスワードがこの日数よりも古い場合、パスワードの変更が強制されます。指定しない場合、-1と見なされ、この制限は無効になります。
PASS_MIN_DAYS(数値)
パスワードの変更間隔の最小日数。これよりも短い間隔でパスワードの変更が試みられると、拒否されます。指定しない場合、0と見なされ、この制限は無効になります。
PASS_WARN_AGE(数値)
パスワードの有効期限が切れる前に警告が表示される日数。0は、パスワードの有効期限の日にのみ警告が表示されることを意味し、-1は警告が表示されないことを意味します。指定しない場合、警告は表示されません。
SUB_GID_MIN(数値)、SUB_GID_MAX(数値)、SUB_GID_COUNT(数値)
/etc/subuidが存在する場合、useraddおよびnewusersコマンド(ユーザーがすでに従属グループIDを持っている場合を除く)は、新しいユーザーごとにSUB_GID_MINからSUB_GID_MAXの範囲から未使用のグループIDをSUB_GID_COUNT個割り当てます。
SUB_GID_MIN、SUB_GID_MAX、SUB_GID_COUNTのデフォルト値は、それぞれ100000、600100000、65536です。
SUB_UID_MIN(数値)、SUB_UID_MAX(数値)、SUB_UID_COUNT(数値)
/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(数値)、SYS_GID_MIN(数値)
useradd、groupadd、またはnewusersによってシステムグループを作成するために使用されるグループIDの範囲。
SYS_GID_MIN(それぞれSYS_GID_MAX)のデフォルト値は、101(それぞれGID_MIN-1)です。
SYS_UID_MAX(数値)、SYS_UID_MIN(数値)
useraddまたはnewusersによってシステムユーザーを作成するために使用されるユーザーIDの範囲。
SYS_UID_MIN(それぞれSYS_UID_MAX)のデフォルト値は、101(それぞれUID_MIN-1)です。
UID_MAX(数値)、UID_MIN(数値)
useraddまたはnewusersによって通常のユーザーを作成するために使用されるユーザーIDの範囲。
UID_MIN(それぞれUID_MAX)のデフォルト値は、1000(それぞれ60000)です。
UMASK(数値)
ファイルモード作成マスクは、この値で初期化されます。指定しない場合、マスクは022で初期化されます。
useraddおよびnewusersは、HOME_MODEが設定されていない場合、このマスクを使用して、作成するホームディレクトリのモードを設定します。
また、pam_umaskによって、デフォルトのumask値として使用されます。
USERGROUPS_ENAB(ブール値)
yesに設定されている場合、userdelは、ユーザーのグループに他のメンバーがいない場合にそのグループを削除し、useraddはデフォルトでユーザー名と同じ名前のグループを作成します。
ファイル
/etc/passwd
ユーザーアカウント情報。
/etc/shadow
セキュアなユーザーアカウント情報。
/etc/group
グループアカウント情報。
/etc/gshadow
セキュアなグループアカウント情報。
/etc/default/useradd
アカウント作成のデフォルト値。
/etc/shadow-maint/useradd-pre.d/*, /etc/shadow-maint/useradd-post.d/*
ユーザー追加中に実行されるスクリプトファイル。環境変数 ACTION には useradd が、SUBJECT にはユーザー名が設定されます。useradd-pre.d はユーザー追加前に、useradd-post.d はユーザー追加後に実行されます。スクリプトが 0 以外の値で終了した場合、実行は停止します。
/etc/skel/
デフォルトファイルを含むディレクトリ。
/etc/subgid
ユーザーごとのサブグループ ID。
/etc/subuid
ユーザーごとのサブユーザー ID。
/etc/login.defs
シャドウパスワードスイートの設定。
終了値
useradd コマンドは、以下の値で終了します。
0 成功
1 パスワードファイルを更新できません
2 無効なコマンド構文
3 オプションへの無効な引数
4 UID がすでに使用されています (かつ -o オプションが指定されていません)
6 指定されたグループが存在しません
9 ユーザー名またはグループ名がすでに使用されています
10 グループファイルを更新できません
12 ホームディレクトリを作成できません
14 SELinux ユーザーマッピングを更新できません
19 無効なユーザー名またはグループ名
関連項目
chfn(1), chsh(1), passwd(1), crypt(3), groupadd(8), groupdel(8), groupmod(8), login.defs(5), newusers(8), subgid(5), subuid(5), userdel(8), usermod(8).