Soluzione 1:
In Linux, il last
Il comando mostra i tentativi di accesso riusciti e visualizza le informazioni sulla sessione (punti, origine, data e durata).
Il lastb
Il comando registra tutti i tentativi di accesso errati. Entrambi condividono lo stesso man
page, ma la differenza è che last
legge il binario /var/log/wtmp
file e lastb
legge il /var/log/btmp
file per impostazione predefinita.
L'intervallo di questi file dipende dalla pianificazione della rotazione dei log, ma dovrebbe durare alcune settimane. La maggior parte delle distribuzioni ruoterà /var/log/wtmp
mensilmente, quindi puoi leggere un record precedente, solitamente indicato come /var/log/wtmp.1
specificando il file con -f
parametro... last -f /var/log/wtmp.1
Soluzione 2:
La domanda qui è offtopic, ma una risposta molto breve:forse dovresti semplicemente controllare /var/log/secure (ad es. grep per "failed").
Soluzione 3:
Questo è un vecchio thread ma ho avuto un compito simile come questo, quindi nel mio caso questa è una voce di registro
Nov 15 17:14:47 megatron sshd[4768]: Failed password for git from 192.168.122.1 port 49227 ssh2
Quindi possiamo farlo in questo modo, se siamo sicuri che l'utente sia statico
#!/bin/bash
LOG=/var/log/secure
MESSAGE="Failed password for git"
grep -i "$MESSAGE" "$LOG
Nel caso in cui lo sappiamo in base all'utente
#!/bin/bash
LOG=/var/log/secure
if [ -n "$1" ]
then
NEWUSER="$1"
else
NEWUSER="root"
fi
MESSAGE="Failed password for $NEWUSER"
grep -i "$MESSAGE" "$LOG"
Quindi lo script dovrebbe essere eseguito come
[[email protected] bash1]# ./failedlogin.sh git
O un approccio più semplice
#!/bin/bash
LOG=/var/log/secure
MESSAGE="Failed password for"
grep -i "$MESSAGE" "$LOG"