Cos'è#
UID (User ID) e GID (Group ID) sono identificativi numerici che il Kernel Linux utilizza per identificare utenti e gruppi e applicare le policy di controllo accessi (Permissions). In un sistema Linux, poiché "tutto è un file", il sistema ha bisogno di un modo univoco per stabilire chi possiede cosa e quali permessi ha. UID e GID sono le "carte d'identità" digitali che il Kernel utilizza per gestire questa sicurezza.
In Linux, i nomi sono solo "etichette di cortesia" per noi umani; per il kernel, tu sei solo un numero.
Come funziona#
Il Kernel non riconosce i nomi (stringhe); ogni processo e ogni file è associato a un ID numerico.
[ PROCESSO ] ◀──── Verifica ────▶ [ FILE ]
(Eseguito da) (Proprietà)
UID: 1000 UID: 1000 (Owner)
GID: 1000 GID: 1000 (Group)
PERMESSI: rwx r-- ---🆔 UID (User Identifier)#
L'UID è un numero intero univoco assegnato a ogni utente nel sistema. Anche se noi usiamo nomi come barno o root, il Kernel ragiona solo per numeri.
- Root (UID 0): È l'utente onnipotente. Qualsiasi processo con UID 0 scavalca ogni controllo di permesso.
- System Users (1-999): Creati dal sistema per gestire servizi specifici (es.
bin,sys,systemd) senza dare loro pieni privilegi. - Normal Users (1000+): Il primo utente umano creato (come te) riceve solitamente l'UID 1000.
👥 GID (Group Identifier)#
Il GID è l'identificativo numerico di un gruppo. Viene utilizzato per applicare permessi a un insieme di utenti contemporaneamente.
- Primary GID: Ogni utente ha un gruppo primario (spesso con lo stesso nome e ID dell'utente) che viene assegnato automaticamente a ogni nuovo file creato da quell'utente.
- Supplementary GIDs: Un utente può far parte di altri gruppi (es.
sudo,docker) per ereditare permessi extra.
Perché è importante per Blue Team#
- Privilege Escalation: Molti exploit mirano a cambiare l'UID del processo corrente a 0.
- Identity Spoofing: Se un attaccante riesce a creare un utente con lo stesso UID di un admin in un sistema NFS o file system remoto, otterrà i suoi permessi.
- Audit: I log di sistema (auditd) registrano spesso l'UID invece del nome utente; conoscere la mappatura è vitale per ricostruire un incidente.
Scenario Reale#
Trovi un file sospetto con proprietario UID 1005, ma non esiste un utente con quel nome nel file /etc/passwd. Questo indica che l'utente è stato rimosso, ma i suoi file ("Orphaned files") sono rimasti sul disco, rappresentando un potenziale rischio se un nuovo utente venisse creato con lo stesso UID.
Collegato a#
- system — categoria
- linux-groups — concetto correlato
- permissions — come vengono usati UID/GID per i permessi



