Linux では、ユーザー ID (ユーザー ID、UID と呼ばれる) は、ユーザー名に一意に対応するユーザー識別子を指します。UNIX のようなシステムでは、カーネルによって使用される符号なし整数値です。ユーザーを識別するためのものであり、UNIX ファイル システムおよびプロセスに必要なコンポーネントの 1 つでもあります。 UID が 500 を超えるユーザーは非システム アカウントであり、UID が 500 未満のユーザーは、root アカウントなど、システムによって予約されているアカウントです。最高の権限を持つアカウントの UID は 0 です。ユーザーを作成するとき、アカウントのデフォルトの UID は 500 より大きいです。
#このチュートリアルの動作環境: linux7.3 システム、Dell G3 コンピューター。
Linux システムにログインするとき、独自のユーザー名とパスワードを入力しますが、Linux は実際にはユーザー名を知りません。知っているのは、ユーザー名に対応する ID 番号 (数字の文字列) だけです。ユーザー名。 Linux システムは、すべてのユーザー名と ID の対応関係を /etc/passwd ファイルに保存します。
Linux システムでは、各ユーザーの ID がユーザー ID (ユーザー ID、UID と呼ばれます) とグループ ID (グループ ID、GID と呼ばれます) の 2 種類に分類されます。ファイルには所有者があり、グループに対応する 2 つの属性があるということです。ユーザー ID (UID) について説明します。
linux ユーザー ID (UID)
ユーザー ID (英語: user identifier、一般的に User ID または UID と略されます)、ユーザーのフルネーム識別子 UNIX 系システムにおける文字は、カーネルがユーザーを識別するために使用する符号なし整数値であり、UNIX ファイル システムおよびプロセスに必要なコンポーネントの 1 つでもあります。
UID---ユーザー名に一意に対応するユーザー識別番号。 LINUX のスーパーユーザー root の UID は 0 です。ユーザー名、UID、グループ名、GID、および所属する他のグループの名前をシステムに表示させたい場合は、id コマンドを使用できます。 UID を変更するには、通常、usermod -u
が使用されます。
UID は、システム内のユーザーを表すために使用される識別子です。開始されたプロセスの uid は、現在ログインしているユーザーの uid です。ユーザー uid を表示するには、id -u < を使用します。 ;username>
command
アクセス許可をチェックする際には、euid がチェックされることに注意してください。通常、プロセスの euid は uid と同じです。
UID が 500 を超えるユーザーは非システム アカウントであり、500 未満のユーザーは、root アカウントなど、システムによって予約されたアカウントです。最高権限アカウントの UID は 0 (デフォルト)ユーザーを作成するときのアカウント UID。それらはすべて 500 より大きいです。アカウントの UID を指定したい場合は、-u
パラメーターを使用して指定できます。他にそれほど重要なことはありません。
値の範囲
システムが異なると、UID 値の範囲も異なりますが、一般に、UID は 0 ~ 32767 の 15 桁の整数で表されると言われており、次の制限があります。
スーパー ユーザーの UID は常に 0 です。
従来の慣例によれば、「nobody」(UNIX 系システムの特別なアカウント) はスーパー ユーザーの反対であり、常に最大値 (32767) の PID を占有します。 ; 対応して、現在のシステムは誰でもない 割り当てられた UID は、システムで予約されている範囲 (1 ~ 100) または 65530 ~ 65535 の範囲内にあります [1]。
1 から 100 までの値を持つ UID は、システムで使用するために予約されています。一部のマニュアルでは、101 ~ 499 (RHEL など)、またはこれに基づいて 101 ~ 999 を予約することを推奨しています。 Debian として) をバックアップとして使用します。これに対応して、useradd コマンドを使用して Linux で最初のユーザーを作成すると、そのユーザーに割り当てられるデフォルトの UID は 1000 になります。
さらに、一部の特別なシステムは 16 ビット UID もサポートしているため、UID の数を 65536 まで拡張できます。最新のシステムは 32 ビット UID をサポートしているため、UID もサポートされます。この数はさらに 4,294,967,296 まで拡張することが可能です。
#UID カテゴリ
有効なユーザー ID
有効なユーザー ID (実効 UID または EUID) および実効ユーザー グループ ID (実効グループ ID または EGID) は、ファイルの作成およびアクセス時に役割を果たします。具体的には、ファイルの作成時に、システム カーネルは、ファイルを作成したプロセスの EUID と EGID を使用します。ファイルの所有者/グループ属性を設定する ファイルにアクセスするとき、カーネルは、アクセスするプロセスの EUID と EGID に基づいてファイルにアクセスできるかどうかも判断します。Real User ID
Real User ID (Real UID、RUID) と Real User Group ID (Real GID、RGID) が使用されます。プロセスの実際の所有者を識別するために使用され、プロセスのシグナル送信の許可に影響します。スーパーユーザー権限のないプロセスは、その RUID がターゲット プロセスの RUID と一致する場合にのみ、ターゲット プロセスにシグナルを送信できます。たとえば、親プロセスと子プロセスの間では、子プロセスは親プロセスから認証情報を継承します。子プロセスは相互にシグナルを送信できます。一時ユーザー ID
一時ユーザー ID (保存された UID、SUID) は、昇格された特権で実行されているプロセスが、特権を必要としない操作を一時的に実行する必要がある場合に使用されます。この場合、プロセスは、実効ユーザー ID を特権ユーザー ID から一時的に変更します。 user ( (通常は root) に対応する UID は、非特権ユーザーに対応する UID に変更され、その後、元の特権ユーザー UID が一時保管用の SUID にコピーされます。その後、プロセスが必要のない操作を完了すると、特権を取得すると、プロセスは SUID 値を使用して EUID をリセットし、特権を取り戻します。ここで、非特権プロセスの EUID 値は、RUID、SUID、および EUID のいずれかと同じ値にのみ設定できる (つまり、変更されない) ことに注意してください。
ファイル システム ユーザー ID
ファイル システム UID (FSUID) は Linux で使用され、ファイルのアクセス許可制御にのみ使用されます。 system は、明示的な設定がなければ EUID と同じです (FSUID がルートの UID である場合、SUID、RUID、および EUID の少なくとも 1 つはルートの UID である必要があります)。EUID の変更は FSUID にも影響します。 FSUID は、特定の UID を持つアカウントへのシグナルを取得せずに、プログラム (NFS サーバーなど) が特定の UID のアクセス許可でファイル システムのアクセス許可を制限できるようにするために確立されます。
その他
UID 値とユーザー アカウントの対応関係は /etc/passwd に保存されます。 /etc/shadow およびパスワードの保存に使用されるネットワーク情報サービスもユーザーを識別するために UID 値を使用しますが、Linux システムのシャドウ ファイルはユーザーを識別するためにアカウント名を使用するようになりました。
POSIX 準拠の環境では、id コマンドにより、ユーザー名、現在のユーザーが属するグループ、および対応する UID および GID 値を取得できます。
関連する推奨事項: 「Linux ビデオ チュートリアル 」
以上がLinuxのユーザーIDとは何を意味しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。