2026年7月30日
2026年7月30日
groupadd・usermodでグループ管理する方法
はじめに
Linuxではユーザーに加えて「グループ」を使ってアクセス制御を行います。グループに権限を付与し、複数のユーザーをそのグループに所属させることで、人事異動や役割変更にも柔軟に対応できます。
本記事ではグループの作成(groupadd)、削除(groupdel)、メンバー操作(usermod / gpasswd)を、Webサーバーやデプロイ用グループなど実務で使うパターンとともに解説します。
症状・背景
グループ管理が必要になる主な場面:
- デプロイ担当者をまとめた deployer グループを作って共通ディレクトリに権限を付けたい
- 新規ユーザーを sudo や docker グループに追加して権限を付与したい
- 退職者を共有グループから抜き取りたい
- WordPress 用に www-data の補助グループにアプリ管理者を含めたい
手順・設定方法
ステップ1: グループの作成・削除
# グループを作成
sudo groupadd developers
# GID を指定して作成
sudo groupadd -g 2000 developers
# システムグループ(GID < 1000)として作成
sudo groupadd -r myapp
# グループを削除
sudo groupdel developers
# グループ一覧を確認
getent group | head
cat /etc/group | grep developers
ステップ2: usermodでグループ変更
# プライマリグループを変更(-g)
sudo usermod -g developers alice
# 補助グループに追加(-aG、必ず -a を付ける!)
sudo usermod -aG docker alice
sudo usermod -aG sudo,docker,developers alice
# -G だけだと既存の補助グループを「上書き」する(危険)
# sudo usermod -G docker alice # alice の他の補助グループが消える
# ユーザーをグループから外す(-G で残したいグループだけ指定)
sudo usermod -G sudo alice # docker は外れる
# gpasswd で個別操作(推奨)
sudo gpasswd -d alice docker # alice を docker から削除
sudo gpasswd -a alice developers # alice を developers に追加
ステップ3: グループのメンバー確認
# ユーザーが所属するグループを確認
id alice
groups alice
# グループのメンバー一覧
getent group docker
# docker:x:998:alice,bob,charlie
# 補助グループの数を確認
id -nG alice
# 現在のセッションで有効なグループ
groups
ステップ4: 実践的な運用
# 共有ディレクトリにグループ権限を付与
sudo groupadd webteam
sudo usermod -aG webteam alice
sudo usermod -aG webteam bob
sudo mkdir -p /srv/shared
sudo chgrp webteam /srv/shared
sudo chmod 2775 /srv/shared # SetGIDで新規ファイルもwebteam所属に
# 新規ユーザーを作って sudo グループに即追加
sudo useradd -m -s /bin/bash -G sudo charlie
sudo passwd charlie
# グループの管理者を設定(gpasswd -A)
sudo gpasswd -A alice developers # alice が developers の管理者に
# 管理者は sudo なしで gpasswd -a/-d でメンバー変更可能
# グループ名を変更
sudo groupmod -n newname oldname
# 補助グループの追加が反映されない場合は再ログイン or newgrp
newgrp docker
注意事項
usermod -Gは補助グループを「上書き」する。追加するときは必ず-aG(または gpasswd -a)- グループ追加後は反映のため再ログインまたは
newgrpが必要(既存セッションでは反映されない) - システムグループ(docker, sudo, www-data 等)を消すとサービスが壊れる
- SetGID(chmod g+s)を付けたディレクトリは共有運用で非常に便利
- /etc/group の整合性は
grpckで検証できる
まとめ
1. 作成: groupadd developers、GID指定は -g
2. メンバー追加: usermod -aG group user(-a を忘れない)
3. メンバー削除: gpasswd -d user group が安全
4. 確認: id / groups / getent group で所属確認
5. 共有運用: グループ + chmod g+s で共同編集ディレクトリを実現
関連記事: