Webエンジニア向けプログラミング解説動画をYouTubeで配信中!
▶ チャンネル登録はこちら

GID(ジーアイディー)とは | 意味や読み方など丁寧でわかりやすい用語解説

GID(ジーアイディー)の意味や読み方など、初心者にもわかりやすいように丁寧に解説しています。

作成日: 更新日:

読み方

日本語表記

グループID (グループアイディー)

英語表記

GID (ジーアイディー)

用語解説

GIDとは、Group IDentifierの略称であり、UNIXやLinuxなどのUNIX系オペレーティングシステムにおいて、ユーザーが所属するグループを一意に識別するために割り当てられる数値のことである。コンピュータシステムでは、多くのユーザーが同時に利用することが想定されており、個々のユーザーを識別するためにはUID(User IDentifier)が用いられる。それに対し、GIDは複数のユーザーをまとめた「グループ」という単位を識別するために存在する。このグループという概念の主な目的は、ファイルやディレクトリへのアクセス権限を効率的に管理することにある。例えば、あるプロジェクトに関わる複数の開発者がいる場合、その開発者たちを一つのグループにまとめることで、プロジェクト関連のファイルへのアクセス権をグループ単位で一括して設定できる。これにより、ユーザー一人ひとりに対して個別に権限を設定する手間が省け、セキュリティと管理の効率性が大幅に向上する。GIDは、OSがどのユーザーがどのグループに所属しているかを判断するための鍵となる情報であり、UIDと並んで、UNIX系システムのユーザーおよび権限管理の根幹をなす基本的な仕組みである。

GIDの役割をより深く理解するためには、ファイルやディレクトリのアクセス権限、すなわちパーミッションの仕組みを知る必要がある。UNIX系システムでは、すべてのファイルとディレクトリに「所有者」「所有グループ」「その他のユーザー」という三つのカテゴリに対して、それぞれ「読み取り(r)」「書き込み(w)」「実行(x)」の権限を設定できる。このうち「所有グループ」を決定するのがGIDである。あるファイルが特定のグループに所有されている場合、そのグループに所属するユーザーは、そのファイルに対して「所有グループ」に与えられた権限でアクセスすることが可能となる。この仕組みにより、ファイルの所有者ではない特定のユーザー群に対してのみ、ファイルの閲覧や編集を許可するといった柔軟なアクセス制御が実現される。

ユーザーが所属するグループには、主に二つの種類が存在する。一つは「プライマリグループ(またはログイングループ)」であり、もう一つは「サプリメンタリグループ(または追加グループ)」である。プライマリグループは、ユーザーがシステムにログインした際のデフォルトのグループとなる。ユーザーが新たにファイルやディレクトリを作成すると、特別な設定がない限り、その所有グループは作成者のプライマリグループとなる。通常、ユーザーアカウントを作成すると、そのユーザー名と同じ名前のグループが自動的に作成され、それがプライマリグループとして設定されることが多い。一方、サプリメンタリグループは、ユーザーがプライマリグループ以外に所属できる追加のグループである。一人のユーザーは複数のサプリメンタリグループに所属することができ、これにより、複数のプロジェクトや部署を兼任しているユーザーに対して、それぞれの役割に応じたアクセス権限を適切に付与することが可能になる。

これらのGIDに関する情報は、主に二つの設定ファイルによって管理されている。一つは/etc/passwdファイルで、ここには各ユーザーのアカウント情報が一行ずつ記録されており、その中にはユーザー名、UID、そしてそのユーザーの「プライマリGID」が含まれている。もう一つは/etc/groupファイルで、システムに存在するすべてのグループの情報が記録されている。このファイルには、グループ名、GID、そしてそのグループにサプリメンタリグループとして所属しているユーザーのリストが記述されている。システムはこれら二つのファイルを常に関連付けて参照し、ユーザーの認証やアクセス権の検証を行っている。

システムエンジニアは、これらのGIDを適切に管理するために、いくつかのコマンドを日常的に使用する。例えば、idコマンドを実行すると、現在ログインしているユーザーのUID、プライマリGID、所属しているすべてのサプリメンタリGIDを一覧で確認できる。また、グループの作成にはgroupadd、変更にはgroupmod、削除にはgroupdelといった管理者権限が必要なコマンドが用いられる。既存のユーザーを特定のグループに追加したり、プライマリグループを変更したりする場合にはusermodコマンドが使用される。

最後に、GIDの数値にも一定のルールが存在する。一般的に、GIDは0から始まる整数であるが、特定の範囲はシステムによって予約されている。例えば、GIDの0はスーパーユーザーであるrootが所属する「rootグループ」に割り当てられている。また、1から999までの範囲(この範囲はOSのディストリビューションによって異なる場合がある)は、システム上で動作するサービスやデーモンが使用するシステムグループのために予約されていることが多い。一般のユーザーが作成するグループには、通常1000番以降のGIDが自動的に割り当てられる。このように範囲を分けることで、システムが利用するグループとユーザーが作成したグループを明確に区別し、意図しない設定変更によるシステムの不安定化を防いでいる。GIDは単なる数字ではなく、システムのセキュリティと秩序を維持するための重要な識別子なのである。

関連コンテンツ