Solution 1 :
Sous Linux, le last
La commande affiche les tentatives de connexion réussies et affiche les informations de session (pts, source, date et durée).
Le lastb
La commande enregistre toutes les mauvaises tentatives de connexion. Les deux partagent le même man
page, mais la différence est que last
lit le binaire /var/log/wtmp
fichier, et lastb
lit le /var/log/btmp
fichier par défaut.
La plage de ces fichiers dépend de votre calendrier de rotation des journaux, mais elle devrait s'étendre sur quelques semaines. La plupart des distributions tourneront /var/log/wtmp
mensuellement, afin que vous puissiez lire un enregistrement précédent, généralement répertorié sous la forme /var/log/wtmp.1
en spécifiant le fichier avec le -f
paramètre... last -f /var/log/wtmp.1
Solution 2 :
La question est ici hors sujet, mais une réponse très courte :peut-être devriez-vous simplement vérifier /var/log/secure (par exemple, grep pour "failed").
Solution 3 :
C'est un vieux fil mais j'ai eu une tâche similaire comme celle-ci, donc dans mon cas c'est une entrée de journal
Nov 15 17:14:47 megatron sshd[4768]: Failed password for git from 192.168.122.1 port 49227 ssh2
Donc, nous pouvons le faire comme ça, si nous sommes sûrs que l'utilisateur est statique
#!/bin/bash
LOG=/var/log/secure
MESSAGE="Failed password for git"
grep -i "$MESSAGE" "$LOG
Dans le cas où nous savons sur la base par utilisateur
#!/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"
Donc le script doit s'exécuter comme
[[email protected] bash1]# ./failedlogin.sh git
OU approche plus simple
#!/bin/bash
LOG=/var/log/secure
MESSAGE="Failed password for"
grep -i "$MESSAGE" "$LOG"