Linux / Comando / last: consultar inicios de sesión y arranques
El last tradicional de util-linux consulta el historial de sesiones y arranques de /var/log/wtmp y muestra primero las entradas recientes. Permite revisar usuarios, terminales, origen y duración, pero solo dentro de los registros que el sistema haya conservado.
Puede filtrar usuarios o periodos e investigar reinicios. Si faltan registros, se han rotado o el sistema utiliza otro mecanismo de contabilidad, la consulta no reconstruye la información ausente. Su resultado es una pista que debe contrastarse con otras fuentes.
Los ejemplos siguientes describen el last tradicional de util-linux que consulta wtmp; compruebe last --version y last --help. No todas las distribuciones actuales lo proporcionan. Las notas de Debian 13 sobre la sustitución de last, lastb y lastlog explican la transición a wtmpdb y lastlog2, con sus componentes PAM para registrar sesiones. No suponga que comparten el formato de archivo o todas las opciones de los ejemplos tradicionales.
¿Qué muestra el comando last?
last recorre los registros de wtmp en orden inverso y presenta las entradas más recientes primero. Puede mostrar el usuario, terminal, host remoto y tiempos de sesión. TTY identifica un terminal; PTS se usa para pseudoterminales, como los empleados en muchas sesiones remotas.
wtmp es un archivo de registros binarios definido por el sistema. No se interpreta con cat ni con un editor de texto: necesita una herramienta compatible con su formato. La ruta, la generación y la conservación de esos registros dependen de la distribución y de su configuración.
Sintaxis básica y lectura de la salida
La sintaxis básica es la siguiente. Si omite el nombre de usuario o el terminal, muestra todo el historial disponible.
last [OPCIONES] [USUARIO|TERMINAL...]
Para consultar el historial reciente, ejecute el comando siguiente. La salida que lo acompaña es ilustrativa y depende de los registros disponibles.
last
mina pts/1 192.0.2.24 Fri Sep 18 21:10 - 22:42 (01:31)
alex tty1 Fri Sep 18 19:04 - 19:35 (00:31)
reboot system boot 6.12.0 Fri Sep 18 18:58 still running
La primera columna es el usuario, la segunda columna es el terminal, la tercera columna es el host remoto o la información del kernel, y después están la hora de conexión y el estado de cierre. Los inicios de sesión en la consola local sin dirección remota pueden tener la columna de host vacía.
El wtmp begins al final de la salida indica el punto más antiguo que se puede verificar en el archivo que se está leyendo actualmente. No se puede afirmar con certeza que sea el momento de la instalación inicial del sistema o del primer inicio de sesión real.
Opciones de last que se usan con frecuencia
| Opciones | Función | Ejemplo de uso |
|---|---|---|
-n N, --limit N |
Mostrar un máximo de N entradas | last -n 20 |
-s FECHA_HORA, --since FECHA_HORA |
Mostrar el estado después de la hora especificada | last -s 2026-09-01 |
-t FECHA_HORA, --until FECHA_HORA |
Mostrar el estado hasta la hora especificada | last -t 2026-09-19 |
-p FECHA_HORA, --present FECHA_HORA |
Mostrar los usuarios que estaban conectados en la hora especificada | last -p '2026-09-18 21:00' |
-F, --fulltimes |
Mostrar la fecha y hora completas de inicio y cierre de sesión | Verificación detallada sin omitir el año |
--time-format iso |
Formato ISO 8601 y visualización de la zona horaria | Útil al comparar con registros de otros sistemas |
-i, --ip |
Mostrar el host remoto como IP numérica | Verificar la dirección registrada en lugar del nombre DNS |
-a, --hostlast |
Mover el campo del host a la última columna | Mejorar la legibilidad con salida de fecha larga |
-R, --nohostname |
Ocultar el campo del host | Centrarse en la sesión local y la hora |
-x, --system |
También muestra los registros de cierre y cambios de nivel de ejecución | Investigar el estado antes y después del reinicio |
-f ARCHIVO, --file ARCHIVO |
Leer otros archivos wtmp | last -f /var/log/wtmp.1 |
Los nombres de las opciones y el alcance del soporte pueden variar según la implementación last. Este artículo se basa en la implementación de util-linux ampliamente utilizada en Linux, y la definición más reciente se puede consultar en la página del manual oficial de util-linux last.
Filtrar solo los registros de inicio de sesión deseados
Ver registros de un usuario específico
Al agregar el nombre del usuario como argumento, solo se mostrará el historial de ese usuario.
last mina
Si escribe varios nombres de usuario, puede ver los elementos que coincidan con uno de ellos. Si el nombre es largo, puede cortarse en la salida predeterminada, por lo que puede mostrar el campo completo con las opciones -w o --fullnames de util-linux.
last -w mina alex
Ver registros de terminal específicos
Si especifica el nombre del terminal, solo puede consultar las sesiones generadas en ese terminal. pts/0 se ve comúnmente en terminales virtuales como SSH, y tty1 puede representar una consola virtual local.
last pts/0
Según el manual, tty0 se puede abreviar como 0, pero en documentos y scripts es mejor usar el nombre completo del terminal para mayor claridad.
Limitar el número de salidas
Para verificar rápidamente solo algunos registros recientes, especifique el número máximo de elementos con -n.
last -n 10
Se puede abreviar como -10, pero en scripts y documentos es más legible el formato -n 10, que facilita distinguirlo de otras opciones.
Consultar por período y hora específica
Especificar la hora de inicio y la hora de finalización
-s especifica la hora de inicio de la consulta, y -t especifica la hora de finalización de la consulta. Al combinar estas dos opciones, se puede acotar un período específico.
last -s '2026-09-01 00:00' -t '2026-09-19 00:00'
Si solo se especifica la fecha, generalmente se interpreta como las 00:00:00 de esa fecha. Para consultar todo el día, es más claro especificar las 00:00 del día siguiente como límite de finalización.
Usar expresiones de tiempo relativo
util-linux last admite expresiones de tiempo relativo como today, yesterday, now y -7days.
last -s yesterday
last -s -7days
Si necesita comparar repetidamente los resultados de automatización, es más reproducible usar fechas y horas explícitas que expresiones relativas, ya que la gama puede variar según el momento de ejecución.
Encontrar usuarios que estaban conectados en un momento específico
-p muestra los usuarios que estaban conectados en la hora especificada. Esto se puede consultar al verificar las sesiones que estaban activas en el momento de un fallo.
last -p '2026-09-18 21:30'
Los resultados se calculan en función de los registros de inicio y cierre de sesión que quedan en wtmp, por lo que no se pueden restaurar los registros que falten o estén dañados.
Mostrar claramente el formato de hora
Ver todos los horarios de inicio y cierre de sesión
La salida predeterminada puede omitir el año o parte del tiempo para reducir el ancho de la pantalla. -F muestra la fecha y hora completas de inicio y cierre de sesión.
last -F -n 10
Ver con formato ISO y zona horaria
--time-format iso es útil al comparar con registros de otros servidores o al entregar los resultados externamente. El formato ISO incluye información de la zona horaria, lo que puede reducir la confusión al interpretar horarios.
last --time-format iso -n 10
Al comparar el orden de los eventos de varios sistemas, también se debe verificar que la hora del sistema y la configuración de la zona horaria de cada servidor sean correctas.
Verificar los registros de reinicio y apagado del sistema
Ver historial de reinicios
reboot no es una cuenta de usuario real, sino un usuario pseudo (pseudo usuario) que se registra cuando el sistema se inicia. El siguiente comando muestra el historial de reinicios que permanece en el archivo wtmp.
last reboot
El rango mostrado se limita a los datos actuales preservados en wtmp. Si no se ven reinicios antiguos, no significa que no existieran registros; también se debe considerar la posibilidad de que hayan sido rotados.
Mostrar hasta apagado y cambio de nivel de ejecución
-x muestra los registros de apagado del sistema y cambios de nivel de ejecución junto con los registros de inicio de sesión normales. Esto es útil para verificar si se registró un apagado normal justo antes del reinicio.
last -x -n 30
También se puede filtrar solo los elementos de apagado en last shutdown. Sin embargo, en situaciones donde no se pudo dejar un registro de apagado, como un corte de energía anormal, puede no haber un elemento de shutdown normal.
Interpretación del estado mostrado en la salida
| Indicación | Significado general | Cosas a verificar |
|---|---|---|
still logged in |
Aún no hay registro de cierre de sesión | Confirmar nuevamente si es la sesión actual con who o w |
still running |
La sesión de inicio correspondiente no ha finalizado | Confirmar si es el inicio actual con uptime |
crash |
Se interpreta como que la sesión de inicio terminó sin un cierre de sesión normal | Investigar junto con los registros del kernel, diario y hardware |
gone - no logout |
No se encontró el registro de cierre de sesión correspondiente | Verificar la posibilidad de pérdida de registros, reinicios y problemas de historial de sesiones |
wtmp begins |
Inicio del registro más antiguo en el archivo de entrada actual | Verificar la existencia de archivos anteriores rotados |
Cada marca es una pista de investigación y no una prueba definitiva de la causa. Por ejemplo, la aparición de crash no significa únicamente un fallo de hardware, y se deben verificar conjuntamente los registros del kernel, el journal de systemd y los eventos de la plataforma de virtualización.
Archivos wtmp anteriores y rotación de registros
Leer otros archivos de registro
-f lee un archivo en formato wtmp en lugar del archivo base. Según la configuración de rotación de registros de la distribución, los registros anteriores pueden permanecer en /var/log/wtmp.1, etc.
last -f /var/log/wtmp.1
En util-linux, se puede especificar -f varias veces para procesar varios archivos. Primero verifique la configuración del sistema para conocer los nombres de archivo y los permisos reales.
Precauciones al procesar registros comprimidos
Si los archivos rotados están comprimidos con gzip u otros, no se debe asumir que last pueda descomprimir y leer directamente los archivos comprimidos. No dañe el original; cópielo y descomprímalo en un espacio de trabajo con acceso limitado y léalo con -f. Si es para fines de investigación, registre también el hash del original y los procedimientos de conservación.
Comprobar los intentos de inicio de sesión fallidos
Relación entre lastb y btmp
lastb es similar a last, pero básicamente lee /var/log/btmp para mostrar los intentos de inicio de sesión fallidos. Según la distribución, puede requerirse permisos de administrador.
sudo lastb -n 20
Ayuda a ver las direcciones remotas y nombres de usuario que repiten fallos, pero en servidores expuestos a Internet es común el escaneo automatizado, por lo que no se considere una intrusión solo por intentos individuales.
Comparar junto con registros exitosos
Solo es posible hacer un juicio significativo si se comparan los inicios de sesión exitosos en la misma franja horaria, los registros de autenticación SSH y los registros de firewall y control de acceso.
last --time-format iso -s '2026-09-18 00:00'
sudo lastb --time-format iso -s '2026-09-18 00:00'
La ubicación de almacenamiento y el método de consulta de los registros de autenticación varían según la distribución y la configuración de registro. En los sistemas que utilizan el diario systemd, también consulte el diario de la unidad de servicio correspondiente.
Orden para utilizar en la revisión de seguridad
Fijar primero el alcance de la consulta y el período de tiempo
Registre la hora de inicio y finalización del incidente que se investigará y la zona horaria del servidor. Si es posible, utilice --time-format iso para incluir información de la zona horaria en la salida y verifique también el estado de sincronización de la hora en varios servidores.
Verificar cruzadamente usuarios, hosts y terminales
Revise usuarios inesperados, direcciones remotas inusuales, horas de acceso anormales y la duración de la sesión. La propiedad o ubicación de una dirección IP puede cambiar y puede verse afectada por proxies, VPN o NAT, por lo que no se debe identificar al usuario únicamente por una dirección.
Verificar reinicios y huecos en los registros
Verifique last reboot, last -x y wtmp begins para comprender el alcance de los registros y los límites de arranque. Compare con la hora de rotación de los registros para verificar si hay huecos inexplicables.
Evaluar junto con otras evidencias
last se cruza con los resultados de registros de autenticación SSH, el journal de systemd, registros de auditoría de comandos, y registros de acceso de firewall, VPN y nube. Si se sospecha un incidente, no modifique los registros originales y consérvelos de acuerdo con los procedimientos de respuesta de la organización.
Limitaciones del historial de last
- Dependencia de archivos locales:
wtmppuede estar vacío si no existe o si el servicio no registra información. - Límite de retención: Los registros después de la rotación o eliminación no se pueden consultar en el archivo actual.
- Posibilidad de manipulación: Un atacante con permisos suficientes puede modificar o eliminar los registros locales.
- Dependencia del tiempo: Cambios en el reloj del sistema o una configuración incorrecta de la zona horaria pueden confundir el orden de los eventos y los tiempos de sesión.
- Diferencias de entorno: Contenedores, instalaciones mínimas y algunos métodos de acceso remoto pueden no dejar los ítems
wtmpesperados.
Por lo tanto, last es útil para obtener una visión rápida del estado y como punto de inicio para la investigación, pero no reemplaza los registros completos de auditoría ni los registros de seguridad centralizados.
Comparación de comandos similares a 'last'
| Comando | Objetivo principal | Situaciones adecuadas |
|---|---|---|
last |
Historial de inicios y cierres de sesión pasados | Investigación de sesiones restantes y registros de arranque en wtmp |
lastb |
Historial de inicios de sesión fallidos | Verificación de fallos de autenticación registrados en btmp |
who |
Usuarios conectados actualmente | Comprobar el usuario y terminal de la sesión actual |
w |
Actividad actual del usuario y ejecución | Verificar usuario conectado, tiempo de inactividad y procesos |
lastlog o lslogins |
Último inicio de sesión por cuenta | Verificar cuentas que no se han usado durante mucho tiempo o último acceso |
Preguntas frecuentes
¿Por qué no aparece ningún resultado en last?
/var/log/wtmp puede no existir, estar vacío o el sistema puede estar configurado para no registrar el historial de inicio de sesión en ese archivo. Verifique la existencia del archivo, los permisos y la política de registro. Un resultado vacío no significa que no haya habido historial de inicio de sesión.
¿Still logged in significa que está conectado actualmente?
Significa que no hay un registro de cierre de sesión correspondiente a ese inicio de sesión. Es recomendable verificar la sesión actual de nuevo con who, w, loginctl, etc. Una sesión antigua puede aparecer así debido a una terminación anormal o a la omisión del registro.
¿Cómo se pueden verificar los registros de inicio de sesión antiguos?
Si queda un archivo como wtmp.1 que ha sido rotado, se puede leer como last -f ARCHIVO. Para archivos comprimidos, haga uso de una copia protegida descomprimida y no modifique directamente el archivo original.
¿Se puede determinar un hackeo solo con el resultado de last?
No. Un inicio de sesión inesperado es una pista importante, pero los registros locales wtmp pueden ser incompletos o alterados. Es necesario analizar conjuntamente los registros de autenticación, los registros de red, los registros de auditoría de comandos y los cambios del sistema.
Resumen
Los registros recientes de inicio de sesión pueden verificarse con last, para usuarios específicos con last USUARIO, registros de reinicio con last reboot, y los inicios de sesión fallidos con lastb. Los períodos de tiempo se pueden verificar con -s y -t, para momentos específicos con -p, y para marcas de tiempo claras se puede utilizar --time-format iso.
Los resultados de last son válidos solo dentro del rango de registros actuales de wtmp. En una investigación de seguridad, primero se deben verificar las zonas horarias y el alcance de la retención de registros, y luego hacer una verificación cruzada con otros registros. Las herramientas básicas relacionadas se pueden revisar en conjunto en Lista de comandos usados frecuentemente en Linux.




