
新Linux入門|Linuxで/etc/groupを理解しよう!グループ情報とユーザーの関係を学ぶ
Linuxでは、複数のユーザーが同じシステムを利用するのが一般的です。
そのときに重要になるのが「グループ(group)」の仕組みです。
グループは、ユーザーをまとめて管理し、アクセス制御やファイル共有をスムーズに行うために使われます。
そして、グループに関する情報を管理しているのが /etc/group ファイルです。
今回は、この /etc/group ファイルの中身と、その仕組みをやさしく解説します。

🧾/etc/groupファイルとは?
/etc/group ファイルは、Linuxシステムに存在するすべてのグループ情報を保持しているファイルです。
このファイルを参照することで、どんなグループがあり、どのユーザーがどのグループに属しているのかを確認できます。
| 項目 | 内容 |
|---|---|
| ファイル名 | /etc/group |
| 役割 | システム上のグループ情報を保持 |
| アクセス権 | 一般ユーザーでも閲覧可能(読み取り専用) |
| 関連ファイル | /etc/gshadow(グループのパスワード情報を保持) |
💡 ポイント
グループに関する基本設定はこの /etc/group に書かれていますが、
セキュリティ情報(パスワードなど)は /etc/gshadow に分離されています。
🔍 /etc/groupファイルのフォーマット
/etc/group はテキスト形式で構成されており、1行が1つのグループ情報を表しています。
フォーマット
group_name:password:GID:user_list| フィールド名 | 内容 | 例 |
|---|---|---|
| group_name | グループ名(識別名) | developers |
| password | グループパスワード(通常はx) | x |
| GID | グループID(数値) | 1001 |
| user_list | グループに所属するユーザー(カンマ区切り) | suzuki,tanaka |
💬 解説
- group_name:グループの名前を示します。
- password:通常は x で表され、実際のパスワードは /etc/gshadow に保存されます。
- GID(Group ID):グループを数値で識別します。
- user_list:そのグループに所属するユーザー名をカンマで区切って記述します。
🧩 /etc/groupファイルの例を見てみよう
[suzuki@AlmaLinux ~]$ cat /etc/group
root:x:0:
bin:x:1:
daemon:x:2:
sys:x:3:
adm:x:4:
wheel:x:10:root
suzuki:x:1000:suzuki
developers:x:1001:suzuki,tanaka上の出力は、AlmaLinux 9.6 環境での /etc/group の一部です。
例えば次の行を見てみましょう。
developers:x:1001:suzuki,tanakaこの行を分解すると次のようになります。
| フィールド | 値 | 意味 |
|---|---|---|
| group_name | developers | グループ名 |
| password | x | パスワードは/etc/gshadowで管理 |
| GID | 1001 | グループID |
| user_list | suzuki,tanaka | グループに所属するユーザー |
📘 まとめると
- "developers" というグループが存在し、
- GID は 1001 で、
- suzuki と tanaka の2人がメンバーとして所属しています。
🛠 関連コマンドで確認・操作する
グループ情報を確認する(cat /etc/group)
[suzuki@AlmaLinux ~]$ cat /etc/group📘 解説
グループ情報をすべて表示します。
ファイルの中身を直接確認したいときに使用します。
特定のグループを検索する(grep)
[suzuki@AlmaLinux ~]$ grep developers /etc/group
developers:x:1001:suzuki,tanaka📘 解説
特定のグループだけを抽出して確認できます。
grep グループ名 /etc/group の形で使います。
グループ情報を安全に取得する(getent group)
[suzuki@AlmaLinux ~]$ getent group developers
developers:x:1001:suzuki,tanaka📘 解説
getent コマンドは、システムデータベース(/etc/group など)から安全に情報を取得します。
LDAPなど外部認証を使っている環境でも正確に情報を取得できます。
🧱 関連コマンドの主なオプション一覧
| コマンド | 主な用途 | 主なオプション | 説明 |
|---|---|---|---|
| cat | ファイル内容を表示 | (なし) | 指定ファイルの全内容を出力 |
| grep | 特定文字列の検索 | -i, -v | 部分一致検索や除外検索 |
| getent | システム情報取得 | group, passwd | システムデータベースの内容を取得 |
🧰 /etc/groupファイルはどう使われているの?
このファイルは、ファイルアクセス権限やリソース管理において非常に重要です。
ファイルやディレクトリには「所有者」「グループ」「その他」の3種類の権限があります。
例:
-rw-r----- 1 suzuki developers 2048 Oct 28 21:00 report.txt| 項目 | 内容 |
|---|---|
| 所有者 | suzuki |
| 所有グループ | developers |
| アクセス権 | 所有者=rw, グループ=r, その他=なし |
📘 解説
この例では、suzuki本人とdevelopersグループのメンバーだけがファイルを読めるようになっています。
つまり、グループ情報(/etc/group)はアクセス制御の基礎として利用されています。
🔒 セキュリティと/etc/gshadow
/etc/group の2番目のフィールド(パスワード)は通常「x」となっており、
実際のパスワードは /etc/gshadow に保存されます。
| ファイル名 | 内容 | 権限 |
|---|---|---|
| /etc/group | グループ情報(一般ユーザーも閲覧可) | 644 |
| /etc/gshadow | パスワードなどの機密情報 | 600(rootのみ閲覧可) |
📘 解説
セキュリティ保護のため、一般ユーザーは /etc/gshadow を閲覧できません。
グループのパスワード機能を利用することは少ないですが、
ファイル共有の制限などにおいて内部的に利用されることがあります。
⚙️ /etc/groupを安全に編集するには?
直接編集することも可能ですが、誤って構文を壊すとシステムに影響します。
そのため、通常は次のコマンドで管理します。
| 操作内容 | 使用コマンド | 例 |
|---|---|---|
| グループを作成 | groupadd | groupadd developers |
| グループを削除 | groupdel | groupdel developers |
| ユーザーをグループに追加 | usermod -aG | usermod -aG developers suzuki |
📘 補足
どうしても直接編集する場合は vipw -g コマンドを使うと安全に編集できます。
✅ まとめ
- /etc/group は Linuxのグループ情報を管理する重要なファイル。
- 各行が1つのグループを表し、グループ名・GID・メンバー情報が記載されている。
- パスワード情報は /etc/gshadow に分離され、セキュリティを確保。
- コマンド(groupadd、usermod、groupdel)を使って安全に操作するのが基本。
| 操作内容 | コマンド例 | 説明 |
|---|---|---|
| グループの確認 | cat /etc/group | 全グループを表示 |
| 特定グループの検索 | grep developers /etc/group | 特定グループのみ表示 |
| グループとユーザーの関係確認 | getent group developers | 正確な情報を取得 |
/etc/group は、Linuxのユーザー管理とセキュリティの「土台」となるファイルです。
これを理解することで、ファイルアクセスやユーザー管理の仕組みがより深く理解できるようになります。
