Quando si lavora in un ambiente Linux multiutente, è spesso essenziale sapere con quale account utente si è attualmente connessi. Che si tratti di gestione di server, scripting di automazione o risoluzione di problemi di autorizzazioni, Linux fornisce diversi comandi per visualizzare il nome di accesso corrente.
Uso del comando whoami
Il comando whoami è il modo più semplice per visualizzare il nome utente attuale
Come funziona:
- Legge l’ID utente effettivo (EUID) del processo corrente.
- Cerca il nome utente associato in /etc/passwd.
- Mostra sempre chi siete al momento.
Il miglior caso d’uso:
Quando si usa sudo o si cambia utente, “whoami” mostra l ‘utente attivo.
Utilizzo del comando id
Il comando id fornisce più del semplice nome utente: mostra l’ID utente (UID), l’ID gruppo (GID) e l’appartenenza a un gruppo. Comando:
In alternativa, senza flag:
Come funziona:
Utilizza il database degli utenti del sistema per visualizzare le informazioni correnti sull’identità e sui gruppi.
-u → Visualizza l’UID.
-n → Stampa il nome utente invece degli ID numerici.
Uso del comando logname
Il comando logname visualizza il nome utente originale utilizzato per avviare la sessione.
Comando:
Differenza chiave:
logname restituisce sempre il nome utente usato per accedere alla sessione.
Se si è cambiato utente tramite su o sudo, mostra sempre il login originale.
Uso del comando “who
Il comando who visualizza tutti gli utenti attualmente connessi e i dettagli della loro sessione.
Comando:
Esempio di uscita:
Come funziona:
Legge i dati della sessione da /var/run/utmp.
Visualizza il nome utente originale, il terminale e il timestamp di accesso.
🔹 Caso d’uso migliore:
Quando si verificano le sessioni correnti o gli ambienti multiutente.
Uso della variabile d’ambiente $USER
Nella maggior parte delle distribuzioni Linux, il nome utente corrente è memorizzato nella variabile d’ambiente $USER.
Comando:
Esempio di uscita:
Come funziona:
Recupera il valore della variabile $USER impostata durante il login.
Leggero e molto veloce.
Casi d’uso avanzati
a) All’interno di script di shell
Utile per la registrazione dell’automazione.
b) Controllare gli utenti registrati su un server
Esempio di uscita:
Visualizza tutti gli utenti attivi.
c) Combinare con ps per i proprietari dei processi
Mostra tutti i processi di proprietà dell’utente corrente.
Considerazioni sulla sicurezza
Server multiutente: Verificare sempre l’utente effettivo prima di eseguire comandi privilegiati.
Contesto Sudo: Usare “whoami” invece di $USER per evitare lo spoofing della variabile d’ambiente.
Script di registrazione: Preferire id -un per un’accurata segnalazione del nome utente.
Conclusione
Linux offre diversi comandi per visualizzare il nome di accesso corrente, ma ognuno ha uno scopo leggermente diverso:
- Usare“whoami” per l’identità dell’utente attivo.
- Usate“id -un” quando avete bisogno anche di informazioni sui gruppi.
- Usare“logname” per scoprire chi si è connesso originariamente.
- Usare echo $USER per ricerche rapide e scripting di shell.
La comprensione di queste differenze è fondamentale per l’amministrazione del sistema, l’automazione dello scripting e la verifica della sicurezza.


