useradd コマンド
目次
概要
useradd - ユーザーを追加するコマンドライン
useradd [OPTIONS] LOGIN useradd -D useradd -D [OPTIONS]
対象バージョン
- RHEL 10
- Ubuntu 24.04
説明
useradd
コマンドはユーザーを作成します。
# useradd yamada
RHEL ではデフォルトでホームディレクトリも作成されますが、Ubuntu ではデフォルトでは作成されないようです。デフォルト値に関わらず常に作成するには -m
オプションを使用します。
# useradd -m yamada
ホームディレクトリ(-d
)、ユーザID(-u
)、グループ(-g
)、シェル(-s
)などを指定することもできます。詳細はオプションを参照してください。
# useradd -d /home2/yamada -u 1004 -g group1 -s /bin/zsh yamada
下記の様にしてパスワードを設定することもできます。
# useradd -p `openssl passwd -6 'mypasswd'` yamada
オプション
基本パラメーター
- -b, --base-dir BASE_DIR
- ホームディレクトリを作成するベースディレクトリを指定します。
# useradd -b /home2 yamada
- -d, --home-dir HOME_DIR
- ホームディレクトリを指定します。
/etc/passwd
の6カラム目に格納されます。# useradd -d /home2/yamada yamada
- -u, --uid UID
- ユーザーIDを指定します。
/etc/passwd
の3カラム目に格納されます。# useradd -u 1234 yamada
- -g, --gid GROUP
- 主グループのグループ名またはグループIDを指定します。
/etc/passwd
の4カラム目に格納されます。# useradd -g group1 yamada
- -G, --groups GROUPS
- 追加グループリストを指定します。
/etc/group
に格納されます。# useradd -G group2,group4,group4 yamada
- -s, --shell SHELL
- ユーザーが使用するシェルを指定します。
/etc/passwd
の7カラム目に格納されます。# useradd -s /bin/zsh yamada
- -c, --comment COMMENT
- コメントを指定します。
/etc/passwd
の5カラム目に格納されます。# useradd -c "Yamada Taro" yamada
- -p, --password PASSWORD
- パスワードを指定します。パスワードは暗号化した形式で指定します。
/etc/shadow
の第2フィールドに格納されます。# useradd -p `openssl passwd -6 'mypasswd'` yamada
- -f, --inactive INACTIVE
- パスワードの期限切れ後の猶予日数を指定します。猶予日数のデフォルト値が設定されていて、特別に指定したくない場合は
-f -1
としてください。/etc/shadow
の第7フィールドに格納されます。# useradd -f 30 yamada
- -e, --expiredate EXPIRE_DATE
- 新アカウントの有効期限を指定します。有効期限が過ぎるとそのユーザーはログインできなくなります。有効期限のデフォルト値が設定されていて、特別に指定したくない場合は
-e ""
としてください。/etc/shadow
の第8フィールドに格納されます。# useradd -e "2025-12-31" yamada
ホームディレクトリ
- -m, --create-home
- ホームディレクトリを作成するモードでユーザーを作成します。
/etc/login.defs
のCREATE_HOME
の値がyes
であれば-m
を指定しなくてもホームディレクトリは作成されます。RHEL ではデフォルトで作成されるようです。# useradd -m yamada
- -M, --no-create-home
- ホームディレクトリを作成しないモードでユーザーを作成します。
/etc/login.defs
のCREATE_HOME
の値がno
であれば-M
を指定しなくてもホームディレクトリは作成されません。Ubuntu ではデフォルトで作成されないようです。# useradd -M yamada
- -k, --skel SKEL_DIR
- ホームディレクトリのスケルトン(ひな形)となるディレクトリ(通常は
/etc/skel
)を指定します。# useradd -k /home/default yamada
- --btrfs-subvolume-home
- ホームディレクトリとして BTRFS サブボリュームを使用します。BTRFS は Sun Microsystems が開発した Copy on Write 機能などを実装したファイルシステムですが、RHEL 8 以降ではサポートされていません。
ユーザー名・ユーザーID
- --badname
- ユーザー名に使用できない文字を含んでいるなどの "悪い名前" をチェックしません。下記では空白文字を含むユーザーを作成しています。
# useradd --badname "yamada taro"
- -o, --non-unique
- ユーザーIDの重複を許可します。
# useradd --non-unique -u 1000 yamada # useradd --non-unique -u 1000 taro
グループ
- -U, --user-group
- ユーザー名と同じ名前のグループを作成します。RHEL や Ubuntu ではデフォルトの動作です。
# useradd -U yamada
- -N, --no-user-group
- ユーザー名と同じ名前のグループを作成しません。グループは
users(100)
となります。# useradd -N yamada
システムアカウント
- -r, --system
- システムアカウントを作成します。システムアカウントはデーモン実行などで使用されるユーザーで、ディストリビューションによって異なりますが、例えば下記のような差異があります。
UID_MIN(1000)
未満のUID
が割り当てられる。- ホームディレクトリが作成されない。
- ログインシェルが
/etc/sbin/nologin
になることもある - subuid/subgid が設定されない。(
-F
オプション参照)
# useradd --system myserver
- -F, --add-subids-for-system
- システムアカウントに対しても subuid/subgid を設定します。
# useradd --system --add-subids-for-system myserver
- -l, --no-log-init
lastlog
やfaillog
データベースに登録しないモードでユーザーを作成します。# useradd --no-log-init myserver
デフォルト値
- -D, --defaults
useradd
コマンドのデフォルト値(-b
,-s
,-g
,-e
,-f
の値) を表示または変更します。デフォルト値は/etc/default/useradd
に格納されます。# useradd -D # デフォルト値を表示 GROUP=100 GROUPS= HOME=/home : # useradd -D -b /home2 # ベースディレクトリのデフォルト値を変更 # useradd -D -e "2025-12-31" # 有効期限を変更 # useradd -D -e "" # 有効期限を解除 # useradd -D -f 30 # 猶予日数を変更 # useradd -D -f -1 # 猶予日数を解除
- -K, --key KEY=VALUE
/etc/login.defs
のデフォルト値を変更してユーザーを作成します。下記の例ではホームディレクトリを作成しないモードでユーザーを作成しています。# useradd --key CREATE_HOME=no yamada
仮想環境・拡張環境
- -R, --root CHROOT_DIR
- 指定した chroot 仮想環境にユーザーを作成します。下記の例では
/mnt/chroot/etc/passwd
などにユーザーが作成されます。# useradd --root /mnt/chroot yamada
- -P, --prefix PREFIX_DIR
/etc
ディレクトリのプレフィックスとなるディレクトリを指定します。下記の例では/mnt/chroot/etc/passwd
などにユーザーを作成します。(※--root
との違いは...?)# useradd --prefix /mnt/chroot yamada
- --extrausers
/etc/passwd
ではなく拡張ユーザーデータベース/var/lib/extrausers/passwd
などにユーザーを作成します。システムにログインすることはできませんが、拡張ユーザーデータベースに対応したアプリケーションが通常の OS とは独立したユーザー空間として参照する場合に使用されます。Ubuntu 24.04 でサポートされていますが、RHEL 10 ではサポートされていません。# mkdir /var/lib/extrausers # useradd --extrausers yamada # ls -l /var/lib/extrausers total 24 -rw-r--r-- 1 root shadow 13 Jul 29 10:55 group -r--r----- 1 root shadow 9 Jul 29 10:55 gshadow -rw-r--r-- 1 root shadow 37 Jul 29 10:55 passwd -r--r----- 1 root shadow 26 Jul 29 10:55 shadow -rw-r--r-- 1 root shadow 18 Jul 29 10:55 subgid -rw-r--r-- 1 root shadow 18 Jul 29 10:55 subuid
セキュリティ
- -Z, --selinux-user SEUSER
- SELinux ユーザーマッピングのユーザーを指定します。
# useradd -Z staff_u yamada
- --selinux-range SERANGE
- SELinux ユーザーマッピングのレンジを指定します。RHEL 10 ではサポートされていますが、Ubuntu 24.04 ではサポートされていません。
# useradd -Z staff_u --selinux-range s0-s0:c0.c1023 yamada
ヘルプ表示
- -h, --help
- ヘルプを表示して終了します。
関連項目
Copyright (C) 2025 杜甫々
初版:2025年8月3日 最終更新:2025年8月3日
https://www.tohoho-web.com/linux/cmd/useradd.html