User identifier
# User identifier

Nei sistemi operativi Unix e Unix-like lo user identifier o UID è un numero intero che identifica univocamente un utente del sistema.

## Assegnazione

Lo user identifier viene assegnato dall'amministratore di sistema (root) insieme al nome utente, tipicamente in maniera univoca (i.e. ad uno user identifier corrisponde tipicamente un unico nome utente, sebbene sia tecnicamente possibile definire più account aventi lo stesso user identifier), e solo l'amministratore di sistema lo può modificare. L'associazione tra user identifier e nome utente è normalmente definita nel file /etc/passwd, ma può anche esistere in un server NIS+, o in un servizio di directory accessibile via LDAP.

## Utilizzo

Ad ogni file e directory del file system è assegnato esattamente uno user identifier che ne indica il proprietario e contribuisce a determinarne i permessi d'accesso. Può essere modificato tramite il comando chown.

Ad ogni processo è associato un insieme definito di user identifier (vedi Process control block (Unix)) che contribuiscono a determinare i permessi che il processo ha su file e directory. Processi con adeguati privilegi possono modificare i propri user identifier associati tramite apposite chiamate di sistema come setuid, seteuid, setreuid, setresuid.

## User identifier particolari

Lo user identifier 0 è particolare in quanto identifica il superuser, o root, il quale gode di privilegi particolari rispetto a tutti gli altri: può ad esempio aggirare il meccanismo dei permessi, o eseguire certe operazioni privilegiate come creare dei socket in ascolto su porte inferiori alla 1024.

Gli user identifier da 1 a 99 (o fino anche a 499 o 999 su certi sistemi) sono comunemente riservati ad utenze fittizie, alle quali non corrispondono utenti reali ma che vengono usati dal sistema per separare e limitare la possibilità d'intervento dei servizi di sistema. Ad esempio viene comunemente definita un'utenza fittizia mail con uno user identifier molto piccolo che viene usata per rappresentare il sistema di gestione della posta elettronica locale e nel contempo per limitare la sua possibilità d'intervento sul file system.

Allo user identifier maggiore consentito dal sistema (solitamente 65534) viene comunemente associata l'utenza fittizia nobody (lett. "nessuno"), che non gode di alcun privilegio particolare, ed è comunemente usata da processi privilegiati per limitare le proprie possibilità di intervento quando lo impongono questioni di sicurezza.

