Cómo usar el último comando en Linux

Contenidos

Laptop Linux que muestra un indicador de bash

¿Quién, cuándo y de dónde? Las buenas prácticas de seguridad comentan que debe saber quién ha estado accediendo a su computadora Linux. Te mostramos cómo.

El archivo wtmp

Linux y otros sistemas operativos similares a Unix, como MacOS, son muy buenos para iniciar sesión. En algún lugar de las entrañas del sistema, hay un registro de casi todo lo que se pueda imaginar. El archivo de registro que nos interesa se llama wtmp. La «w» podría significar «cuándo» o «quién», nadie parece estar de acuerdo. La parte «tmp» probablemente significa «temporal», pero además podría significar «marca de tiempo».

Lo que si sabemos es que wtmp es un registro que captura y registra todos los eventos de inicio y cierre de sesión. Revisando los datos en el wtmp log es un paso básico para adoptar un enfoque basado en la seguridad para las tareas de administración de su sistema. Para una computadora familiar típica, puede que no sea tan crítico desde el punto de vista de la seguridad, pero es interesante poder revisar el uso combinado de la computadora.

A diferencia de muchos de los archivos de registro basados ​​en texto en Linux, wtmp es un archivo binario. Para entrar a los datos que contiene, necesitamos usar una herramienta diseñada para esa tarea.

Esa herramienta es la last mando.

El último comando

los last comando lee datos del wtmp log y lo muestra en una ventana de terminal.

Si escribe last y presione Entrar mostrar todos los registros desde el archivo de registro.

last

Cada registro de wtmp se muestra en la ventana del terminal.

De izquierda a derecha, cada línea contiene:

  • los nombre de usuario de la persona que inició sesión.
  • los Terminal estaban conectados. Una entrada terminal de :0 significa que iniciaron sesión en la propia computadora Linux.
  • los dirección IP de la máquina en la que estaban conectados.
  • los acceso sello de fecha y hora.
  • los duración de la sesión.

La última línea nos dice la fecha y hora de la primera sesión registrada en el registro.

Una entrada de inicio de sesión para el usuario ficticio ‘reiniciar’ se ingresa en el registro cada vez que se inicia la computadora. El campo terminal se reemplaza con la versión del kernel. La extensión de la sesión iniciada para estas entradas representa el tiempo de actividad de la computadora.

Mostrar un número específico de líneas

Usando el last El comando por sí solo produce un volcado de todo el registro y la mayor parte pasa por la ventana de la terminal. La parte que permanece visible son los primeros datos del registro. Probablemente esto no sea lo que querías ver.

Puedes decir last para darle un número específico de líneas de salida. Haga esto proporcionando el número de líneas que desea en la línea de comando. Tenga en cuenta el guión. Para ver cinco líneas, debe escribir -5 y no 5:

last -5

Esto da las primeras cinco líneas del registro, que son los datos más recientes.

Mostrar nombres de red para usuarios remotos

los -d La opción (Sistema de nombres de dominio) indica last para intentar solucionar las direcciones IP de los usuarios remotos en un nombre de máquina o red.

last -d

No siempre es factible para last para convertir la dirección IP en un nombre de red, pero el comando lo hará cuando sea factible.

Esconder direcciones IP y nombres de red

Si no está interesado en la dirección IP o el nombre de la red, utilice el -R (sin nombre de host) para suprimir este campo.

Debido a que esto da una salida más ordenada sin desagradables envolturas, esta opción se ha utilizado en todos los siguientes ejemplos. Si estuvieras usando last para tratar de identificar una actividad inusual o sospechosa, debería no suprimir este campo.

Elegir registros por fecha

Puedes utilizar el -s (desde) para restringir la salida para mostrar solo los eventos de inicio de sesión que tuvieron lugar desde una fecha específica.

Si solo quisiera ver los eventos de inicio de sesión que tuvieron lugar a partir del 26 de mayo de 2019, usaría el siguiente comando:

last -R -s 2019-05-26

La salida muestra registros con eventos de inicio de sesión que tuvieron lugar desde la hora 00:00 del día especificado, hasta los registros más recientes en el archivo de registro.

Buscando hasta una fecha de finalización

Puedes utilizar el -t (hasta) para especificar una fecha de finalización. Esto le posibilita elegir un conjunto de registros de inicio de sesión que tuvo lugar entre dos fechas de interés.

Este comando pregunta last para recuperar y mostrar los registros de inicio de sesión desde las 00:00 (amanecer) del día 26 hasta las 00:00 (amanecer) del día 27. Esto reduce la lista a las sesiones de inicio de sesión que tuvieron lugar solo el día 26.

Formatos de fecha y hora

Puede usar tanto las horas como las fechas con el -s y -t opciones.

Los diferentes formatos de hora que se pueden usar con el last Las alternativas que usan fechas y horas son (supuestamente):

  • AAAAMMDDhhmmss
  • AAAA-MM-DD hh: mm: ss
  • AAAA-MM-DD hh: mm – los segundos se establecen en 00
  • AAAA-MM-DD: la hora se establece en 00:00:00
  • hh: mm: ss – la fecha se establece en hoy
  • hh: mm: la fecha se establecerá en hoy, los segundos en 00
  • ahora
  • ayer – la hora está configurada en 00:00:00
  • hoy – la hora está establecida en 00:00:00
  • mañana – la hora se establece en 00:00:00
  • + 5min
  • -5 dias

¿Por qué ‘supuestamente’?

El segundo y tercer formato de la lista no funcionaron durante la investigación para este post. Estos comandos se probaron en distribuciones de Ubuntu, Fedora y Manjaro. Estos son derivados de las distribuciones Debian, RedHat y Arch, respectivamente. Eso cubre todas las familias principales de distribución de Linux.

last -R -s 2019-05-26 11:00 -t 2019-05-27 13:00

Como puede ver, el comando no devolvió ningún registro.

Utilizar el primer formato de fecha y hora de la lista con la misma fecha y hora que el comando anterior devuelve registros:

last -R -s 20190526110000 -t 20190527130000

Búsqueda por unidades relativas

Además especifica períodos de tiempo que se miden en minutos o días, en vinculación con la fecha y hora actuales. Aquí estamos solicitando registros desde hace dos días hasta hace un día.

last -R -s -2days -t -1days

Ayer, hoy y ahora

Puedes utilizar yesterday y tomorrow como abreviatura de la fecha de ayer y la fecha de hoy.

last -R -s yesterday -t today

No es que esto no incluya ningún registro para hoy. Ese es el comportamiento esperado. El comando solicita registros desde la fecha de inicio. Hasta que la fecha de finalización. No lo hace incluir registros dentro de la fecha de finalización.

los now La opción es la abreviatura de «hoy a la hora actual». Para ver los eventos de inicio de sesión que han tenido lugar desde las 00:00 (amanecer) hasta el momento en que emite el comando, use este comando:

last -R -s today -t now

Esto mostrará todos los eventos de inicio de sesión hasta el momento actual, incluidos los que aún están conectados.

salida de la última -R -s hoy -t ahora

La opción actual

los -p La opción (presente) le posibilita averiguar quién inició sesión en un momento determinado.

No importa cuándo iniciaron sesión o salieron, pero si iniciaron sesión en la computadora en el momento que usted especifique, se incluirán en el listado.

Si especifica una hora sin fecha last asume que te refieres a «hoy».

last -R -p 09:30

Las personas que aún están conectadas (evidentemente) no disponen tiempo para desconectarse; se describen como still logged in . Si la computadora no se ha reiniciado desde la hora que especifique, aparecerá como still running.

Salida del último -R -p 09:30

Si utiliza el now taquigrafía con el -p (presente) opción, puede averiguar quién está conectado en el momento en que emite el comando.

last -R -p now

Esta es una forma un tanto larga de lograr lo que se puede lograr usando el who mando.

RELACIONADO: Cómo determinar la cuenta de usuario actual en Linux

El último comando

los lastb comando merece mención. Lee datos de un registro llamado btmp. Hay un poco más de consenso sobre este nombre de registro. La ‘b’ significa malo, pero la parte ‘tmp’ aún está sujeta a debate.

lastb enumera los malosfallido) intentos de acceso. Acepta las mismas opciones que last. Debido a que fueron intentos fallidos de inicio de sesión, todas las entradas tendrán una extensión de 00:00.

Debes utilizar sudo con lastb.

sudo lastb -R

La última palabra sobre el asunto

Saber quién ha iniciado sesión en su computadora Linux, y cuándo y de dónde es información útil. La combinación de esto con los detalles de los intentos fallidos de inicio de sesión le proporciona los primeros pasos para investigar un comportamiento sospechoso.

setTimeout(function(){
!function(f,b,e,v,n,t,s)
{if(f.fbq)return;n=f.fbq=function(){n.callMethod?
n.callMethod.apply(n,arguments):n.queue.push(arguments)};
if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version=’2.0′;
n.queue=[];t=b.createElement(e);t.async=!0;
t.src=v;s=b.getElementsByTagName(e)[0];
s.parentNode.insertBefore(t,s) } (window, document,’script’,
‘https://connect.facebook.net/en_US/fbevents.js’);
fbq(‘init’, ‘335401813750447’);
fbq(‘track’, ‘PageView’);
},3000);

Suscribite a nuestro Newsletter

No te enviaremos correo SPAM. Lo odiamos tanto como tú.