Řešení 1:
V Linuxu last
zobrazuje úspěšné pokusy o přihlášení a zobrazuje informace o relaci (body, zdroj, datum a délku).
lastb
příkaz zaznamená všechny špatné pokusy o přihlášení. Oba sdílejí stejné man
stránce, ale rozdíl je v tom, že last
čte binární kód /var/log/wtmp
soubor a lastb
přečte /var/log/btmp
soubor ve výchozím nastavení.
Rozsah těchto souborů závisí na plánu rotace protokolů, ale měl by trvat několik týdnů. Většina distribucí se bude střídat o /var/log/wtmp
měsíčně, takže si můžete přečíst předchozí záznam, obvykle uvedený jako /var/log/wtmp.1
zadáním souboru s -f
parametr... last -f /var/log/wtmp.1
Řešení 2:
Otázka je zde mimo téma, ale velmi krátká odpověď:možná byste měli zkontrolovat /var/log/secure (např. grep pro "failed").
Řešení 3:
Toto je staré vlákno, ale dostal jsem podobný úkol, jako je tento, takže v mém případě je to záznam protokolu
Nov 15 17:14:47 megatron sshd[4768]: Failed password for git from 192.168.122.1 port 49227 ssh2
Můžeme to udělat takto, pokud jsme si jisti, že uživatel je statický
#!/bin/bash
LOG=/var/log/secure
MESSAGE="Failed password for git"
grep -i "$MESSAGE" "$LOG
V případě, že víme na základě jednotlivých uživatelů
#!/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"
Skript by se tedy měl spustit jako
[[email protected] bash1]# ./failedlogin.sh git
NEBO jednodušší přístup
#!/bin/bash
LOG=/var/log/secure
MESSAGE="Failed password for"
grep -i "$MESSAGE" "$LOG"