ユーザー管理入門 - useradd/usermod/userdelの基本操作

ユーザー管理入門 - useradd/usermod/userdelの基本操作

この記事でできるようになること

  • useradd でユーザーを作成しログインできる状態まで整えられる
  • usermod -aG でグループを安全に追加できる
  • userdel の削除範囲を理解して取り返しのつく手順で削除できる

前提知識(先に読むと理解しやすい記事)

この記事で身につくこと

  • useradd でユーザーを作成し、ログインできる状態まで整えられるようになります。
  • usermod -aG でグループを安全に追加できるようになります。
  • userdel の削除範囲を理解して、取り返しのつく手順で削除できるようになります。

想定読者:サーバに新しいメンバーのアカウントを作る必要が出てきた人。

先に用語を整理する

初めて出てくる言葉を、ここで一度だけ定義します。

  • ユーザーとは、Linux にログインして操作する主体のことです。人が使うアカウントと、サービスが使うアカウント(システムユーザー)の 2 種類があります。
  • グループとは、複数のユーザーをまとめた集まりです。ファイルの権限やコマンドの許可は、ユーザー単位だけでなくグループ単位でも与えられます。
  • UID / GID とは、ユーザーとグループに割り当てられる管理番号です。Linux は内部では名前ではなくこの番号で判定します。
  • ログインシェルとは、ログイン直後に起動するシェルです。/bin/bash が一般的で、/usr/sbin/nologin を指定するとログインを禁止できます。
  • 補助グループとは、そのユーザーが所属する 2 つ目以降のグループです。「セカンダリグループ」とも呼びます。最初から所属する 1 つ目は「プライマリグループ」と呼びます。
  • ホームディレクトリとは、そのユーザー専用の作業場所(/home/ユーザー名)です。

useradd / usermod / userdel で何ができるのか?

Linux のユーザー管理は 3 コマンドで完結する。useradd でユーザーを作成し、usermod でグループや属性を変更し、userdel で削除する。本記事では Ubuntu / Debian 系・RHEL/CentOS 系の両方を対象に実際のコマンド例で解説する。

以下のコマンドはすべて sudo が必要になる。ユーザー情報はシステム全体の設定であり、一般ユーザーの権限では書き換えられない。

最小手順

sudo useradd -m -s /bin/bash alice    # ユーザー作成
sudo passwd alice                      # パスワード設定
sudo usermod -aG sudo alice            # sudo 権限付与
sudo userdel -r alice                  # ユーザー削除(ホームごと)

前提環境

  • OS:Ubuntu 22.04 / Debian または RHEL 系(例は Ubuntu 基準)
  • sudo 権限のあるユーザーで実行する

1. useradd でユーザーを作成するには?

useradd コマンドはシステムにユーザーを追加する。オプションなしで実行するとホームディレクトリが作成されないため、実務では -m フラグが必須。

sudo useradd -m -s /bin/bash alice

主要オプション:

オプション 意味
-m ホームディレクトリを作成する
-s /bin/bash ログインシェルを指定
-d /custom/home ホームディレクトリのパスを変更
-G group1,group2 補助グループを初期設定
-c "Alice Smith" コメント(フルネーム等)
-e 2026-12-31 アカウント有効期限(YYYY-MM-DD)
-r システムユーザーとして作成(サービス用)

パスワードを設定する

useradd だけではパスワードが設定されずログインできない。必ず続けて passwd を実行する。

sudo passwd alice

作成結果を確認する

id alice
uid=1001(alice) gid=1001(alice) groups=1001(alice)
grep alice /etc/passwd
alice:x:1001:1001::/home/alice:/bin/bash

/etc/passwd の各フィールドは ユーザー名:パスワード(x):UID:GID:コメント:ホームディレクトリ:シェル の順。

Ubuntu / Debian では adduser も使える

adduseruseradd のラッパーで対話形式でユーザーを作成できる。スクリプト・自動化では useradd を使い、手動設定には adduser が便利。

sudo adduser alice    # 対話形式で作成(パスワードも設定できる)

2. usermod でユーザー設定を変更するには?

usermod は既存ユーザーの属性を変更する。操作頻度が最も高いのはグループへの追加。

sudo 権限を付与する

sudo usermod -aG sudo alice       # Ubuntu/Debian
sudo usermod -aG wheel alice      # RHEL/CentOS/Fedora

その他の変更操作

ホームディレクトリを変更する:

sudo usermod -d /new/home -m alice    # -m でファイルも移動

ログインシェルを変更する:

sudo usermod -s /bin/zsh alice

アカウントをロック・アンロックする:

sudo usermod -L alice    # パスワード認証をロック(鍵ログインは止まらない)
sudo usermod -U alice    # アンロック

usermod -L/etc/shadow のパスワードハッシュの先頭に ! を付ける操作で、無効化されるのはパスワード認証だけ~/.ssh/authorized_keys に公開鍵が置かれているユーザーは、ロック後も SSH でログインできる。ログインを確実に止める手順は後述の userdel の節 を参照。

変更後の確認

id alice
groups alice
uid=1001(alice) gid=1001(alice) groups=1001(alice),27(sudo)

グループ変更は次回ログイン時に反映される。現在のセッションで即時反映したい場合は newgrp sudo を実行する。

3. userdel でユーザーを削除するには?

userdel でユーザーをシステムから削除する。ホームディレクトリごと削除するには -r が必要。

sudo userdel -r alice

動作の違い:

コマンド ユーザー削除 ホームディレクトリ メールスプール
userdel alice 削除 残る 残る
userdel -r alice 削除 削除 削除

ログイン中のユーザーを削除する場合

ログイン中のユーザーは削除できない。userdel: user alice is currently used by process 1234 のように拒否される。

who                    # ログイン中ユーザーを確認
sudo pkill -u alice    # 該当ユーザーのプロセスを強制終了
sudo userdel -r alice

pkill -u はそのユーザーのプロセスを問答無用で終了させる。保存していない作業や、そのユーザーが動かしているサービスも止まる。実行前に ps -u alice で何が動いているかを確認する。

4. グループ管理の基本

ユーザー管理と密接に関わるグループ操作の基本を整理する。

グループを作成する

sudo groupadd developers

ユーザーをグループに追加する

sudo usermod -aG developers alice

グループを削除する

sudo groupdel developers

グループ情報を確認する

grep developers /etc/group
developers:x:1002:alice

/etc/group のフィールド:グループ名:パスワード:GID:メンバーリスト

5. パスワードポリシーの確認と設定

chage コマンドでアカウントのパスワード有効期限を確認・変更する。

sudo chage -l alice
Last password change                                    : May 31, 2026
Password expires                                        : never
Account expires                                         : never

有効期限を設定する:

sudo chage -M 90 alice         # パスワードを90日で期限切れに
sudo chage -E 2026-12-31 alice # アカウント有効期限を設定

まとめ:実務でよく使うコマンドパターン

新規ユーザー追加の標準手順

sudo useradd -m -s /bin/bash -c "Alice Smith" alice
sudo passwd alice
sudo usermod -aG sudo alice
id alice    # 確認

確認コマンド一覧

id username               # UID/GID/グループ一覧
groups username           # 所属グループ
grep username /etc/passwd # passwd エントリ
grep username /etc/group  # グループ所属確認
sudo cat /etc/shadow      # パスワードハッシュ(要 sudo)

トラブルシューティング

症状: 作成したユーザーでログインできない

原因: passwd を実行していないため、パスワードが未設定でロック状態にある。

確認:

sudo passwd -S alice
alice L 05/31/2026 0 99999 7 -1

2 番目が L ならロック、P ならパスワード設定済み。

対処:

sudo passwd alice

症状: useradd したのにホームディレクトリがない

原因: -m を付けずに実行した。Ubuntu の useradd は既定でホームを作らない。

確認:

ls -ld /home/alice

対処: /etc/skel(新規ユーザー用の雛形ディレクトリ)の中身をコピーしてから所有者と権限を設定する。雛形をコピーしないと .bashrc.profile が無い状態になり、プロンプトが崩れる・エイリアスが効かない・PATH~/.local/bin が入らないといった別の不具合に移行する。

sudo mkdir /home/alice
sudo cp -a /etc/skel/. /home/alice/
sudo chown -R alice:alice /home/alice
sudo chmod 700 /home/alice

Ubuntu / Debian では sudo mkhomedir_helper alice で同じ処理をまとめて実行できる。

症状: グループを追加したのに権限が反映されない

原因: グループの変更は、そのユーザーの次回ログイン時に反映される。現在のセッションは古い情報を持ったままになる。

確認:

id alice        # /etc/group 上の最新状態
groups          # 現在のセッションが持っている情報

対処: いったんログアウトして再ログインする。すぐに反映したい場合は newgrp sudo を実行する。

症状: userdelcurrently used by process で失敗する

原因: そのユーザーのプロセスが残っている。

確認:

ps -u alice

対処: 内容を確認したうえで sudo pkill -u alice を実行し、その後に userdel する。

作業完了チェックリスト

  • [ ] useradd -m でホームディレクトリを作成した
  • [ ] passwd でパスワードを設定し、ログインできる状態にした
  • [ ] グループ追加は usermod -aG-a 付き)で実行した
  • [ ] id コマンドで UID・GID・所属グループを確認した
  • [ ] 削除前にホームディレクトリの中身を確認し、必要ならバックアップを取った
  • [ ] ロックで済ませる場合、chage -E 0 まで実行して鍵ログインも止めた

次に読む

この記事を共有

次の一手