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
[modifica | modifica wikitesto]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
[modifica | modifica wikitesto]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
[modifica | modifica wikitesto]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.
Bibliografia
[modifica | modifica wikitesto]- W. Richard Stevens, Advanced Programming in the UNIX Environment, Addison Wesley, 1992, ISBN 0-201-56317-7.
Voci correlate
[modifica | modifica wikitesto]Altri progetti
[modifica | modifica wikitesto]- Wikimedia Commons contiene immagini o altri file su User identifier