GNU/Linux >> Linux Esercitazione >  >> Linux

Come trovare gli ultimi utenti che hanno effettuato l'accesso in Linux

In questo tutorial, vedremo come trovare gli ultimi utenti che hanno effettuato l'accesso in Linux usando last , lastb e lastlog comandi con esempi.

Introduzione

In qualità di amministratore di sistema Linux, dovresti controllare regolarmente la data e l'ora di accesso degli utenti nel tuo server Linux. Ti fornisce alcuni dettagli utili come quanti utenti sono attivi, quanti utenti sono inattivi e quando effettuano l'accesso e per quanto tempo, ecc.

Se alcuni account utente non vengono utilizzati da molto tempo, puoi semplicemente bloccarli se non sono più necessari. Puoi anche utilizzare le ultime date di accesso durante il controllo dei tuoi server Linux e indagare su quale utente potrebbe aver causato il problema.

Fortunatamente, il sistema operativo GNU/Linux include i comandi della tripletta e cioè last , lastb e lastlog per visualizzare le date di accesso degli utenti recenti.

1. Visualizza l'elenco degli ultimi utenti che hanno effettuato l'accesso in Linux con l'ultimo comando

Come dice il nome, l'last comando viene utilizzato per visualizzare gli ultimi utenti che hanno effettuato l'accesso in sistemi simili a Linux e Unix. Legge attraverso il /var/log/wtmp file e trova tutti gli utenti registrati e disconnessi da quando è stato creato il file. Puoi anche elencare le date di accesso recenti di un utente specifico e persino trovare chi ha riavviato il sistema Linux con l'aiuto di last comando.

Tieni presente che il tuo sistema registra solo le informazioni nel wtmp file. Se questo file non è disponibile per qualsiasi motivo, crealo semplicemente con touch comando come di seguito:

$ sudo touch /var/log/wtmp

Ora scopriamo le date e gli orari di accesso recenti con last comando.

Per mostrare gli ultimi accessi, la loro durata e altre informazioni nel tuo sistema Linux, esegui semplicemente:

$ last

Risultato di esempio:

ostechni pts/0        192.168.225.37   Thu Jan  7 08:30   still logged in
ostechni tty1                          Thu Jan  7 08:29   still logged in
reboot   system boot  5.4.0-53-generic Thu Jan  7 08:20   still running
reboot   system boot  5.4.0-48-generic Fri Nov 20 10:13 - 11:44  (01:31)
.
.
.
reboot   system boot  5.4.0-33-generic Wed Jul  8 08:49 - 11:41  (02:52)
ostechni web console                   Mon Jul  6 08:19 - 08:20  (00:00)
ostechni pts/2        192.168.225.37   Mon Jul  6 08:14 - 08:30  (00:15)
ostechni pts/0        192.168.225.37   Mon Jul  6 07:41 - 12:27  (04:45)
reboot   system boot  5.4.0-33-generic Mon Jul  6 07:21 - 12:27  (05:06)
ostechni pts/3        192.168.225.37   Sat Jul  4 12:01 - 12:12  (00:10)
ostechni pts/2        192.168.225.37   Sat Jul  4 11:14 - 13:01  (01:46)
ostechni pts/0        192.168.225.37   Sat Jul  4 07:55 - 13:01  (05:05)
reboot   system boot  5.4.0-33-generic Sat Jul  4 07:53 - 13:03  (05:09)
ostechni tty1                          Fri May 29 10:07 - down   (00:00)
reboot   system boot  5.4.0-33-generic Fri May 29 10:06 - 10:07  (00:01)
ostechni pts/0        192.168.225.37   Fri May 29 09:36 - 10:06  (00:29)
ostechni tty1                          Fri May 29 09:36 - down   (00:29)
reboot   system boot  5.4.0-31-generic Fri May 29 09:35 - 10:06  (00:30)
ostechni tty1                          Sun May 24 13:17 - down   (00:02)
reboot   system boot  5.4.0-31-generic Sun May 24 13:16 - 13:20  (00:03)

wtmp begins Sun May 24 13:16:52 2020

Come puoi vedere nell'output sopra, l'ultimo comando mostra i seguenti dettagli degli accessi recenti:

  • Nome dell'utente. Se un utente è ancora connesso, visualizzerà anche quei dettagli.
  • Tipo di dispositivo terminale (Es. tty o pts) su cui si è svolta la sessione.
  • Indirizzo IP di origine o nome host da cui l'utente ha effettuato l'accesso.
  • La data e l'ora di accesso (ovvero gli orari di inizio e fine della sessione di accesso).
  • La durata totale della sessione.
  • L'ultima riga indica la data e l'ora della prima sessione registrata nel wtmp file di registro.

Nell'output sopra, potresti aver notato che c'è una voce di accesso di un utente speciale chiamato reboot . L'last comando mantiene i record di questo utente ogni volta che il computer viene avviato.

Quando eseguiamo last comando senza alcuna opzione, mostrerà l'intero output del registro. Ha molte opzioni per filtrare, formattare e limitare l'output a tuo piacimento. Ho incluso esempi per le opzioni più comuni.

1.1. Limita l'output a un utente specifico

Come già detto, l'last comando elenca tutti gli accessi recenti registrati nel wtmp file. Se desideri visualizzare gli accessi recenti di un utente specifico (ovvero visualizzare tutti gli accessi di un utente specifico), ad esempio otechnix , il comando sarebbe:

$ last ostechnix

Risultato di esempio:

ostechni pts/0        192.168.225.37   Thu Jan  7 08:30   still logged in
ostechni tty1                          Thu Jan  7 08:29   still logged in
ostechni pts/0        192.168.225.37   Wed Jan  6 11:02 - 13:31  (02:28)
[...]

Puoi anche specificare più nomi utente separati da virgole come di seguito:

$ last ostechnix sk

1.2. Limita l'output a tty o pts specifici

L'last comando tiene traccia del tipo di dispositivo terminale (es. tty o pts) su cui è avvenuta la sessione.

Ad esempio, gli utenti potrebbero aver effettuato l'accesso alla macchina Linux localmente o tramite ssh. Se vuoi limitare l'output a uno specifico tty , esegui semplicemente:

$ last tty1

Risultato di esempio:

ostechni tty1                          Thu Jan  7 08:29   still logged in
ostechni tty1                          Wed Jan  6 11:00 - down   (02:31)
ostechni tty1                          Fri Nov 20 11:52 - down   (00:38)
[...]

I nomi di tty possono essere abbreviati. Ad esempio, puoi eseguire last 1 invece di last tty1 .

Allo stesso modo, per elencare solo pts accessi alle sessioni, esegui:

$ last pts/0
ostechni pts/0        192.168.225.37   Thu Jan  7 08:30   still logged in
ostechni pts/0        192.168.225.37   Wed Jan  6 11:02 - 13:31  (02:28)
sk       pts/0        192.168.225.37   Wed Jan  6 11:02 - 11:02  (00:00)
[...]

Puoi anche specificare più nomi utente con tty come di seguito:

$ last ostechnix sk pts/0 tty1

1.3. Limita l'output a un numero specifico di righe

Il wtmp il file di registro potrebbe avere un numero elevato di voci. Se vuoi limitare l'output di last comando a un certo numero di righe, usa -n segnala come di seguito:

$ last -n 5

Oppure,

$ last -5

Il comando precedente visualizzerà solo le 5 righe nell'output:

ostechni pts/0        192.168.225.37   Thu Jan  7 08:30   still logged in
ostechni tty1                          Thu Jan  7 08:29   still logged in
reboot   system boot  5.4.0-53-generic Thu Jan  7 08:20   still running
ostechni pts/0        192.168.225.37   Wed Jan  6 11:02 - 13:31  (02:28)
sk       pts/0        192.168.225.37   Wed Jan  6 11:02 - 11:02  (00:00)

wtmp begins Sun May 24 13:16:52 2020

1.4. Mostra il nome host invece dell'indirizzo IP

Per impostazione predefinita, last comando mostra l'IP di origine da cui l'utente lo ha registrato. Se vuoi visualizzare il nome host invece dell'indirizzo IP, usa -d (o --dns ) opzione:

$ last -d -5

Puoi anche visualizzare i nomi utente completi e i nomi di dominio nell'output con -w (o --fullnames ) opzione.

1.5. Nascondi nome host e indirizzo IP

Per eliminare il nome host o il campo IP, usa -R opzione.

$ last -5 -R

Risultato di esempio:

ostechni pts/0        Thu Jan  7 08:30   still logged in
ostechni tty1         Thu Jan  7 08:29   still logged in
reboot   system boot  Thu Jan  7 08:20   still running
ostechni pts/0        Wed Jan  6 11:02 - 13:31  (02:28)
sk       pts/0        Wed Jan  6 11:02 - 11:02  (00:00)

wtmp begins Sun May 24 13:16:52 2020

1.6. Mostra i record di accesso degli utenti a un'ora specifica

Il -p (o --present ) viene utilizzata per trovare chi ha effettuato l'accesso al momento o a un'ora specificata.

Ad esempio, esegui il comando seguente per elencare gli ultimi utenti che hanno effettuato l'accesso alle 8:30 di oggi:

$ last -p 08:30

Risultato di esempio:

ostechni tty1                          Thu Jan  7 08:29   still logged in
reboot   system boot  5.4.0-53-generic Thu Jan  7 08:20   still running

wtmp begins Sun May 24 13:16:52 2020

Per elencare chi è attualmente connesso (cioè al momento dell'esecuzione di questo comando, eseguire:

$ last -p now

1.7. Visualizza gli utenti che hanno effettuato l'accesso entro un intervallo di tempo specifico

L'last comando ha due opzioni e precisamente -s (--since ) e -t (--until ) per visualizzare gli utenti che hanno effettuato l'accesso entro un determinato periodo di tempo. Il -s l'opzione viene utilizzata per visualizzare lo stato degli accessi dall'ora specificata e il -t l'opzione viene utilizzata per visualizzare lo stato degli accessi fino all'ora specificata.

Ad esempio, se desideri visualizzare gli ultimi accessi avvenuti da 2021-01-07 a 2021-01-11 , il comando è:

$ last -s 2021-01-07 -t 2021-01-11

Risultato di esempio:

ostechni pts/0        192.168.225.37   Thu Jan  7 08:30 - 13:16  (04:46)
ostechni tty1                          Thu Jan  7 08:29 - down   (04:47)
reboot   system boot  5.4.0-53-generic Thu Jan  7 08:20 - 13:16  (04:56)

wtmp begins Sun May 24 13:16:52 2020

Per visualizzare gli accessi recenti di ieri a oggi , esegui:

$ last -s yesterday -t today

Se desideri elencare solo i record di accesso dal 07 gennaio 2021 fino ad oggi, esegui:

$ last -s 2021-01-07
ostechni pts/0        192.168.225.37   Mon Jan 11 06:39   still logged in
reboot   system boot  5.4.0-59-generic Mon Jan 11 06:37   still running
ostechni pts/0        192.168.225.37   Thu Jan  7 08:30 - 13:16  (04:46)
ostechni tty1                          Thu Jan  7 08:29 - down   (04:47)
reboot   system boot  5.4.0-53-generic Thu Jan  7 08:20 - 13:16  (04:56)

wtmp begins Sun May 24 13:16:52 2020

1.8. Visualizza gli ultimi utenti che hanno effettuato l'accesso con data e ora complete

Il -F (--fulltimes ) viene utilizzata per visualizzare la data e l'ora complete di accesso e disconnessione in last output del comando.

$ last -5 -F

Risultato di esempio:

ostechni pts/0        192.168.225.37   Mon Jan 11 06:39:29 2021   still logged in
[...]

1.9. Mostra il nome host nell'ultima colonna

Il -a (--hostlast ) viene utilizzata per visualizzare l'ultima colonna del nome host per evitare il troncamento.

$ last -d -a
ostechni pts/0        Mon Jan 11 06:39   still logged in    ostechnix
[...]

1.10. Visualizza gli ultimi record di accesso dello pseudo utente "riavvio"

Come accennato in precedenza, l'ultimo comando conserva il record di uno speciale pseudo utenti chiamato "reboot" e "shutdown".

Per visualizzare gli ultimi dettagli di accesso degli utenti "reboot" e "shutdown", utilizzare i seguenti comandi:

$ last reboot
$ last shutdown

2. Visualizza tentativi di accesso non riusciti utilizzando lastb in Linux

L'last è uguale a last comando, ma elenca solo tutti i tentativi di accesso non validi. Ottiene i dettagli di accesso non riusciti da /var/log/btmp file.

Tieni presente che il tuo sistema registra solo le informazioni nel btmp file se è presente. Se questo file non è disponibile per qualsiasi motivo, crealo semplicemente con touch comando come di seguito:

$ sudo touch /var/log/btmp

Ora possiamo visualizzare i tentativi di accesso non riusciti utilizzando il comando lastb come di seguito:

$ sudo lastb

Risultato di esempio:

UNKNOWN  tty1                          Mon Jan 11 07:51 - 07:51  (00:00)
sk       tty1                          Mon Jan 11 07:51 - 07:51  (00:00)
UNKNOWN  tty1                          Mon Jan 11 07:51 - 07:51  (00:00)
sk       tty1                          Mon Jan 11 07:51 - 07:51  (00:00)
ostechni ssh:notty    192.168.225.37   Mon Jan 11 07:49 - 07:49  (00:00)
ostechni ssh:notty    192.168.225.37   Mon Jan 11 07:49 - 07:49  (00:00)
ostechni ssh:notty    192.168.225.37   Mon Jan 11 07:49 - 07:49  (00:00)
UNKNOWN  tty1                          Wed Jan  6 10:59 - 10:59  (00:00)

btmp begins Wed Jan  6 10:59:57 2021

I comandi precedenti elencano tutti i tentativi di accesso non riusciti da parte di tutti gli utenti nel sistema Linux. Mostra anche i tentativi di accesso non riusciti che hanno avuto luogo tramite SSH.

3. Trova gli ultimi utenti che hanno effettuato l'accesso in Linux con il comando lastlog

L'ultimo registro comando mostra l'accesso più recente di tutti gli utenti o di un utente specifico nei sistemi operativi Linux e simili a Unix. Recupera l'elenco degli ultimi utenti che hanno effettuato l'accesso da /var/log/lastlog file e visualizza il risultato nell'output standard.

Per visualizzare l'accesso più recente di tutti gli utenti, eseguire:

$ lastlog

Risultato di esempio:

Username         Port     From             Latest
root                                       **Never logged in**
daemon                                     **Never logged in**
bin                                        **Never logged in**
[...]
systemd-coredump                           **Never logged in**
ostechnix        tty1                      Mon Jan 11 07:51:46 +0000 2021
lxd                                        **Never logged in**
dnsmasq                                    **Never logged in**
libvirt-qemu                               **Never logged in**
libvirt-dnsmasq                            **Never logged in**
cockpit-ws                                 **Never logged in**
cockpit-wsinstance                           **Never logged in**
libvirtdbus                                **Never logged in**
_flatpak                                   **Never logged in**
sk               pts/0    192.168.225.37   Wed Jan  6 11:02:17 +0000 2021
root                                       **Never logged in**
nobody                                     **Never logged in**

Come puoi vedere nell'output sopra, lastlog Il comando visualizza gli ultimi record di accesso degli account utente di sistema e altri account di servizio come bin , daemon , sys , mail , nobody ecc.

L'lastlog Il comando stampa il nome di accesso, la porta, l'indirizzo IP di origine da cui l'utente ha effettuato l'accesso e la data e l'ora dell'ultimo accesso. Se un utente non ha mai effettuato l'accesso, stamperà il messaggio ** Never logged in** invece della porta e dell'ora nell'output.

Ti starai chiedendo perché molti account di servizio non hanno mai effettuato l'accesso. Questo perché le shell di accesso per questi account sono impostate su /sbin/nologin . È una pratica di sicurezza comune utilizzata per limitare l'accesso diretto alla shell.

3.1. Visualizza i dettagli dell'ultimo accesso di un utente specifico

Se desideri visualizzare il record dell'ultimo log di un utente specificato, ad esempio otechnix , il comando sarebbe:

$ lastlog -u ostechnix

Risultato di esempio:

Username         Port     From             Latest
ostechnix        tty1                      Mon Jan 11 07:51:46 +0000 2021

3.2. Visualizza gli ultimi record di accesso precedenti o recenti di X giorni

L'lastlog il comando può visualizzare i record di accesso recenti precedenti o recenti a X giorni.

Ad esempio, puoi ottenere i record di accesso recenti di tutti gli utenti prima di 5 giorni utilizzando -b segnala come di seguito:

$ lastlog -b 5

Allo stesso modo, per visualizzare i record di accesso più recenti di 5 giorni, utilizzare -t bandiera:

$ lastlog -t 5

3.3. Rimuovere o cancellare le ultime informazioni di accesso utilizzando lastlog in Linux

Se non vuoi il record lastlog di un utente, cancellalo semplicemente usando -C (--clear ) bandiera:

$ sudo lastlog -u ostechnix -C

Per verificare se il record di registro è stato cancellato, eseguire:

$ lastlog -u ostechnix
Username         Port     From             Latest
ostechnix                                         **Never logged in**

Ricevere aiuto

Per maggiori dettagli, fare riferimento alla sezione della guida del rispettivo comando.

$ last --help
$ lastb --help
$ lastlog --help

Oppure sfoglia le pagine man di ogni comando:

$ man last
$ man lastb
$ man lastlog

Conclusione

L'last , lastb e lastlog i comandi vengono in soccorso per rilevare le attività sospette degli utenti in un sistema Linux. Trovare chi ha effettuato l'accesso (o disconnesso) di recente dal server Linux, quando ha effettuato l'accesso e per quanto tempo sono i dettagli importanti che ti aiuteranno sicuramente nei momenti di risoluzione dei problemi.

Lettura correlata:

  • Come trovare utenti attualmente collegati in Linux
  • Come elencare tutti gli utenti in Linux
  • Come monitorare l'attività degli utenti in Linux
  • Come limitare l'accesso degli utenti al sistema Linux

Linux
  1. Come usare TROVA in Linux

  2. Come modificare il nome host in Linux

  3. Come trovare un file in Linux

  4. Come trovare tutti gli utenti Sudo in Linux

  5. Come trovare file in formato DOS in un file system Linux

Come trovare gli utenti attualmente registrati in Linux

Come trovare il nome host in Linux

Autorizzazioni Linux:come trovare le autorizzazioni di un file

Come trovare i file modificati nelle ultime 24 ore in Linux

Come trovare l'ultimo accesso su Linux

Come vedere gli utenti che hanno effettuato l'accesso in Linux