¿Cómo podemos saber el momento exacto en el que los usuarios completaron inicios de sesión en Linux? ¿Hubo intentos fallidos, y en ese caso, cuándo? ¿Hay alguna forma de obtener información sobre logins pasados? En este post nos proponemos dar respuesta a estas preguntas. ¡Comencemos!
Inicios de sesión en Linux
Para empezar, el comando lastlog nos hará saber cuándo se realizó el inicio de sesión más reciente de todos los usuarios listados en /etc/passwd. Alternativamente, podemos especificar a continuación un usuario en particular. En este último caso obtendremos la misma información pero para dicho usuario únicamente.
Además de la opción
--user
que nos permite especificar un usuario, también lastlog presenta otra muy útil que permite indicar que se muestren únicamente los logins ocurridos dentro de un rango de días anterior a la fecha actual. La misma es--time
y debe ser seguida de la cantidad de días que se desea reportar.
Para ver los inicios de sesión llevados a cabo en los últimos 30 días:
lastlog --time 30
Si solamente nos interesa la misma información del usuario fulano:
lastlog --user fulano
El comando utmpdump
La información histórica de inicios de sesión en Linux se almacena en 2 archivos binarios dentro de /var/log: btmp y wtmp. El primero incluye los intentos fallidos mientras que el segundo almacena no solamente los logins de usuario sino otros eventos del sistema. Tales eventos incluyen, por ejemplo, el reinicio del equipo, el apagado del mismo (ver cuarta columna en la Fig. 1), la terminal (quinta columna), la IP fuente (si es un inicio de sesión) o el kernel utilizado (si se trata de un reinicio, apagado, o encendido del equipo) en la sexta columna, y así sucesivamente.
En la Fig. 1 vemos el resultado de los últimos ejemplos:
Para más información podemos referirnos a los man pages de lastlog y utmpdump.
¡Hasta pronto!