【LinuC101対策】プライマリーグループと2次グループとは /etc/passwdと/etc/groupを完全整理




はじめに

LinuC101を勉強していると、必ず出てくるのが「ユーザーとグループ管理」

その中でも特に頻出なのが、

  • プライマリーグループはどのファイル?
  • ユーザーの所属する2次グループはどこに書かれている?
  • GIDはどこを見ればいい?

という“ファイル名をそのまま答えさせる問題”。

正直、仕組みを理解していないと丸暗記になってしまいます。

今回は、

  • プライマリーグループの登録先

  • 2次グループの登録先

  • よくある出題パターン

を整理していきます。


ユーザーとグループ管理の基本

グループとは何か?

グループとは、複数のユーザーをまとめて管理するための仕組みです。

Linuxでは、ファイルやディレクトリのアクセス権を
「ユーザー単位」ではなく「グループ単位」で設定できます。

例えば、

  • 同じ部署のメンバー

  • 同じプロジェクトメンバー

にまとめて同じ権限を与えることができます。

これがグループの役割です。

Linuxでは、ユーザーとグループの情報は主に以下のファイルで管理されています。

1. /etc/passwd

ユーザー情報を管理するファイル。

ここには、

  • ユーザー名

  • UID

  • プライマリーグループのGID

  • ホームディレクトリ

  • ログインシェル

などが記録されています。

ポイントはここ。

プライマリーグループは /etc/passwd に書かれている。

具体的には、各ユーザー行の「GIDの項目」が
そのユーザーのプライマリーグループを示しています。

例(イメージ)

user1:x:1001:1001:/home/user1:/bin/bash

この「4番目の数字」がプライマリーグループのGIDです。


2. /etc/group

こちらはグループ情報を管理するファイル。

ここには、

  • グループ名

  • GID

  • そのグループに所属するユーザー一覧

が記載されています。

ここが重要。

ユーザーの2次グループは /etc/group に書かれている。

具体的には、各グループ行の最後の「ユーザー一覧」に
そのグループに属するユーザー名が並びます。

例(イメージ)

developers:x:1002:user1,user2

この場合、user1 と user2 は
developersグループの2次グループメンバーです。


プライマリーと2次グループの違い

ユーザーは必ず 1つのプライマリーグループ に所属します。

Linuxでは、ユーザーを作成するときに
必ずどこかのグループに紐づける必要があります。

通常は、

ユーザー名と同じ名前のグループが自動作成され、
それがプライマリーグループになります。

例えば、

user01 というユーザーを作成すると、

user01 という名前のグループが作られ、
それがプライマリーグループとして設定されます。

この「必ず1つ」というルールが、
/etc/passwd にGIDが必ず存在する理由です。

■ プライマリーグループ

  • 1ユーザーにつき1つだけ

  • /etc/passwd のGID欄に書かれている

  • ファイル作成時のデフォルトグループになる

■ 2次グループ(補助グループ)

  • 複数所属できる

  • /etc/group にユーザー名が列挙される

  • 権限拡張のために使われる

試験ではこの構造を理解しているかどうかが問われます。

2次グループ=セカンダリーグループ?呼び方の違いに注意

実は「2次グループ」にはいくつか呼び方があります。

  • 2次グループ

  • セカンダリーグループ(secondary group)

  • 補助グループ

  • サプリメンタリーグループ(supplementary group)

これらは すべて同じ意味 です。


よくある出題パターン

LinuC101では、こんな問題がよく出ます。

パターン①

「ユーザーのプライマリーグループを定義しているファイルはどれか」

→ 正解:/etc/passwd


パターン②

「ユーザーが所属する補助グループの情報はどのファイルに記載されているか」

→ 正解:/etc/group


パターン③

「グループに所属するユーザー一覧が書かれているファイルはどれか」

→ 正解:/etc/group


試験対策としての覚え方

僕のおすすめはこれ。

  • passwd → ユーザー中心(だからプライマリーもここ)

  • group → グループ中心(だからメンバー一覧がここ)

「誰を基準にしているファイルか」で覚えると混乱しません。

丸暗記より、構造理解。

これが一番効きます。


実際に id コマンドで確認してみる

Ubuntu 22.04 環境で id yama を実行してみました。

uid=1000(yama) gid=1000(yama) groups=1000(yama),4(adm),27(sudo),1001(docker)

見るポイントはここです。

  • gid=1000 → プライマリーグループ

  • groups= → 所属している全グループ(2次グループ含む)

この出力を見ると、

プライマリーグループは /etc/passwd
補助(2次)グループは /etc/group

という構造が実機でも確認できます。

実際にコマンドを叩いて確認すると、
丸暗記ではなく理解で覚えられるようになります。

注意点

  • /etc/shadow はパスワード管理用(グループとは別)

  • プライマリーグループは /etc/group のユーザー一覧に出ないこともある

  • usermod などのコマンド問題とセットで出ることも多い

ファイル名だけでなく、役割もセットで理解しておくと応用問題にも対応できます。


まとめ

LinuC101で頻出のグループ管理。

整理すると、

  • プライマリーグループ → /etc/passwd

  • 2次グループ → /etc/group

この2つを確実に押さえることが超重要。

試験では本当に
「その2個のファイルはどれ?」
とそのまま聞いてきます。

だからこそ、
構造を理解して、自信を持って答えられる状態にしておきましょう。

コメント

タイトルとURLをコピーしました