ユーザー識別子
UIDの値の範囲はシステムによって異なるが、最低でも 0 から 32767 の値をとる。また、次のような制限がある。
スーパーユーザーのUIDは常にゼロ(0)である。
"nobody" というユーザーは伝統的に最大UID 32767 に設定されてきた。最近では、nobody の UID をシステム範囲(1-100)か 65530-65535 に設定することが多い。
1-100 の UID はシステム用途に確保されている。システムによっては 499 まで(Red Hat Enterprise Linux 6以前)、999 まで(Debian、RHEL7以降)をシステム用途に予約することを推奨していることもある。
ユーザー毎のUID値は /etc/passwd ファイルで参照される。シャドウパスワード(英語版)ファイルやネットワーク・インフォメーション・サービス (NIS) も数値としてのUIDを参照する。ユーザー識別子はUNIXのファイルシステムやプロセスに(所有者を示す情報として)必須の情報である。OSによっては 16ビットのUIDをサポートして 65535 までの番号を使えるが、最近の 32ビット UID をサポートするシステムでは 4,294,967,295 (2-1) までの値を使用できる。
POSIX準拠環境では、idコマンドでユーザー識別子だけでなくユーザー名、一次グループとそのGIDといったアカウントに関する情報を表示することができる。
プロセスは、いくつかのUID(とGID)を持っており、それらを状況によって使い分けている。
ファイルシステムUID (fsuid) はLinuxカーネル特有のユーザー識別子で、ファイルシステムのアクセス制御に使われる。その値は明示的に設定しない限り実効UIDと同じである。実UID、保存UID、実効UIDのいずれかが root の場合のみ root に設定できる。実効UIDを変更すると、その変更はファイルシステムUIDにも伝播する。NFSサーバのように、ファイルシステムに対するアクセス権を得たいが実UIDや実効UIDを変更したくない場合に使用する。
保存UID (suid) は、特権を高めて動作中のプログラムが一時的に非特権的な仕事をする際に使用する。実効UIDが特権のある値(通常は root)だったものを非特権的な値に変更する際、以前の特権的なUIDを保存UIDのスロットにコピーする。特権状態を元に戻すとき、保存UIDの値を実効UIDに戻す(非特権的プロセスが実効UIDとして設定できるのは、実UID、保存UID、実効UID - つまり変更しない - の3種類しかない)。