ユーザー管理入門 - 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 も使える
adduser は useradd のラッパーで対話形式でユーザーを作成できる。スクリプト・自動化では useradd を使い、手動設定には adduser が便利。
sudo adduser alice # 対話形式で作成(パスワードも設定できる)
2. usermod でユーザー設定を変更するには?
usermod は既存ユーザーの属性を変更する。操作頻度が最も高いのはグループへの追加。
sudo 権限を付与する
sudo usermod -aG sudo alice # Ubuntu/Debian sudo usermod -aG wheel alice # RHEL/CentOS/Fedora
-a を忘れると所属グループが消える
-aG の -a(append、追加)を絶対に忘れないこと。失敗するとどうなるかは次のとおり。
-Gだけを使うと、指定したグループ以外の所属がすべて外れる。追加ではなく置換になる。- 自分自身に対して実行し、
sudoグループから外れてしまった場合、以後sudoが使えない。Ubuntu は root パスワードが無効なため、復旧には物理コンソールからのリカバリ起動が必要になる。
安全に試す方法は次の 2 つ。
- 実行前に
id aliceで現在の所属グループを記録しておく。置換してしまっても書き戻せる。 - 練習は自分以外のテスト用ユーザーで行う。自分のアカウントで
-Gを試さない。
id alice # 実行前に所属を記録 sudo usermod -aG sudo alice id alice # 追加されたことを確認
その他の変更操作
ホームディレクトリを変更する:
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 -r は取り消せない
失敗するとどうなるかは次の 2 点。
-rはホームディレクトリを中身ごと削除する。そのユーザーが置いていたスクリプト・鍵・作業ファイルもすべて消える。- 削除後に UID が再利用されると、バックアップから戻したファイルの所有者が別人になる場合がある。
安全に試す方法は次の 3 段階。
- 何が消えるのかを先に確認する。
sudo ls -la /home/alice # 削除対象の中身を確認 sudo du -sh /home/alice # 容量を確認
- 必要なら退避する。
sudo tar czf /root/alice-home.tar.gz /home/alice
- すぐに消す必要がなければ、まずログインを止めて様子を見る。
usermod -L はパスワード認証だけを無効化する操作で、SSH 公開鍵によるログインは止まらない。確実に止めるには次の 3 つを合わせて実行する。
sudo usermod -L alice # パスワード認証を無効化 sudo chage -E 0 alice # アカウントを期限切れにする(鍵ログインも拒否される) sudo usermod -s /usr/sbin/nologin alice # ログインシェルを無効化
戻すときは sudo usermod -U alice / sudo chage -E -1 alice / sudo usermod -s /bin/bash alice の 3 つで元に戻せる。鍵そのものを止める場合は sudo mv /home/alice/.ssh/authorized_keys /root/alice-authorized_keys.bak で退避する。
削除は「もう戻さない」と判断できてから実行する。
ログイン中のユーザーを削除する場合
ログイン中のユーザーは削除できない。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 を実行する。
症状: userdel が currently used by process で失敗する
原因: そのユーザーのプロセスが残っている。
確認:
ps -u alice
対処: 内容を確認したうえで sudo pkill -u alice を実行し、その後に userdel する。
作業完了チェックリスト
- [ ]
useradd -mでホームディレクトリを作成した - [ ]
passwdでパスワードを設定し、ログインできる状態にした - [ ] グループ追加は
usermod -aG(-a付き)で実行した - [ ]
idコマンドで UID・GID・所属グループを確認した - [ ] 削除前にホームディレクトリの中身を確認し、必要ならバックアップを取った
- [ ] ロックで済ませる場合、
chage -E 0まで実行して鍵ログインも止めた