はじめに
LinuC101を勉強していると、必ず出てくるのが「ユーザーとグループ管理」
その中でも特に頻出なのが、
-
プライマリーグループはどのファイル?
-
ユーザーの所属する2次グループはどこに書かれている?
-
GIDはどこを見ればいい?
という“ファイル名をそのまま答えさせる問題”。
正直、仕組みを理解していないと丸暗記になってしまいます。
今回は、
-
プライマリーグループの登録先
-
2次グループの登録先
-
よくある出題パターン
を整理していきます。
ユーザーとグループ管理の基本
グループとは何か?
グループとは、複数のユーザーをまとめて管理するための仕組みです。
Linuxでは、ファイルやディレクトリのアクセス権を
「ユーザー単位」ではなく「グループ単位」で設定できます。
例えば、
-
同じ部署のメンバー
-
同じプロジェクトメンバー
にまとめて同じ権限を与えることができます。
これがグループの役割です。
Linuxでは、ユーザーとグループの情報は主に以下のファイルで管理されています。
1. /etc/passwd
ユーザー情報を管理するファイル。
ここには、
-
ユーザー名
-
UID
-
プライマリーグループのGID
-
ホームディレクトリ
-
ログインシェル
などが記録されています。
ポイントはここ。
プライマリーグループは /etc/passwd に書かれている。
具体的には、各ユーザー行の「GIDの項目」が
そのユーザーのプライマリーグループを示しています。
例(イメージ)
この「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個のファイルはどれ?」
とそのまま聞いてきます。
だからこそ、
構造を理解して、自信を持って答えられる状態にしておきましょう。


コメント