【Linux】groupaddコマンドで新規グループを作成する

目次

概要

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

注意点

  1. Root権限が必須グループ情報の変更はシステム全体に関わるため、実行には sudo またはroot権限が必要です。
  2. グループ名の重複既に存在するグループ名と同じ名前で作成しようとするとエラーになります。スクリプトなどでエラーを無視したい場合は -f オプションを使用しますが、意図しない設定上書きを防ぐため、基本的には事前にチェックすることが望ましいです。
  3. ユーザーの追加は別コマンドgroupadd は「空の箱(グループ)」を作るだけです。実際にユーザーを所属させるには、作成後に usermod -aGgpasswd -a コマンドを実行する必要があります。

応用

グループ作成からユーザー追加までの流れ

新規プロジェクト用にグループを作成し、既存のユーザーをそのグループに追加する一連のフローです。

# 1. プロジェクト用グループを作成(GID指定)
sudo groupadd -g 4000 project_x

# 2. 既存ユーザー(例: suzuki)をグループに追加
sudo usermod -aG project_x suzuki

# 3. 所属の確認
id suzuki

まとめ

groupadd は、Linuxの権限管理(パーミッション設計)の第一歩となるコマンドです。

単に作成するだけならオプションなしで十分ですが、サーバー間連携を見据えた「GIDの固定(-g)」は実務で頻繁に利用されます。「グループを作ってから、ユーザーを入れる」という順序を理解して運用してください。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

私が勉強したこと、実践したこと、してることを書いているブログです。
主に資産運用について書いていたのですが、
最近はプログラミングに興味があるので、今はそればっかりです。

目次