Si está administrando un sistema multiusuario, necesita saber quién, cuándo y desde qué usuarios inician sesión en la máquina.
last
es una utilidad de línea de comandos que muestra información sobre la última sesión de inicio de sesión del usuario del sistema. Esto es especialmente útil cuando necesita realizar un seguimiento de la actividad del usuario o investigar posibles infracciones del sistema.
Este artículo describe cómo auditar quién inició sesión en el sistema usando los comandos last
.
Cómo usar los comandos last
Sintaxis de los comandos last
es el siguiente:
last [OPTIONS] [USER] [...]
Cada vez que un usuario inicia sesión en el sistema, se escribe un registro de esa sesión de inicio de sesión en un archivo /var/log/wtmp
. Comando last
lee el archivo wtmp e imprime información sobre el inicio y cierre de sesión del usuario. Las notas se imprimen en orden cronológico inverso, comenzando por la más reciente.
Cuando last
llamado sin ninguna opción o argumento, el resultado se verá así:
rudi pts/0 10.10.0.7 Fri Feb 21 21:23 still logged in rudi pts/0 10.10.0.7 Tue Feb 18 22:34 - 00:05 (01:31) lisa :0 :0 Thu Feb 13 09:19 gone - no logout reboot system boot 4.15.0-74-g Fri Jan 24 08:03 - 08:03 (00:00) ...
Cada línea de salida contiene las siguientes columnas de izquierda a derecha:
- Nombre de usuario. Cuando el sistema se reinicia o se apaga,
last
mostrar a los usuariosreboot
yshutdown
. tty
donde se lleva a cabo la sesión.:0
significa que el usuario ha iniciado sesión en el entorno de escritorio.- La dirección IP o el nombre de host donde el usuario inició sesión.
- Inicio y finalización de sesión.
- Duración de la sesión. Si la sesión aún está activa o el usuario no ha cerrado la sesión,
last
mostrará información sobre la sesión, no la duración de la sesión.
Para restringir la salida a un usuario o tty específico, pase el nombre de usuario o tty como argumento al comando last
:
last rudi last pts/0
También puede especificar varios nombres de usuario y como argumentos:
last rudi root pts/0
Opciones de comando last
last
acepta varias opciones que le permiten limitar, formatear y filtrar la salida. En esta sección, cubriremos los más comunes.
Para especificar el número de líneas que desea imprimir en la línea de comando, proporcione un número que comience con un guión para el comando last
. Por ejemplo, para imprimir solo las últimas diez sesiones de inicio de sesión, el comando que escribiría:
last -10
Con opciones -p
( --present
), puede averiguar quién inició sesión en el sistema en una fecha determinada.
last -p 2021-06-22
Usa la opción -s
( --since
) y -t
( --until
) para informar el pedido last
para mostrar filas desde o hasta la hora especificada. Estas dos opciones a menudo se usan juntas para especificar el intervalo de tiempo durante el cual desea que se recupere la información. Por ejemplo, para mostrar los registros de inicio de sesión del 13 al 18 de febrero, el comando que ejecutaría:
last -s 2020-02-13 -u 2020-02-18
Para opciones -p
, -s
y -t
se puede especificar en el siguiente formato:
YYYYMMDDhhmmss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm (seconds will be set to 00) YYYY-MM-DD (time will be set to 00:00:00) hh:mm:ss (date will be set to today) hh:mm (date will be set to today, seconds to 00) now yesterday (time is set to 00:00:00) today (time is set to 00:00:00) tomorrow (time is set to 00:00:00) +5min -5days
Por defecto, last
no muestra los segundos y el año. Usa la opción -F
, --full times
para ver las horas y fechas completas de entrada y salida:
last -F
Opción -i
( --ip
) obligar last
para mostrar siempre la dirección IP, y -d
( --dns
) para mostrar el nombre de host
last -i
Conclusión
Comando last
imprime información sobre los tiempos de inicio y cierre de sesión del usuario. Para obtener más información sobre este comando, escriba man last
en tu terminal.