Se gestisci un sistema multiutente, devi sapere chi, quando e da quali utenti accedono alla macchina.
last
è un'utilità della riga di comando che visualizza informazioni sull'ultima sessione di accesso dell'utente di sistema. Ciò è particolarmente utile quando è necessario monitorare l'attività degli utenti o indagare su possibili violazioni del sistema.
Questo articolo descrive come controllare chi ha effettuato l'accesso al sistema utilizzando i comandi last
.
Come usare i comandi last
Sintassi per i comandi last
è il seguente:
last [OPTIONS] [USER] [...]
Ogni volta che un utente accede al sistema, un record per quella sessione di accesso viene scritto in un file /var/log/wtmp
. Comando last
legge il file wtmp e stampa le informazioni sul login e logout dell'utente. Le note vengono stampate in ordine cronologico inverso, a partire dalla più recente.
Quando last
chiamato senza opzioni o argomenti, il risultato sarà simile al seguente:
rudi pts/0 10.10.0.7 Fri Feb 21 21:23 still logged in rudi 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:
- Nome utente. Quando il sistema si riavvia o si spegne,
last
mostra agli utentireboot
eshutdown
. tty
dove si svolge la sessione.:0
significa che l'utente è connesso all'ambiente desktop.- L'indirizzo IP o il nome host a cui l'utente ha effettuato l'accesso.
- La sessione inizia e termina.
- Durata della sessione. Se la sessione è ancora attiva o l'utente non è disconnesso,
last
visualizzerà le informazioni sulla sessione, non la durata della sessione.
Per limitare l'output a un utente o tty specifico, passa il nome utente o tty come argomento al comando last
:
last rudi last pts/0
Puoi anche specificare più nomi utente e come argomenti:
last rudi root pts/0
Opzioni comando last
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 vuoi stampare sulla riga di comando, fornisci un numero che inizi con un trattino per il comando last
. Ad esempio, per stampare solo le ultime dieci sessioni di accesso, digitare il comando:
last -10
Con le opzioni -p
( --present
), puoi scoprire chi ha effettuato l'accesso al sistema in una determinata data.
last -p 2021-06-22
Usa l'opzione -s
( --since
) e -t
( --until
) per informare l'ordine last
per visualizzare le righe a partire da o fino all'ora specificata. Queste due opzioni vengono spesso utilizzate insieme per specificare l'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, il comando da eseguire:
last -s 2020-02-13 -u 2020-02-18
Per le opzioni -p
, -s
e -t
può essere specificato nel seguente formato:
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 l'opzione -F
, --full times
per visualizzare tutti gli orari e le date di ingresso e uscita:
last -F
Opzione -i
( --ip
) obbliga last
per visualizzare sempre l'indirizzo IP e -d
( --dns
) per visualizzare il nome host
last -i
Conclusione
Comando last
stampa le informazioni sui tempi di accesso e logout dell'utente. Per ulteriori informazioni su questo comando, digita man last
nel tuo terminale.