Introduzione
Se gestisci un sistema multiutente, dovrai spesso sapere chi, quando e da dove è stato effettuato l'accesso alla macchina.
last
è un'utilità della riga di comando che visualizza informazioni sulle ultime sessioni di accesso degli utenti del sistema. È molto utile quando è necessario tenere traccia dell'attività dell'utente o indagare su una possibile violazione della sicurezza.
Questo articolo spiega come controllare chi ha effettuato l'accesso al sistema usando il comando last
.
Come usare il comando last
La sintassi per il comando last
è la seguente:
last [OPTIONS] [USER] [<TTY>...]
Ogni volta che un utente accede al sistema, un record per quella sessione viene scritto nel file /var/log/wtmp
. last
legge il file wtmp
e stampa informazioni sugli accessi e le disconnessioni degli utenti. I record vengono stampati in ordine inverso, a partire da quelli più recenti.
Quando last
viene invocato senza alcuna opzione o argomento, l'output è simile al seguente:
root pts/0 2.226.134.97 Tue Feb 25 20:12 still logged in
alice pts/0 2.226.134.97 Sat Feb 22 19:33 - 19:39 (00:06)
reboot system boot 4.19.0-6-amd64 Sat Feb 22 18:56 still running
wtmp begins Sun Jan 12 05:11:32 2020
Ogni riga di output contiene le seguenti colonne da sinistra a destra:
- Il nome utente. Quando il sistema si riavvia o si spegne,
last
mostra gli utenti specialireboot
eshutdown
. - Il numero su cui si è svolta la sessione.
:0
di solito significa che l'utente stava effettuando l'accesso a un ambiente desktop. - L'indirizzo IP o il nome host da cui l'utente ha effettuato l'accesso.
- I tempi di inizio e fine della sessione.
- La durata della sessione Se la sessione è ancora attiva o l'utente non si è disconnesso, l'ultimo mostrerà le informazioni al riguardo invece della durata.
Per limitare l'output a un utente o tty specifico, passare il nome utente o tty come argomento al comando last
:
last alice
Puoi anche specificare più nomi utente e tty come argomenti:
last alice root pts/0
Opzioni del comando last
last
accetta diverse opzioni che consentono di limitare, formattare e filtrare l'output. In questa sezione, tratteremo quelli più comuni.
Per specificare il numero di righe che si desidera stampare sulla riga di comando, passare il numero preceduto da un singolo trattino al comando last
. Ad esempio, per stampare solo le ultime dieci sessioni di accesso digitare:
last -10
Con l'opzione -p
(--present
), puoi scoprire chi ha effettuato l'accesso al sistema in una data specifica.
last -p 2020-02-20
Utilizzare l'opzione -s
(--since
) e -t
(--until
) per indicare last
di visualizzare le righe da o fino al tempo specificato. Queste due opzioni vengono spesso utilizzate insieme per definire un intervallo di tempo per il quale si desidera recuperare le informazioni. Ad esempio, per visualizzare i record di accesso dal 15 febbraio al 22 febbraio, eseguire:
last -s 2020-02-15 -u 2020-02-22
Il tempo è dato dalle opzioni -p
, -s
e -t
e possono essere specificate nei seguenti formati:
YYYYMMDDhhmmss
YYYY-MM-DD hh:mm:ss
YYYY-MM-DD hh:mm (seconds will be set to 00)
YYYY-MM-DD (time will be set to 00:00:00)
hh:mm:ss (date will be set to today)
hh:mm (date will be set to today, seconds to 00)
now
yesterday (time is set to 00:00:00)
today (time is set to 00:00:00)
tomorrow (time is set to 00:00:00)
+5min
-5days
Per impostazione predefinita, last
non mostra i secondi e l'anno. Utilizzare l'opzione -F
, --fulltimes
per visualizzare orari e date di accesso e disconnessione completi:
last -F
L'opzione -i
(--ip
) impone last
di mostrare sempre l'indirizzo IP e -d
(--dns
) di mostrare i nomi host:
last -i
Conclusione
Il comando last
stampa le informazioni sui tempi di accesso e disconnessione degli utenti. Per ulteriori informazioni sul comando, digitare man last
:
man last