Se gestisci un sistema multiutente, avrai spesso bisogno di sapere chi, quando e da dove ha effettuato l'accesso alla macchina.
last
è un'utilità della riga di comando che visualizza le informazioni sulle ultime sessioni di accesso degli utenti del sistema. È molto utile quando devi monitorare l'attività dell'utente o indagare su una possibile violazione della sicurezza.
Questo articolo spiega come controllare chi ha effettuato l'accesso al sistema utilizzando l'last
comando.
Come utilizzare last
Comando #
La sintassi per l'last
il comando è il seguente:
last [OPTIONS] [USER] [<TTY>...]
Ogni volta che un utente accede al sistema, viene scritto un record per quella sessione in /var/log/wtmp
file. last
legge il file wtmp
archivia e stampa le informazioni sugli accessi e le uscite 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 a questo:
mark pts/0 10.10.0.7 Fri Feb 21 21:23 still logged in
mark pts/0 10.10.0.7 Tue Feb 18 22:34 - 00:05 (01:31)
lisa :0 :0 Thu Feb 13 09:19 gone - no logout
reboot system boot 4.15.0-74-g Fri Jan 24 08:03 - 08:03 (00:00)
...
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
. - La tty su cui si è svolta la sessione.
:0
in genere 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.
- Gli orari di inizio e fine sessione.
- La durata della sessione. Se la sessione è ancora attiva o l'utente non si è disconnesso, last mostrerà informazioni a riguardo anziché la durata.
Per limitare l'output a un utente o tty specifico, passa il nome utente o tty come argomento a last
comando:
last mark
last pts/0
Puoi anche specificare più nomi utente e tty come argomenti:
last mark root pts/0
last
Opzioni di comando #
last
accetta diverse opzioni che consentono di limitare, formattare e filtrare l'output. In questa sezione tratteremo i più comuni.
Per specificare il numero di righe che desideri vengano stampate sulla riga di comando, passa il numero preceduto da un singolo trattino a last
. Ad esempio, per stampare solo le ultime dieci sessioni di accesso, digitare:
last -10
Con il -p
(--present
), puoi scoprire chi ha effettuato l'accesso al sistema in una data specifica.
last -p 2020-01-15
Usa i -s
(--since
) e -t
(--until
) opzione per dire a last
per visualizzare le righe da o fino all'ora specificata. 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 13 febbraio al 18 febbraio, eseguire:
last -s 2020-02-13 -u 2020-02-18
Il tempo passato al -p
, -s
e -t
le opzioni 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. Usa il -F
, --fulltimes
opzione per visualizzare gli orari e le date di accesso e disconnessione completi:
last -F
Il -i
(--ip
) l'opzione forza last
per mostrare sempre l'indirizzo IP e il -d
(--dns
) per mostrare i nomi host:
last -i
Conclusione #
L'last
comando stampa le informazioni sugli orari di accesso e disconnessione degli utenti. Per ulteriori informazioni sul comando, digita man last
nel tuo terminale.
Se hai domande, lascia un commento qui sotto.