Una guida completa alla verifica delle sessioni utente in Linux

Quando si lavora su un sistema Linux, sapere chi sta utilizzando il sistema, quando e come è essenziale per mantenere la sicurezza, monitorare il sistema e diagnosticare problemi. In ambienti con più utenti, verificare le sessioni correnti è un primo passo cruciale per comprendere l’utilizzo delle risorse di sistema e prevenire accessi non autorizzati o abusi del sistema. Questo articolo spiega come verificare le sessioni utente in un sistema Linux utilizzando comandi basilari.

Indice

Fondamenti del comando who

Il comando who mostra un elenco degli utenti attualmente connessi. Fornisce informazioni come il nome utente, il nome della console, la data e l’ora di login e il nome dell’host remoto. L’uso di base è il seguente:

who

Eseguendo questo comando verranno visualizzate le informazioni su tutti gli utenti attualmente connessi al sistema. Un esempio dell’output è il seguente:

username1  tty7         2024-03-11 09:08 (:0)
username2  pts/1        2024-03-11 09:10 (192.168.1.5)

Qui, username1 e username2 rappresentano i nomi utente, tty7 e pts/1 indicano i terminali in cui gli utenti sono connessi, rispettivamente. Le date e le ore mostrano quando gli utenti si sono collegati, e gli indirizzi tra parentesi mostrano gli indirizzi IP se gli utenti si stanno collegando da remoto.

Il comando who è utile per gli amministratori di sistema per capire rapidamente l’utilizzo del sistema, specialmente quando è necessaria una panoramica degli utenti che accedono al sistema.

Informazioni dettagliate sulla sessione con il comando w

Il comando w mostra informazioni più dettagliate sugli utenti attualmente connessi. Questo include lo stato di attività dell’utente, il tempo trascorso dal login e i processi attualmente in esecuzione. Il modo di base per usare il comando w è semplice, basta eseguirlo direttamente dalla riga di comando.

w

L’output di questo comando include informazioni come:

  • Nome utente
  • Il terminale in cui l’utente è connesso
  • Host remoto
  • Tempo trascorso dall’accesso dell’utente
  • Tempo CPU attualmente utilizzato dall’utente
  • L’ultimo momento in cui l’utente ha eseguito un’azione
  • Il comando che l’utente sta attualmente eseguendo

Un esempio dell’output è il seguente:

 10:12:47 up 1 day,  2:45,  2 users,  load average: 0.00, 0.01, 0.05
USER     TTY      FROM              LOGIN@   IDLE   JCPU   PCPU WHAT
username1 tty7     :0               09:08    3:04m  8.43s  0.01s /usr/lib/xorg/Xorg
username2 pts/1    192.168.1.5      09:10    2.00s  0.03s  0.01s w

Utilizzando queste informazioni, gli amministratori di sistema possono monitorare il carico attuale del sistema e l’attività degli utenti per determinare se ci sono problemi. Ad esempio, se un utente utilizza una quantità insolitamente alta di tempo CPU, potrebbe indicare un abuso delle risorse di sistema o processi che stanno gravando sul sistema. Il comando w è uno strumento importante per identificare e affrontare rapidamente tali problemi.

Verifica della cronologia di accesso con il comando last

Il comando last viene utilizzato per visualizzare la cronologia di accesso del sistema. Questo consente agli amministratori di sistema di controllare le sessioni di accesso passate, gli utenti che hanno effettuato l’accesso, i tempi di accesso e logout e la durata delle sessioni. Questo è utile per audit di sicurezza e risoluzione dei problemi. Il modo di base per usare il comando last è il seguente:

last

Eseguendo questo comando verrà visualizzata una cronologia degli utenti che hanno effettuato l’accesso. Ad esempio, potresti vedere un output come questo:

username1 tty7         :0               Lun Mar 11 09:08   ancora connesso
username2 pts/1        192.168.1.5      Lun Mar 11 09:10 - 09:12  (00:02)

Qui, username1 e username2 rappresentano i nomi utente connessi, tty7 e pts/1 indicano i terminali utilizzati, rispettivamente. Le date e le ore mostrano i tempi di accesso e logout, con ancora connesso che indica sessioni che non si sono ancora disconnesse.

Il comando last può anche essere utilizzato per filtrare informazioni sulla cronologia di accesso di specifici utenti o terminali. Ad esempio, per visualizzare la cronologia di accesso di un utente specifico, eseguire il comando come segue:

last username1

Questo comando è estremamente utile per indagare su incidenti di sicurezza o analizzare i modelli di accesso degli utenti. Se viene rilevata un’attività di accesso sospetta, il comando last può aiutare a rivelare i dettagli di tale attività.

Utilizzo del comando pinky

Il comando pinky può essere considerato una versione semplificata del comando who, fornendo una visualizzazione concisa delle informazioni sugli utenti connessi. Questo comando è utile in ambienti con risorse limitate o per utenti che preferiscono un output semplice. Usare il comando pinky mostra il nome utente, il terminale al momento del login, l’ora di login e il nome dell’host remoto. L’uso di base è il seguente:

pinky

L’output sarà qualcosa del genere:

Login    Name                 TTY      Idle   When             Where
username1 Nome Utente Uno     tty7            Mar 11 09:08     (:0)
username2 Nome Utente Due     pts/1           Mar 11 09:10     (192.168.1.5)

Quando eseguito senza opzioni aggiuntive, il comando pinky non mostra il nome completo dell’utente o il tempo di inattività dal login. Tuttavia, per informazioni più dettagliate, l’opzione -l (formato lungo) può essere utilizzata per visualizzare dettagli come il nome completo dell’utente e la directory home.

pinky -l username1

Il comando pinky è utile in ambienti con risorse limitate o per utenti che apprezzano la semplicità, poiché impone meno carico sulle risorse di sistema. Questo comando permette la rapida verifica delle informazioni essenziali dell’utente.

Conclusione

In un sistema Linux, i comandi who, w, last e pinky consentono di verificare facilmente le informazioni correnti sulla sessione di un utente. Questi strumenti sono preziosi per gli amministratori di sistema e il personale di sicurezza. Ogni comando fornisce informazioni con diversi livelli di dettaglio e scopi, aiutando nel monitoraggio del sistema, nell’applicazione della sicurezza e nella risoluzione dei problemi. Il comando who offre un riassunto degli utenti attualmente connessi, il comando w fornisce informazioni più dettagliate sulla sessione, il comando last mostra la cronologia di accesso e il comando pinky consegna le informazioni dell’utente in modo conciso senza consumare molte risorse. La combinazione appropriata di questi comandi può portare a una gestione efficace del sistema e a una sicurezza potenziata.

Indice