ユーザー識別子

ユーザー識別子（ユーザーしきべつし、）とは、Unix系システムでユーザーを表現（識別）する番号。UIDと略記される。
また、ユーザーはグループに属することができ、グループを識別するグループ識別子（Group Identifier）という番号がある。これをGIDと略記する。
ユーザー識別子.
UIDの値の範囲はシステムによって異なるが、最低でも 0 から 32767 の値をとる。また、次のような制限がある。
ユーザー毎のUID値は "/etc/passwd" ファイルで参照される。ファイルやネットワーク・インフォメーション・サービス (NIS) も数値としてのUIDを参照する。ユーザー識別子はUNIXのファイルシステムやプロセスに（所有者を示す情報として）必須の情報である。OSによっては 16ビットのUIDをサポートして 65535 までの番号を使えるが、最近の 32ビット UID をサポートするシステムでは 4,294,967,295 (232-1) までの値を使用できる。
POSIX準拠環境では、codice_1コマンドでユーザー識別子だけでなくユーザー名、一次グループとそのGIDといったアカウントに関する情報を表示することができる。
プロセスは、いくつかのUID（とGID）を持っており、それらを状況によって使い分けている。
グループ識別子.
UNIX系システムでは、複数のユーザーを「グループ」に分類することができる。POSIXやUNIX系のファイルパーミッションは3段階（ユーザー、グループ、その他）から構成されている。グループを用いることにより、ディスクやプリンターなどの周辺機器へのアクセスを正式な形で委任することが可能となる。同様の手法でスーパーユーザーが管理タスクを一般ユーザーに委任することも可能にする。これは、Windows NTやその後継OSでの "Administrators" グループに似ている。
グループ識別子（Group Identifier）はグループを識別する番号である。GIDの値の範囲はシステムによって異なるが、最低でも 0 から 32767 の値をとる。また、以下のような制限がある。
この数値は "/etc/passwd" と "/etc/group" （あるいはそれと同等のファイル）で参照される。シャドーパスワードファイルとNISも数値としてのGIDを参照する。グループ識別子はUNIXのファイルシステムやプロセスに（所有者を示す情報として）必須の情報である。
使用可能なグループ識別子の値の範囲は、それを格納するメモリ領域のサイズに規定される。従来、16ビットの符号付整数が使われていた。符号は必要ない（負の整数はGIDとして使用されない）ため、符号なしの整数が使われるようになっていった（0～65535）。最近のOSでは32ビットの整数が使われているため、その範囲は 0～4,294,967,295 である。
一次GID と 補助GID.
UNIXシステムでは、各ユーザーは少なくとも1つのグループに属し、そのグループは "/etc/passwd"内のそのユーザーのエントリ内にGIDの数値で指定される。これを一次グループID（primary group ID）と呼ぶ。ユーザーはそれ以外のグループにも属することができ、"/etc/group" ファイルでそれを設定する。そのようなグループのIDを補助グループID（supplementary group ID）とか二次グループID（secondary group ID）と呼ぶ。通常、補助グループIDに属しているだけではグループのパーミッションのアクセス権を獲得できない。
実効グループIDと実グループID.
UNIXプロセスは実効GIDと実GIDを持つ。通常これらは同一であるが、setgidプロセスでは異なったGIDとなる。setgidプロセスは特権を持つグループとなって特権の必要な機能を実行し、必要に応じて簡単に非特権グループに戻すことが出来る。