Come usare l'ultimo comando in Linux

Contenuti

Laptop Linux che mostra un prompt bash

Chi, quando e da dove? Le buone pratiche di sicurezza dicono che dovresti sapere chi ha avuto accesso al tuo computer Linux. Ti mostriamo come.

Il file wtmp

Linux e altri sistemi operativi simili a Unix, come macOS, sono molto bravi ad accedere. Da qualche parte nelle viscere del sistema, c'è un registro di quasi tutto ciò a cui puoi pensare. Il file di log che ci interessa si chiama wtmp. Il “w” podría significarcuándo” oh “chi”, nessuno sembra essere d'accordo. La parte “tmp” probablemente significa “temporale”, pero además podría significarmarca de tiempo”.

Quello che sappiamo è che wtmp è un registro che cattura e registra tutti gli eventi di accesso e disconnessione. Rivedere i dati nel wtmp log è un passaggio fondamentale per adottare un approccio basato sulla sicurezza alle attività di amministrazione del sistema. Per un tipico computer di famiglia, potrebbe non essere così critico dal punto di vista della sicurezza, ma è interessante poter recensire l'uso combinato del computer.

A differenza di molti dei file di registro basati su testo in Linux, wtmp è un file binario. Per inserire i dati che contiene, abbiamo bisogno di usare uno strumento progettato per quel compito.

Quello strumento è il last comando.

L'ultimo comando

il last il comando legge i dati da wtmp log e lo visualizza in una finestra di terminale.

Se scrivi last e premi Invio mostra tutti i record dal file di registro.

Ultimo

Ogni record di wtmp viene visualizzato nella finestra del terminale.

Da sinistra a destra, ogni riga contiene:

  • il Nome utente della persona che ha effettuato l'accesso.
  • il terminale erano collegati. Un ingresso terminale di :0 significa che hanno effettuato l'accesso al computer Linux stesso.
  • il indirizzo IP della macchina a cui erano collegati.
  • il accesso data e ora.
  • il durata della sessione.

L'ultima riga ci dice la data e l'ora della prima sessione registrata nel registro.

Una voce di accesso per l'utente fittizio "reboot"’ viene inserito nel registro ogni volta che si avvia il computer. Il campo terminale viene sostituito con la versione del kernel. La durata della sessione di accesso per queste voci rappresenta il tempo di attività del computer.

Mostra un numero specifico di righe

Usando il last Il comando da solo produce un dump dell'intero registro con la maggior parte di esso che passa attraverso la finestra del terminale. La parte che rimane visibile è il primo dato del record. Questo probabilmente non è quello che volevi vedere.

Si può dire last per darti un numero specifico di linee di output. Fallo fornendo il numero di righe che desideri sulla riga di comando. Nota lo script. Per vedere cinque righe, deve scrivere -5 e no 5:

Ultimo -5

Questo dà le prime cinque righe del record, quali sono i dati più recenti?.

Mostra i nomi di rete per gli utenti remoti

il -d L'opzione (Domain Name System) indica last per tentare di risolvere i problemi relativi agli indirizzi IP degli utenti remoti su un nome host o una rete.

ultimo -d

Non è sempre fattibile per last per convertire l'indirizzo IP in un nome di rete, ma il comando lo farà quando possibile.

Nascondi indirizzi IP e nomi di rete

Se non sei interessato all'indirizzo IP o al nome della rete, Utilizzare il -R (nessun nome host) per sopprimere questo campo.

Perché questo dà un risultato più ordinato senza involucri antiestetici, questa opzione è stata utilizzata in tutti i seguenti esempi. Se stavi usando last per cercare di identificare attività insolite o sospette, dovrebbe no cancella questo campo.

Scegli i record per data

Puoi usare il -s (a partire dal) per limitare l'output per mostrare solo gli eventi di accesso che si sono verificati da una data specifica.

Se volevi solo vedere gli eventi di accesso che si sono verificati a partire da 26 Maggio 2019, Userei il seguente comando:

ultimo -R -s 2019-05-26

L'output mostra i log con gli eventi di accesso che si sono verificati dal momento in cui 00:00 del giorno specificato, fino ai record più recenti nel file di registro.

Ricerca di una data di fine

Puoi usare il -t (fino a) per specificare una data di fine. Ciò consente di scegliere una serie di record di accesso che si sono verificati tra due date di interesse.

Questo comando chiede last per recuperare e visualizzare i record di accesso dal 00:00 (Alba) della giornata 26 fino a 00:00 (Alba) della giornata 27. Questo riduce l'elenco alle sessioni di accesso che hanno avuto luogo solo il giorno 26.

Formati di data e ora

Puoi utilizzare sia gli orari che le date con il -s e -t opzioni.

I diversi formati di ora utilizzabili con il last Le alternative che utilizzano date e orari sono (presumibilmente):

  • AAAAMMDDhhmmss
  • AAAA-MM-GG hh: mm: ss
  • AAAA-MM-GG hh: mm – i secondi sono impostati su 00
  • AAAA-MM-GG: l'ora è impostata su 00:00:00
  • hh: mm: ss – la data è fissata a oggi
  • hh: mm: la data sarà fissata a oggi, i secondi in 00
  • Ora
  • Ieri – l'ora è impostata su 00:00:00
  • oggi – l'ora è impostata su 00:00:00
  • mattina – l'ora è impostata su 00:00:00
  • + 5min
  • -5 giorni

Perché "presumibilmente"?

Il secondo e il terzo formato dell'elenco non hanno funzionato durante la ricerca per questo post. Questi comandi sono stati testati su distribuzioni Ubuntu, Fedora e Manjaro. Questi sono derivati ​​dalle distribuzioni Debian, RedHat e Arch, rispettivamente. Che copre tutte le principali famiglie di distribuzione Linux.

ultimo -R -s 2019-05-26 11:00 -T 2019-05-27 13:00

Come potete vedere, il comando non ha restituito alcun record.

Usa il primo formato datetime nell'elenco con lo stesso datetime del comando precedente restituisce i record:

ultimo -R -s 20190526110000 -T 20190527130000

Ricerca per unità relative

Specifica inoltre periodi di tempo misurati in minuti o giorni., in relazione alla data e all'ora correnti. Qui stiamo richiedendo record da due giorni fa a un giorno fa.

ultimo -R -s -2giorni -t -1giorni

Ieri, oggi e adesso

Puoi usare yesterday e tomorrow come abbreviazione per la data di ieri e la data di oggi.

last -R -s ieri -t oggi

Non che questo non includa alcun record per oggi. Questo è il comportamento previsto. Il comando richiede record dalla data di inizio. fino a la data di fine. Non è così includere record entro la data di fine.

il now La opción es la abreviatura dehoy a la hora actual”. Per visualizzare gli eventi di accesso che si sono verificati dal 00:00 (Alba) fino al momento in cui dai il comando, usa questo comando:

ultimo -R -s oggi -t adesso

Questo mostrerà tutti gli eventi di accesso fino all'ora corrente, compresi quelli che sono ancora connessi.

output dell'ultimo -R -s oggi -t ora

L'opzione attuale

il -p L'opzione (presente) ti consente di scoprire chi ha effettuato l'accesso in un momento specifico.

Non importa quando hanno effettuato l'accesso o se ne sono andati, ma se hanno effettuato l'accesso al computer nel momento specificato, sarà incluso nella lista.

Se specifichi un'ora non datata last asume que te refieres a “oggi”.

ultimo -R -p 09:30

Persone che sono ancora connesse (evidentemente) non hanno tempo per disconnettersi; sono descritti come still logged in . Se il computer non si è riavviato dall'ora specificata, apparirà come still running.

Ultimo output -R -p 09:30

Se usi il now stenografia con -p (presente) opzione, puoi scoprire chi è online nel momento in cui dai il comando.

ultimo -R -p ora

Questa è una strada un po' lunga per ottenere ciò che si può ottenere usando il who comando.

IMPARENTATO: Come determinare l'account utente corrente in Linux

L'ultimo comando

il lastb comando merita menzione. Leggere i dati da un record chiamato btmp. C'è un po' più di consenso su questo nome di registro. Laboratorio’ significa cattivo, ma la "parte tmp"’ è ancora in discussione.

lastb elenca i cattivifallito) tentativi di accesso. Accetta le stesse opzioni di last. Perché sono stati tentativi di accesso falliti, tutte le voci avranno un'estensione di 00:00.

Devi usare sudo insieme a lastb.

sudo lastb -R

L'ultima parola sulla questione

Scopri chi ha effettuato l'accesso al tuo computer Linux, e quando e dove vengono fornite informazioni utili. La combinazione di questo con i dettagli dei tentativi di accesso non riusciti fornisce i primi passi per indagare su comportamenti sospetti..

impostaTimeout(funzione(){
!funzione(F,B,e,v,n,T,S)
{Se(f.fbq)Restituzione;n=f.fbq=funzione(){n.callMethod?
n.callMethod.apply(n,argomenti):n.queue.push(argomenti)};
Se(!f._fbq)f._fbq = n;n.push=n;n.loaded=!0;n.version='2.0′;
n.coda=[];t=b.createElement(e);t.async=!0;
t.src=v;s=b.getElementsByTagName(e)[0];
s.parentNode.insertBefore(T,S) } (window, documento,'copione',
'https://connect.facebook.net/en_US/fbevents.js');
fbq('dentro', '335401813750447');
fbq('traccia', 'Visualizzazione della pagina');
},3000);

Iscriviti alla nostra Newsletter

Non ti invieremo posta SPAM. Lo odiamo quanto te.