|
ユーザー識別子(ユーザーしきべつし、User Identifier)とは、Unix系システムでユーザーを表現(識別)する番号。UIDと略記される。 また、ユーザーはグループに属することができ、グループを識別するグループ識別子(Group Identifier)という番号がある。これをGIDと略記する。 == ユーザー識別子 == UIDの値の範囲はシステムによって異なるが、最低でも 0 から 32767 の値をとる。また、次のような制限がある。 * スーパーユーザーのUIDは常にゼロ(0)である。 * "nobody" というユーザーは伝統的に最大UID 32767 に設定されてきた。最近では、nobody の UID をシステム範囲(1-100)か 65530-65535 に設定することが多い。 * 1-100 の UID はシステム用途に確保されている。システムによっては、499 までとか(Red Hat Enterprise Linux)、999 まで(Debian)をシステム用途に予約することを推奨していることもある。 ユーザー毎のUID値は ''/etc/passwd'' ファイルで参照される。ファイルやネットワーク・インフォメーション・サービス (NIS) も数値としてのUIDを参照する。ユーザー識別子はUNIXのファイルシステムやプロセスに(所有者を示す情報として)必須の情報である。OSによっては 16ビットのUIDをサポートして 65535 までの番号を使えるが、最近の 32ビット UID をサポートするシステムでは 4,294,967,295 (232-1) までの値を使用できる。 POSIX準拠環境では、 id コマンドでユーザー識別子だけでなくユーザー名、一次グループとそのGIDといったアカウントに関する情報を表示することができる。プロセスは、いくつかのUID(とGID)を持っており、それらを状況によって使い分けている。 ; 実効UID (effective UID) : 実効UID ( euid ) と実効GID (egid ) はファイル作成とファイルアクセスに影響する。ファイル作成時、カーネルはそのファイルの所有者を作成しているプロセスの実効UIDと実効GIDで設定する。ファイルアクセス時、カーネルはプロセスの実効UIDと実効GIDでアクセス権の有無を判断する。; 保存UID (saved UID) : 保存UID ( suid ) は、特権を高めて動作中のプログラムが一時的に非特権的な仕事をする際に使用する。実効UIDが特権のある値(通常は root)だったものを非特権的な値に変更する際、以前の特権的なUIDを保存UIDのスロットにコピーする。特権状態を元に戻すとき、保存UIDの値を実効UIDに戻す(非特権的プロセスが実効UIDとして設定できるのは、実UID、保存UID、実効UID - つまり変更しない - の3種類しかない)。; ファイルシステムUID (file system UID) : ファイルシステムUID ( fsuid ) はLinuxカーネル特有のユーザー識別子で、ファイルシステムのアクセス制御に使われる。その値は明示的に設定しない限り実効UIDと同じである。実UID、保存UID、実効UIDのいずれかが root の場合のみ root に設定できる。実効UIDを変更すると、その変更はファイルシステムUIDにも伝播する。NFSサーバのように、ファイルシステムに対するアクセス権を得たいが実UIDや実効UIDを変更したくない場合に使用する。; 実UID (real UID) : 実UID ( ruid ) と実GID (rgid ) はプロセスの実際の所有者を示し、シグナル送信の権限に影響する。スーパーユーザー特権を持たないプロセスは、送信側と受信側の実UIDが一致する場合のみシグナルを送受信可能である。子プロセスは一般に親プロセスからその値を継承するので、互いにシグナルを送受信可能である。抄文引用元・出典: フリー百科事典『 ウィキペディア(Wikipedia)』 ■ウィキペディアで「ユーザー識別子」の詳細全文を読む スポンサード リンク
|