Come determinare l’account utente corrente in Linux

Se parliamo di Linux, parliamo inevitabilmente di libertà di scelta. Anche un’operazione basilare come scoprire l’utente attualmente attivo può essere eseguita in svariati modi. Questa guida illustrerà alcuni dei metodi più semplici e veloci per raggiungere tale scopo.

Ma perché mai dovremmo voler identificare l’utente in uso? Spesso, il proprietario del computer è l’unico utente e, senza addentrarci in questioni esistenziali, probabilmente si conosce già. Tuttavia, è piuttosto comune creare account aggiuntivi per permettere ai familiari di accedere al sistema. Inoltre, se ci si collega da remoto a un server, può essere utile un rapido promemoria del proprio nome utente. In una sessione attiva senza nessuno presente, come si può scoprire l’utente corrente dalla riga di comando?

Partiamo dalla soluzione più immediata: osservare il prompt dei comandi. Generalmente, le distribuzioni Linux mostrano il nome utente direttamente nel prompt. Molto semplice, senza nemmeno digitare alcun comando.

Se l’utente ha personalizzato il prompt, sarà necessario utilizzare altri metodi. Il comando who fornisce le informazioni desiderate.

who

L’output di who indica il nome utente, il terminale di accesso, la data e l’ora del login. In caso di sessione remota, viene anche mostrato l’indirizzo da cui si è connessi.

Al contrario, il comando whoami restituisce una risposta molto sintetica:

whoami

Si può ottenere lo stesso risultato visualizzando la variabile d’ambiente $USER con il comando echo:

echo $USER

Il comando w, più breve, fornisce maggiori informazioni.

w

w mostra il nome utente desiderato, oltre a numerosi dati correlati. Se nel sistema Linux sono attivi più utenti, w li elencherà tutti. È necessario identificare il terminale dell’utente di interesse, che in caso di accesso diretto al computer sarà pts/0, da cercare nell’output di w.

Il comando w mostra il tempo di avvio, il tempo di attività, il carico medio degli ultimi cinque, dieci e quindici minuti, oltre a informazioni dettagliate sull’utente corrente.

  • USER: il nome utente.
  • TTY: il tipo di terminale utilizzato (solitamente uno pseudo-terminale). :0 indica la tastiera fisica e lo schermo collegati al computer.
  • FROM: l’indirizzo dell’host remoto, in caso di connessione remota.
  • LOGIN@: l’ora di accesso dell’utente.
  • IDLE: il tempo di inattività (nello screenshot si vede ?Xdm? perché è in uso un Display Manager X-windows, che non fornisce questa informazione).
  • JCPU: il tempo CPU totale utilizzato da tutti i processi relativi a questa tty, ovvero il tempo CPU totale di questo utente in questa sessione.
  • PCPU: il tempo CPU del processo corrente.
  • WHAT: la riga di comando del processo corrente dell’utente.

Ora che conosciamo l’utente, possiamo ottenere maggiori dettagli con il comando id, seguito da uno spazio e dal nome utente.

id dave

L’output indica l’ID utente (uid), l’ID gruppo (gid) e i gruppi di cui l’utente fa parte. Il comando groups permette di visualizzare i gruppi in maniera più ordinata:

groups dave

Un buon riepilogo è fornito dal comando finger. È necessario installare il pacchetto con apt-get se si utilizza Ubuntu o una derivata Debian. Altre distribuzioni Linux utilizzeranno il proprio gestore di pacchetti.

sudo apt-get install finger

Una volta installato finger, è possibile visualizzare informazioni sull’utente:

finger dave

Generalmente, alcuni campi saranno vuoti. I campi ufficio, nome completo e numeri di telefono non sono precompilati. Il campo “No plan” si riferisce a un vecchio sistema dove si potevano fornire annotazioni per informare gli altri su cosa si stesse facendo. Modificando il file .plan nella propria home directory, il suo contenuto verrà aggiunto all’output di finger.

Per mostrare rapidamente il nome utente collegato dal desktop GNOME (incluso in Ubuntu e molte altre distribuzioni Linux), è sufficiente cliccare sul menu di sistema in alto a destra. La voce in fondo al menu a tendina indica il nome utente. Altri ambienti desktop Linux dovrebbero fornire un’opzione simile.

È stato facile, un solo clic. Ma dov’è il divertimento in questo?

Non ci si sente dei veri detective digitali come quando si utilizza la shell Bash.