Linux groupaddコマンド入門
グループを追加・管理する
groupaddコマンドは、Linuxでグループを作成するコマンドです。ユーザーをグループに分けることで、ファイルやディレクトリのアクセス権限を効率的に管理できます。
こんな人向けの記事です
- Linuxでグループを使った権限管理を学びたい人
- 複数ユーザーのアクセス制御を効率化したい人
- サーバー管理でグループ設計を行いたい人
Step 1groupaddの基本的な使い方
groupaddコマンドでグループを作成するには、sudo権限が必要です。
ターミナル
# グループを作成
sudo groupadd developers
# グループが作成されたか確認
getent group developers
Step 2主要オプション一覧
groupaddでよく使うオプションをまとめます。
| オプション | 説明 | 例 |
|---|---|---|
-g | グループIDを指定 | groupadd -g 1500 developers |
-r | システムグループとして作成 | groupadd -r appgroup |
-f | グループが既に存在してもエラーにしない | groupadd -f developers |
ターミナル
# GIDを指定してグループ作成
sudo groupadd -g 2000 webteam
# システムグループの作成(デーモン用など)
sudo groupadd -r myapp
Step 3グループにユーザーを追加する
グループを作成したら、ユーザーを所属させます。ユーザーの追加には usermod コマンドを使います。
ターミナル
# 既存ユーザーをグループに追加(-a: 追加、-G: 追加グループ)
sudo usermod -aG developers alice
# 複数グループに一度に追加
sudo usermod -aG developers,docker alice
# ユーザー作成時にグループを指定
sudo useradd -m -g developers -G sudo alice
-a を忘れると危険
usermod -G で -a を付けないと、既存の追加グループがすべて上書きされます。必ず -aG とセットで使いましょう。
Step 4グループの確認・管理
グループの一覧確認、変更、削除の方法を紹介します。
ターミナル
# 自分の所属グループを確認
groups
# 特定ユーザーの所属グループを確認
groups alice
id alice
# グループ名を変更
sudo groupmod -n newname oldname
# グループIDを変更
sudo groupmod -g 3000 developers
# グループを削除
sudo groupdel developers
プライマリグループは削除できない
ユーザーのプライマリグループに設定されているグループは、そのユーザーが存在する限り削除できません。先にユーザーのプライマリグループを変更してください。
Step 5実践的な使用例
チーム開発やサーバー管理でよく使うグループ設計のパターンです。
ターミナル
# 開発チーム用グループ
sudo groupadd developers
sudo groupadd designers
# 共有ディレクトリの権限設定
sudo mkdir /shared/project
sudo chgrp developers /shared/project
sudo chmod 2775 /shared/project
# Webサーバー用グループ
sudo groupadd -r www-data
sudo usermod -aG www-data alice
# グループ一覧の確認
getent group | grep developers
chmod 2775 の意味
先頭の 2 はSGID(Set Group ID)ビットです。このディレクトリ内に作成されるファイルは、自動的に親ディレクトリのグループを継承します。チーム共有ディレクトリに最適です。