このページで解説している内容は、以下の YouTube 動画の解説で見ることができます。

Linux基礎:Linuxのグループとは

Linuxのグループとは

 Linuxシステムでは、多数のユーザーが利用することを前提として設計されています。そこで欠かせないのが、ユーザーを効率的に管理するための仕組みである グループ です。グループを利用することで、個別にユーザーごとに権限を割り当てるのではなく、複数のユーザーをまとめて管理でき、アクセス制御を簡略化できます。

 例えば「営業部だけが参照できるファイル」や「開発チームだけが編集できる設定ファイル」といった制御をグループ単位で行うことが可能です。Linuxでは すべてのユーザーが必ず1つ以上のグループに所属 することが義務付けられており、この仕組みがセキュリティと利便性の両立を支えています。

1.グループの基本

1.1. グループとは

 グループとは、複数のユーザーを1つの集合として扱う仕組みです。グループ単位でファイルやディレクトリのアクセス権限を制御できるため、管理者は効率的にシステムを運用できます。

POINT

  • ユーザーは必ずいずれかのグループに所属する。
  • ユーザーは複数のグループに所属できる。
  • プライマリグループとサブグループの概念がある。

1.2. プライマリグループとサブグループ

Linuxでは、ユーザーが所属するグループには2種類あります。

種類説明
プライマリグループユーザーがログインしたときに自動的に所属する基本グループ。通常はユーザー名と同じ名前のグループが作成される。
サブグループ(補助グループ)追加で所属しているグループ。ファイル共有や特定のコマンド利用など、必要に応じて参加させる。

この仕組みによって、ユーザーは複数の役割を同時に持つことが可能になります。

2.グループの確認方法

2.1. groupsコマンド

ユーザーが所属しているグループを一覧表示するには groupsコマンド を使用します。

書式

groups [ユーザー名]

【例1】自分自身の所属グループを確認

[user@rocky9 ~]$ groups
user wheel

【例2】他のユーザー(tanaka)の所属グループを確認

[user@rocky9 ~]$ groups tanaka
tanaka : tanaka

tanaka ユーザーは tanaka グループ(プライマリ)に所属している。

2.2. idコマンド

 idコマンド を利用すると、UID(ユーザーID)やGID(グループID)とあわせてグループ情報を確認できます。

書式

id [ユーザー名]

【例3】自分自身の情報を確認

[user@rocky9 ~]$ id
uid=1000(user) gid=1000(user) groups=1000(user),10(wheel) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023

【例4】tanakaユーザーの情報を確認

[user@rocky9 ~]$ id tanaka
uid=1001(tanaka) gid=1001(tanaka) groups=1001(tanaka)

まとめ

  • Linuxでは、ユーザーは必ず1つ以上のグループに所属する。
  • プライマリグループは基本となる所属先、サブグループは補助的に所属するグループ。
  • groupsコマンドやidコマンドで所属グループを確認できる。
  • グループはアクセス権限の制御に直結しており、効率的なユーザー管理に欠かせない仕組みである。