ユーザー・グループ管理

Linux groupaddコマンド入門|グループを追加・管理する

Linux groupadd ユーザー管理

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)ビットです。このディレクトリ内に作成されるファイルは、自動的に親ディレクトリのグループを継承します。チーム共有ディレクトリに最適です。