
Ubuntuで新しいユーザを作成する場合、useradd コマンドではなく、よりユーザフレンドリーな adduser コマンドの利用が推奨されています。
useradd は低レベルコマンドであり、パスワード設定やホームディレクトリの作成などを手動で行う必要があります。一方 adduser はこれらの処理を自動で実行し、対話形式でユーザ情報を設定できるため、初心者から管理者まで幅広く使いやすいのが特徴です。
本記事では、Ubuntuにおける adduser コマンドを使ったユーザ作成方法を基本から、パスワードなし・対話スキップなどの応用方法まで解説します。
確認した環境
Ubuntu 22.04.3 LTS (Jammy Jellyfish)
Ubuntuのadduserコマンドによるユーザ作成
adduserコマンドの構文
以下コマンドでユーザを追加します。
sudo adduser [ユーザ名]
adduserコマンドのユーザ作成例
例えばtest-user
を作成する場合は、以下コマンドを実行します。
sudo adduser test-user
実行すると以下のように出力されます。
Adding user `test-user' ...Adding new group `test-user' (1001) ...Adding new user `test-user' (1001) with group `test-user' ...Creating home directory `/home/test-user' ...Copying files from `/etc/skel' ...New password: # パスワードを入力するRetype new password: # パスワードを入力するpasswd: password updated successfullyChanging the user information for test-userEnter the new value, or press ENTER for the default Full Name []: # フルネーム(基本空白でOK) Room Number []: # 部屋番号(基本空白でOK) Work Phone []: # 職場電話番号(基本空白でOK) Home Phone []: # 自宅電話番号(基本空白でOK) Other []: # その他(基本空白でOK)Is the information correct? [Y/n] Y # 入力に間違いがなければYを押下
パスワードを入力し、他項目の指定は任意でOKです。
adduserコマンドをパスワードなしでユーザ追加する
パスワードなしでユーザを作成する場合は、以下のように指定します。
adduserコマンドの構文(パスワードなし)
sudo adduser [ユーザ名] --disabled-password
adduserコマンドのユーザ作成例(パスワードなし)
sudo adduser test-user --disabled-password
実行すると以下のように出力されます。
Adding user `test-user' ...Adding new group `test-user' (1001) ...Adding new user `test-user' (1001) with group `test-user' ...The home directory `/home/test-user' already exists. Not copying from `/etc/skel'.Changing the user information for test-userEnter the new value, or press ENTER for the default Full Name []: # フルネーム(基本空白でOK) Room Number []: # 部屋番号(基本空白でOK) Work Phone []: # 職場電話番号(基本空白でOK) Home Phone []: # 自宅電話番号(基本空白でOK) Other []: # その他(基本空白でOK)Is the information correct? [Y/n] # 空白でOK
基本はすべてEnterキーで進めればOKです。
対話をパスワードのみにする
そもそも項目を指定するケースは少ないと思います。
対話をパスワードのみにする場合は、以下のように指定します。
sudo adduser test-user --gecos ""
パスワードなし、項目指定なし
パスワード指定なしで対話をなくす場合は、以下のように指定します。
sudo adduser test-user --gecos "" --disabled-password
ユーザ追加後確認
/etc/passwd
ファイルをcatしてユーザが追加されたことを確認します。
cat /etc/passwd | grep test-user
test-user:x:1001:1001:,,,:/home/test-user:/bin/bash
以下の通り、ログインできることも確認できました。
$ sudo su - test-user$ whoamitest-user$ pwd/home/test-user
Full Name
などの項目を入力した場合は、/etc/passwd
ファイルに内容が保存されます。
$ sudo adduser test-userAdding user `test-user' ...Adding new group `test-user' (1001) ...Adding new user `test-user' (1001) with group `test-user' ...The home directory `/home/test-user' already exists. Not copying from `/etc/skel'.New password:Retype new password:passwd: password updated successfullyChanging the user information for test-userEnter the new value, or press ENTER for the default Full Name []: IT-LIFE Room Number []: 1234 Work Phone []: 5678 Home Phone []: 90 Other []: aaaIs the information correct? [Y/n] Y
$ cat /etc/passwd | grep test-usertest-user:x:1001:1001:IT-LIFE,1234,5678,90,aaa:/home/test-user:/bin/bash
adduserのオプション一覧
本記事で紹介したオプションをまとめると以下の通りです。
オプション | 目的 |
---|---|
--disabled-password | パスワードの設定を無効にする。 |
--gecos "" | Full Name や Room Number などの追加のユーザー情報の入力をスキップする。 |
--gecos "" --disabled-password | パスワードおよびその他のユーザー情報の対話(Full Nameなど)をすべてスキップする。 |
adduserコマンドまとめ
- adduserコマンドは対話形式でユーザを作成する。
- パスワードなしで作成する場合は
--disabled-password
オプションを指定する。 - —disabled-passwordや—gecos ""を組み合わせることで、パスワードなしや非対話的な作成も可能
追加したユーザにsudo権限を付与する場合は、こちらのリンクを
Ubuntuでユーザを削除したい場合は、こちらのリンクを参照してください。
以上で本記事の解説を終わります。
よいITライフを!