Comando whoami in Linux: verificare il nome dell’utente effettivo
whoami stampa il nome associato all'identificativo utente effettivo del processo che lo esegue. È un controllo rapido per capire con quale identità sta operando un comando, anche dopo un cambio di utente. Non indica necessariamente l'account con cui è iniziato l'accesso al sistema.
L'identificativo utente, o UID (User ID), è il numero con cui Linux identifica un utente; l'UID effettivo, spesso abbreviato EUID, è l'identità effettiva del processo. Whoami traduce quell'identificativo in un nome. Il risultato non è un elenco completo dei permessi disponibili.
Sintassi e primo controllo
whoami [opzione...]
Questa è la notazione della sintassi, non un comando da copiare con le parentesi quadre. Per il controllo ordinario non servono argomenti, file di ingresso o privilegi amministrativi:
whoami
Leggi la singola riga restituita e confrontala con l'utente che ti aspetti nel contesto corrente. Esegui il comando nella sessione interessata: il terminale personale, una sessione remota e un processo avviato da un servizio possono avere identità diverse. Il controllo fatto nel tuo terminale non dimostra con quale identità gira un altro processo.
Le opzioni disponibili dipendono dall'implementazione. Con GNU puoi consultare whoami --help e whoami --version; usa anche man whoami sul sistema di destinazione.
Confrontare il risultato con sudo
Su un sistema Linux con sudo installato e una regola che consente questa operazione, puoi confrontare il risultato precedente con:
sudo whoami
Il nome restituito è quello dell'utente di destinazione scelto da sudo. Nella configurazione usuale tale utente è root; la politica locale può prevedere un'impostazione diversa. Può essere richiesta l'autenticazione. Un rifiuto di sudo non è un errore di whoami: il comando potrebbe non essere stato avviato.
Il prefisso sudo riguarda questa singola esecuzione: terminato il comando, la shell da cui lo hai lanciato mantiene la propria identità. Esegui di nuovo whoami senza sudo per controllarla. Non occorre avviare una shell amministrativa solo per fare questo confronto.
Questo risultato non riassume tutte le operazioni autorizzate con sudo. Per consultare le regole applicabili al tuo account usa, se previsto dalla politica locale, sudo -l e leggi le restrizioni su comandi e utenti di destinazione. Il successo di sudo whoami prova soltanto l'esecuzione di quel comando in quelle condizioni.
Aggiungere UID e gruppi con id
id
Senza indicare un nome utente, il comando id mostra informazioni sull'utente e sui gruppi del processo corrente. L'uscita può contenere uid, gid e groups; se identità reale ed effettiva differiscono, può indicare anche l'identificativo effettivo separatamente. Numeri e nomi dipendono dal sistema.
Per limitare l'uscita al nome dell'utente effettivo usa id -un, equivalente a whoami nell'ambiente GNU. Con id -u ottieni invece l'UID effettivo numerico; id -ru richiede l'UID reale. L'UID reale identifica un altro attributo del processo: non è una prova universale di chi abbia effettuato il primo accesso.
Se ti servono i gruppi, usa id -G per gli identificativi oppure id -Gn per i nomi. Se un identificativo non è risolvibile in un nome, il comando può segnalare un errore: conserva il valore numerico e verifica il servizio di risoluzione degli account. Non aggiungere un nome utente se stai cercando le informazioni del processo attuale: interrogare un account specifico è un'operazione distinta.
Capire il nome visualizzato
Rieseguendo:
whoami
un account di esempio potrebbe ottenere:
alice
Alice è soltanto un nome illustrativo: sul tuo sistema comparirà il nome associato all'UID effettivo attuale. Non è necessario che sia alice e non devi creare un account con questo nome per provare il comando.
Dopo un cambio di identità con sudo o su, il nome può essere diverso da quello usato inizialmente per accedere. Whoami descrive l'identità del comando appena avviato, non ricostruisce la cronologia degli accessi né quella dei cambi di utente.
Opzioni e limiti da tenere presenti
| Opzione GNU | Uso |
|---|---|
--help |
Mostra la guida breve del comando installato. |
--version |
Mostra la versione dell'implementazione GNU installata. |
logname cerca il nome collegato alla sessione di accesso, quando l'ambiente dispone delle informazioni necessarie. Può differire da whoami dopo un cambio di utente oppure non riuscire a trovare una sessione, per esempio in alcuni contesti non interattivi. Un errore di logname non significa automaticamente che whoami sia sbagliato.
Le variabili d'ambiente USER e LOGNAME non sono una verifica dell'identità effettiva: possono contenere valori ereditati o modificati. Se un nome ti sembra inatteso, controlla whoami insieme a id -u nello stesso contesto, invece di dedurre l'identità solo dal prompt o da una variabile.
Per stabilire se puoi leggere un file o eseguire un'operazione, il solo nome non basta: contano anche gruppi e altre restrizioni dell'ambiente. Verifica i permessi della risorsa e la politica applicabile al processo interessato. Whoami resta un controllo di identità, non una verifica completa delle autorizzazioni.
La corrispondenza tra whoami e id -un e le opzioni di base sono state controllate con GNU Coreutils 8.32 nel Bash di Git per Windows. Questo ambiente non riproduce il modello dei permessi di Linux: il confronto con sudo e i cambi di UID su Linux qui descritti si basano sui manuali dei progetti, senza una prova locale di elevazione dei privilegi.
Domanda frequente
Whoami e id -un sono la stessa cosa?
Nell'ambiente GNU entrambi stampano il nome associato all'UID effettivo corrente. Id offre anche le opzioni per vedere gli identificativi numerici, i gruppi e l'identità reale. Se cerchi invece il nome della sessione di accesso, devi considerare logname e la disponibilità dei dati della sessione.
Documentazione di riferimento
Le pagine di manuale scritte dal progetto GNU per whoami, id e logname descrivono i rispettivi risultati. Il manuale del progetto sudo spiega l'utente di destinazione e la consultazione dei privilegi. Queste copie sono pubblicate su man7.org; confrontale con la documentazione delle versioni installate.




