Identifikátor uživatele
Identifikátor uživatele (UID, anglicky user identifier) je v informatice v unixových operačních systémech identifikátor, pomocí kterého jádro systému (kernel) rozlišuje uživatele. Používá pro to celočíselnou kladnou hodnotou (unsigned integer) označovanou jako user identifier, zkráceně UID nebo User ID. Rozsah hodnot UID se liší v závislosti na systému, minimálně jde však o 15bitové číslo, které může nabývat hodnot 0 až 32767 a řídí se následujícími pravidly:
- Správce počítače má vždy UID 0.
- Uživateli „nobody“ je obyčejně přiřazována nejvyšší možná hodnota UID (opak správce počítače).
- Je zvykem rezervovat UID od 1 do 100 pro uživatelské účty. Některé manuály doporučují rezervovat UID od 101 do 499 (Red Hat Enterprise Linux) nebo dokonce až do hodnoty 999 (Debian).
Hodnota UID odkazuje na uživatelské účty uložené v souboru /etc/passwd. Účty shadow password a Network Information Service jsou také rozlišovány na základě UID. Uživatelské identifikátory jsou nezbytnou součástí unixových operačních systémů a procesů. Některé operační systémy podporují 16bitové UID, což umožňuje uchovat až 65536 unikátních UID. Moderní systémy s 32bitovými UID jsou schopné evidovat až 4 294 967 296 (232) hodnot.
Standard POSIX definuje v příkazovém řádku příkaz id
, který slouží k výpisu uživatelova identifikátoru (UID), stejně jako jeho uživatelského jména a identifikátoru skupiny, které je členem (GID).
Efektivní uživatelské ID
Efektivní UID (euid
) a efektivní GID (egid
) ovlivňuje vytváření souborů a přístup k nim. Při vytváření souboru je vlastník nastaven na hodnotu efektivního UID a efektivního GID procesu, který soubor vytvořil. Při přístupu k souboru používá kernel efektivní UID a efektivní GID procesu k určení, zda je oprávněn k souboru přistupovat.
Uložené UID
Uložené UID (suid
) se používá případě, kdy proces se zvýšeným oprávněním potřebuje dočasně snížit svá práva. Změní své efektivní UID z privilegované hodnoty (typicky root) na některou neprivilegovanou a své původní efektivní UID si uloží. Později se může znovu vrátit k uloženému UID (neprivilegovaný proces může nastavit své efektivní UID pouze na tři hodnoty: své reálné UID, uložené UID, nebo efektivní UID – v posledním případě k žádné změně nedojde, protože by teoreticky došlo k přepsání efektivního UID tou samou hodnotou).
UID souborového systému
Unixové systémy obsahují také UID pro souborový systém (fsuid
), které se využívá výlučně pro účely ovládání souborového systému. Není-li nastaveno jinak, odpovídá euid
. Může mít stejnou hodnotu jako root pouze v případě, je-liruid
, suid
, nebo euid
stejné jako root. Při každé změně euid
je zároveň změněno i fsuid
.
Účelem fsuid
je umožnit procesům (např. NFS server), aby převzaly práva jiných uid
bez toho, aby daným uid
umožnily posílat jim signály.
Skutečné UID
Skutečné UID (Real UID – ruid
) a skutečné GID (Real GID – rgid
) označuje skutečného vlastníka procesu a ovlivňuje práva posílat signály. Proces bez oprávnění uživatele root může posílat signály ostatním procesům pouze v případě, že se jejich skutečné UID shodují. Jelikož nové procesy dědí UID svého předka, mohou si tyto procesy signály navzájem posílat.
Odkazy
Reference
V tomto článku byl použit překlad textu z článku User identifier na anglické Wikipedii.