Ultimo comando Linux con esempi
L’ultimo comando Linux viene utilizzato per verificare l’utente precedentemente connesso al server. Questo comando è molto importante in Linux perché aiuta con l’audit trailing. Supponiamo che qualcosa sia cambiato nel sistema Linux, in questa situazione non sei sicuro di chi abbia apportato le modifiche. Utilizzando il comando “last” è possibile identificare chi ha effettuato l’accesso in un determinato momento.
L’ultimo comando visualizza un elenco di tutti gli utenti connessi e disconnessi da “/var/log/wtmp” dalla creazione del file. Wtmp è un file di registro che acquisisce e registra ogni evento di accesso e disconnessione. Questo è un file binario che non può essere visualizzato da nessun editor di testo. Questo trucco è abbastanza intelligente perché qualsiasi utente o root non può modificare il file come vuole.
L’ultimo comando fornisce informazioni sul nome di tutti gli utenti connessi, tty, indirizzo IP (se l’utente sta effettuando una connessione remota), data/ora e da quanto tempo l’utente è connesso.
Come eseguire l’ultimo comando
Devi solo digitare “last” sulla console.
Ecco il campione:
$ last
leni pts/0 10.0.76.162 Mon Dec 2 12:32 - 13:25 (00:53)
pungki tty1 Mon Dec 2 09:31 still logged in
reboot system boot 2.6.32-358.23.2 Mon Dec 2 09:20 - 13:25 (04:05)
Ecco come leggere le ultime informazioni:
Il la prima colonna – il nome dell’utente che si è autenticato.
Il la seconda colonna – fornirci informazioni su come l’utente è connesso (tramite pts o tty). Ad eccezione dell’attività di riavvio, lo stato verrà visualizzato come “avvio del sistema”.
Il la terza colonna – mostra da dove l’utente ha effettuato l’accesso. Se l’utente si connette dal computer remoto, vedrai un nome host o un indirizzo IP. Se vedi :0.0 o niente, significa che l’utente ha effettuato l’accesso tramite il terminale locale. Ad eccezione dell’attività di riavvio, la versione del kernel verrà visualizzata come stato.
Il le restanti colonne – visualizza l’ora e la data di accesso quando si è verificata l’attività di registro. I numeri tra parentesi ci dicono per quante ore e minuti è avvenuta la connessione.
pts (pseudo terminale) – significa che l’utente si sta connettendo tramite connessioni remote come SSH o telnet.
tty (telescrivente) – significa che l’utente si connette tramite connessione diretta al computer o al terminale locale.
1. Limita il numero di righe
Quando hai molte righe da visualizzare, puoi limitare il numero di righe che desideri visualizzare utilizzando -n
opzione.
Nel seguente comando visualizzerà 3 righe a partire dall’ora corrente e all’indietro.
$ last -n 3
leni pts/0 10.0.76.162 Mon Dec 2 12:32 - 13:25 (00:53)
pungki tty1 Mon Dec 2 09:31 still logged in
reboot system boot 2.6.32-358.23.2 Mon Dec 2 09:20 - 13:25 (04:05)
2. Nascondi il tuo nome host/indirizzo IP
Uso -R
opzione per nascondere il nome host o l’indirizzo IP dalla stampa.
Campione di uscita
$ last -R
leni pts/0 Mon Dec 2 12:32 - 13:25 (00:53)
pungki tty1 Mon Dec 2 09:31 still logged in
reboot system boot Mon Dec 2 09:20 - 13:25 (04:05)
3. Visualizzare il nome host nell’ultima colonna
A volte è conveniente stampare il nome host o l’indirizzo IP nell’ultima colonna. Per fare questo, puoi usare -a
opzione come mostrato di seguito:
$ last -a
leni pts/0 Mon Dec 2 12:32 - 13:25 (00:53) 10.0.76.162
pungki tty1 Mon Dec 2 09:31 still logged in :0.0
reboot system boot Mon Dec 2 09:20 - 13:25 (04:05) 2.6.32-358.23.2.el6.i686
4. Stampare i dati e i dati completi di login e logout
Per impostazione predefinita, l’ultimo comando non visualizzerà la data e l’ora complete. Puoi usare -F
opzione per questo.
Ecco un esempio:
$ last -F
leni pts/0 10.0.76.162 Mon Dec 2 12:32:24 2013 - Mon Dec 2013 13:25:24 2013 (00:53
)
5. Cerca tra date specifiche
È possibile utilizzare le opzioni -s (since) e -t (to) per cercare i log tra date specifiche.
Ad esempio, il seguente comando stamperà i giornali dal 1 febbraio al 1 maggio 2019.
$sudo last -F -s 2019-02-01 -t 2019-05-01
6. Digitare il nome utente specifico
Se desideri monitorare un utente specifico, puoi stamparli in modo specifico. Inserisci il nome utente con l’ultimo comando.
$ last leni
leni tty1 Mon Dec 2 18-42 still logged in
leni pts/0 Mon Dec 2 12:32 - 13:25 (00:53) 10.0.76.162
Oppure, se vuoi sapere quando il riavvio è terminato, puoi anche visualizzarlo
$ last reboot
reboot system boot Mon Dec 2 09:20 - 16:55 (07:34)
reboot system boot Sun Dec 1 04:26 - 04:27 (00:01)
reboot system boot Wed Nov 27 20:27 - 01:24 (04:57)
reboot system boot Tue Nov 26 21:06 - 06:13 (09:06)
7. Stampa alcuni numeri/punti
Last può anche stampare informazioni su determinate persone. Basta mettere tty
name o pty name dietro l’ultimo comando.
Esempi di output:
$ last tty1
pungki tty1 Mon Dec 2 09:31 still logged in
pungki tty1 Mon Dec 2 04:26 - down (00:00)
pungki tty1 Mon Dec 2 04:07 - down (00:00)
pungki tty1 Sun Dec 1 18:55 - 04:07 (09:12)
$ last pts/0
leni pts/0 10.0.76.162 Mon Dec 2 12:32 - 13:25 (00:53)
pungki pts/0 :0.0 Wed Nov 27 20:28 - down (04:56)
Quando vedi il valore tra parentesi, significa che l’utente è stato connesso da un certo momento fino al riavvio o allo spegnimento del sistema.
8. Utilizzare un file diverso da /var/log/wtmp
Per impostazione predefinita, l’ultimo comando analizzerà le informazioni da “/var/log/wtmp”. Se vuoi analizzare l’ultimo comando da un altro file, puoi usare -f
parametro.
Ad esempio, puoi ruotare il registro in base a una determinata condizione. Supponiamo che il file precedente si chiami “/var/log/wtmp.1” .
Quindi l’ultimo comando sarà simile a questo:
$ last -f /var/log/wtmp.1
9. Mostra le modifiche al runlevel
C’è -x
opzione se vuoi mostrare le modifiche al runlevel.
Ecco un esempio di output:
pungki tty1 Mon Dec 2 19:21 still logged in
runlevel (to lvl 3) 2.6.32-358.23.2 Mon Dec 2 19:20 - 19:29 (00:08)
reboot system boot 2.6.32-358.23.2 Mon Dec 2 19:20 - 19:29 (00:08)
shutdown system down 2.6.32-358.23.2 Mon Dec 2 18:56 - 19:20 (00:23)
runlevel (to lvl 0) 2.6.32-358.23.2 Mon Dec 2 18:56 - 18:56 (00:00)
leni tty1 Mon Dec 2 18:42 - down (00:00)
Puoi vedere che ci sono due voci di runlevel. Runlevel che ha to lvl 3
voce indica che il sistema è in esecuzione in modalità console completa. Nessuna finestra X o GUI attiva. Nel frattempo, quando il sistema è spento, Linux esegue il livello 0. Ecco perché ti mostra l’ultima volta to lvl 0
Entrata
Per visualizzare la data e l’ora dell’ultimo spegnimento, utilizzare il seguente comando:
#last -x | grep shutdown | head -1
10. Visualizza accessi errati
Mentre l’ultimo comando registra gli accessi riusciti, l’ultimo comando registra i tentativi di accesso non riusciti. È necessario disporre dell’accesso root per eseguire il comando lastb. Lastb analizzerà le informazioni in /var/log/btmp.
Ecco un esempio di output del comando lastb.
# lastb
leni tty1 Mon Dec 2 22:12 - 22:12 (00:00)
rahma tty1 Mon Dec 2 22:11 - 22:11 (00:00)
11. Visualizza l’indirizzo IP locahost
Insieme a -d
opzione (per accessi non locali), Linux memorizza non solo il nome host dell’host remoto, ma anche il suo numero IP.
# last -d
root pts/1 192.168.1.100 Fri Jun 22 01:58 still logged in
root pts/0 192.168.1.100 Fri Jun 22 01:52 still logged in
12. Ruota i registri wtmp
Poiché “/var/log/wtmp” registra ogni attività di accesso, la dimensione del file può aumentare rapidamente. Per impostazione predefinita, Linux ruoterà “/var/log/wtmp” ogni mese. Il dettaglio dell’attività di rotazione viene inserito nel file /etc/logrotate.conf.
Ecco i contenuti del mio file “/etc/logrotate.conf”.
/var/log/wtmp {
monthly
create 0664 root umtp
minsize 1M
rotate 1
}
E per “/var/log/btmp”, ecco la configurazione predefinita dell’attività di rotazione
/var/log/btmp {
missingok
monthly
create 0600 root umtp
minsize 1M
rotate 1
}
Cancella la cronologia dell’ultimo comando
Come sappiamo, in wtmp si dice, quindi se vogliamo eliminare l’ultima cronologia, possiamo farlo tramite
#> /var/log/wtmp
Or
#> /var/log/lastlog
Conclusione
In questo tutorial, abbiamo imparato come utilizzare l’ultimo comando in Linux per controllare i log nel file wtmp. Per maggiori dettagli, visitare l’ultima pagina del manuale digitando l’ultimo uomo sulla tua console.