Solución 1:
En Linux, el last
El comando muestra los intentos de inicio de sesión exitosos y muestra la información de la sesión (puntos, fuente, fecha y duración).
El lastb
El comando registra todos los intentos de inicio de sesión incorrectos. Ambos comparten el mismo man
página, pero la diferencia es que last
lee el binario /var/log/wtmp
archivo, y lastb
lee el /var/log/btmp
archivo por defecto.
El rango de estos archivos depende de su programa de rotación de registros, pero debería abarcar algunas semanas. La mayoría de las distribuciones rotarán /var/log/wtmp
mensualmente, para que pueda leer un registro anterior, generalmente listado como /var/log/wtmp.1
especificando el archivo con el -f
parámetro... last -f /var/log/wtmp.1
Solución 2:
La pregunta aquí está fuera de tema, pero es una respuesta muy breve:tal vez debería verificar /var/log/secure (por ejemplo, grep para "fallido").
Solución 3:
Este es un hilo antiguo pero tengo una tarea similar a esta, así que en mi caso es una entrada de registro
Nov 15 17:14:47 megatron sshd[4768]: Failed password for git from 192.168.122.1 port 49227 ssh2
Entonces podemos hacerlo así, si estamos seguros de que el usuario es estático
#!/bin/bash
LOG=/var/log/secure
MESSAGE="Failed password for git"
grep -i "$MESSAGE" "$LOG
En caso de que lo sepamos por usuario
#!/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"
Entonces el script debería ejecutarse como
[[email protected] bash1]# ./failedlogin.sh git
O un enfoque más fácil
#!/bin/bash
LOG=/var/log/secure
MESSAGE="Failed password for"
grep -i "$MESSAGE" "$LOG"