目次
概要
Linuxシステム上に新しい「グループ」を作成するためのコマンドです。
ファイルサーバーでの共有フォルダへのアクセス権限管理や、特定の開発チーム内でのみファイルを読み書き可能にするなど、ユーザーを束ねて権限をコントロールする際の土台となります。
仕様(引数・オプション)
構文
groupadd [オプション] [グループ名]
主なオプション
| オプション | 説明 |
| -g [GID] | グループID(GID)を数値で指定して作成します。 |
| -r | システムグループ(GIDが低い管理用グループ)として作成します。 |
| -f / –force | 同名のグループが既に存在していてもエラーを出さずに終了します(GID指定時は重複作成する場合もあります)。 |
| -K [KEY]=[VAL] | 設定ファイル(/etc/login.defs)のデフォルト値を一時的に上書きします(例: GID_MIN=1000)。 |
基本の使い方
オプションを指定せずに、新しいグループ(ここでは marketing)を作成します。
作成された情報は /etc/group ファイルの末尾に追加されます。
# グループを作成
sudo groupadd marketing
# 作成されたか確認(ファイルの末尾を表示)
tail -n 3 /etc/group
実行結果例
docker:x:998:
sales:x:1001:
marketing:x:1002:
※GID(1002)はシステムが自動的に割り振ります。
実践コマンド
GIDを指定してグループを作成する
NFS(ネットワークファイルシステム)やコンテナ環境などで、複数のサーバー間でIDを一致させる必要がある場合、GIDを明示的に指定します。
# GID 3000 で 'dev_team' グループを作成
sudo groupadd -g 3000 dev_team
# 確認
grep dev_team /etc/group
実行結果例
dev_team:x:3000:
システムグループを作成する
Webサーバーやデータベースなどのサービス実行用として、一般ユーザーとは区別された(通常1000番未満の)GIDを持つシステムグループを作成します。
# ログインを目的としないシステム用グループを作成
sudo groupadd -r app_service
カスタムポイント
- 設定値の上書き (-K)通常は意識する必要はありませんが、自動割り当てされるGIDの範囲を変更したい場合などに使用します。Bash
# GIDの最小値を5000としてグループ作成 sudo groupadd -K GID_MIN=5000 extra_group
注意点
- Root権限が必須グループ情報の変更はシステム全体に関わるため、実行には
sudoまたはroot権限が必要です。 - グループ名の重複既に存在するグループ名と同じ名前で作成しようとするとエラーになります。スクリプトなどでエラーを無視したい場合は
-fオプションを使用しますが、意図しない設定上書きを防ぐため、基本的には事前にチェックすることが望ましいです。 - ユーザーの追加は別コマンド
groupaddは「空の箱(グループ)」を作るだけです。実際にユーザーを所属させるには、作成後にusermod -aGやgpasswd -aコマンドを実行する必要があります。
応用
グループ作成からユーザー追加までの流れ
新規プロジェクト用にグループを作成し、既存のユーザーをそのグループに追加する一連のフローです。
# 1. プロジェクト用グループを作成(GID指定)
sudo groupadd -g 4000 project_x
# 2. 既存ユーザー(例: suzuki)をグループに追加
sudo usermod -aG project_x suzuki
# 3. 所属の確認
id suzuki
まとめ
groupadd は、Linuxの権限管理(パーミッション設計)の第一歩となるコマンドです。
単に作成するだけならオプションなしで十分ですが、サーバー間連携を見据えた「GIDの固定(-g)」は実務で頻繁に利用されます。「グループを作ってから、ユーザーを入れる」という順序を理解して運用してください。
