Ubuntu でユーザを新規作成(ユーザー追加)する方法

2020年7月19日Ubuntu,コマンド

たまにしか使わないのと、adduseruseradd とがあって動作が違い
ユーザーを新規作成する時に毎度ググってる気がするのでメモ。

前提・環境

  • Ubuntu 18.04 LTS
  • 作業者がsudo(管理者権限)を使える

adduser で新規ユーザを追加する

  • この手順でユーザーを作成すると /home/ ディレクトリ直下に新規作成したユーザーのディレクトリが自動で作成される
  1. 次のコマンドを入力
    # 以下「new_user」の部分は作成するユーザー名に置き換える
    $ sudo adduser new_user
    
  2. 以下のレスポンスが返ってくるので
    Adding user `new_user' ...
    Adding new group `new_user' (1003) ...
    Adding new user `new_user' (1002) with group `new_user' ...
    Creating home directory `/home/new_user' ...
    Copying files from `/etc/skel' ...
    Enter new UNIX password: 
    Retype new UNIX password: 
    passwd: password updated successfully
    Changing the user information for new_user
    Enter the new value, or press ENTER for the default
           Full Name []: 
           Room Number []: 
           Work Phone []: 
           Home Phone []: 
           Other []: 
    Is the information correct? [Y/n] y
    
    • 場合によっては最初にsudoのパスワードを聞かるので入力してEnter
    • 6行目と7行目で作成するユーザーのパスワード(とその再確認)を聞かれるので入力してEnter
    • 11行目以降は何も入力せずに無ければすべてEnterでOK
    • 最後にy
  3. 以上で新規ユーザー作成完了。
    # ちなみに home ディレクトリを確認すると
    $ ls -l /home/
    
    # こんな感じで作成したユーザーのディレクトリが出来てるはず
    drwxr-xr-x  2 new_user new_user 4096  7月 11 13:52 new_user
    

日本語環境でのレスポンス

Ubuntuが日本語環境の場合には、上記操作中のレスポンスが次のようになる。

ユーザー `new_user' を追加しています...
新しいグループ `new_user' (1002) を追加しています...
新しいユーザー `new_user' (1001) をグループ `new_user' に追加しています...
ホームディレクトリ `/home/new_user' を作成しています...
`/etc/skel' からファイルをコピーしています...
新しい UNIX パスワードを入力してください: 
新しい UNIX パスワードを再入力してください: 
passwd: パスワードは正しく更新されました
new_user のユーザ情報を変更中
新しい値を入力してください。標準設定値を使うならリターンを押してください
        フルネーム []: 
        部屋番号 []: 
        職場電話番号 []: 
        自宅電話番号 []: 
        その他 []: 
以上で正しいですか? [Y/n] y

useradd で新規ユーザを追加する

  • この手順でユーザーを作成すると、ユーザーのディレクトリは作成されない
  1. 次のコマンドを入力
    # 以下「new_user」の部分は作成するユーザー名に置き換える
    $ sudo useradd new_user
    
  2. 問題が無ければ特にレスポンスは無し。ユーザー作成完了。

  3. 念のため確認

    # 念のためユーザー一覧を確認すると
    $ less /etc/passwd
    
    # ファイルの中に以下が含まれているはず
    new_user:x:1002:1003::/home/new_user:/bin/sh
    
    # ちなみに home ディレクトリを確認してもユーザーのディレクトリは無し
    $ ls -l /home/
    

備考・参考

adduser でユーザーを作成する場合 /home/ にユーザーのディレクトリを自動作成してくれるが
useradd でユーザーを作成するとユーザーディレクトリを作成してくれない。

最初のうちは、それを知らずに毎度ググって作業していると

あー、コレコレ。 useradd
…って、あれ?/home/の下にあるはずのディレクトリがねぇ!
って、なったりしたので気を付けよう(笑)

adduser = ホームディレクトリあり
useradd = ホームディレクトリ無し

慣れないウチは結構ワナだったりする。

その他、Ubuntuユーザ関係の記事