GNU/Linux >> Tutoriales Linux >  >> Linux

Último comando de Linux con ejemplos

El último comando de Linux se usa para verificar que el usuario haya iniciado sesión previamente en su servidor. Este comando es muy importante en Linux, ya que ayuda en el registro de auditoría. Suponga que algo ha cambiado en el sistema Linux, en esta situación no está seguro de quién ha realizado los cambios. Con el comando 'último' puede identificar quién inició sesión en un momento determinado.

El último comando muestra una lista de todos los usuarios que iniciaron y cerraron sesión desde '/var/log/wtmp' desde que se creó el archivo. Wtmp es un archivo de registro que captura y registra cada evento de inicio y cierre de sesión. Este es un archivo binario que ningún editor de texto puede ver. Este truco es bastante inteligente porque ningún usuario o root puede modificar el archivo como quiera.

El último comando le brinda información sobre el nombre de todos los usuarios que iniciaron sesión, tty, dirección IP (si el usuario realiza una conexión remota), fecha/hora y cuánto tiempo inició sesión el usuario.

Cómo ejecutar el último comando

Solo necesita escribir 'último' en su consola.

Aquí está la muestra:

$ last

leni pts/0 10.0.76.162 Mon Dec 2 12:32 - 13:25 (00:53)
pungki tty1 Mon Dec 2 09:31 still logged in
reboot system boot 2.6.32-358.23.2 Mon Dec 2 09:20 - 13:25 (04:05)

Así es como se lee la última información:

La primera columna - nombre del usuario que ha iniciado sesión.

La segunda columna - darnos información sobre cómo está conectado el usuario (a través de pts o tty). A excepción de la actividad de reinicio, el estado se mostrará como 'inicio del sistema'.

La tercera columna - muestra desde dónde se conectó el usuario. Si el usuario se conecta desde una computadora remota, verá un nombre de host o una dirección IP. Si ve:0.0 o nada, significa que el usuario está conectado a través de la terminal local. Con excepción de la actividad de reinicio, la versión del kernel se mostrará como estado.

Las columnas restantes - muestra la hora de inicio de sesión y el sello de datos cuando ha ocurrido la actividad de registro. Los números entre paréntesis nos dicen cuántas horas y minutos se realizó la conexión.

pts (pseudo terminal):significa que el usuario se conecta a través de conexiones remotas como SSH o telnet.
tty (teletipo) - significa que el usuario se conecta a través de una conexión directa a la computadora o terminal local.

1. Limite el número de líneas

Cuando tiene muchas líneas para mostrar, puede limitar cuántas líneas desea ver usando -n opción.

En el siguiente comando, mostrará 3 líneas a partir de la hora actual y hacia atrás.

$ last -n 3

leni pts/0 10.0.76.162 Mon Dec 2 12:32 - 13:25 (00:53)
pungki tty1 Mon Dec 2 09:31 still logged in
reboot system boot 2.6.32-358.23.2 Mon Dec 2 09:20 - 13:25 (04:05)

2. Ocultar nombre de host/dirección IP

Utilice -R opción para ocultar el nombre de host o la dirección IP de la impresión.

Salida de muestra

$ last -R

leni pts/0 Mon Dec 2 12:32 - 13:25 (00:53)
pungki tty1 Mon Dec 2 09:31 still logged in
reboot system boot Mon Dec 2 09:20 - 13:25 (04:05)

3. Mostrar nombre de host en la última columna

A veces es fácil imprimir el nombre de host o la dirección IP en la última columna. Para hacer esto, puede usar -a opción como se muestra a continuación:

$ last -a

leni pts/0 Mon Dec 2 12:32 - 13:25 (00:53) 10.0.76.162
pungki tty1 Mon Dec 2 09:31 still logged in :0.0
reboot system boot Mon Dec 2 09:20 - 13:25 (04:05) 2.6.32-358.23.2.el6.i686

4. Imprimir la hora y las fechas completas de inicio y cierre de sesión

De forma predeterminada, el último comando no mostrará la fecha y la hora completas. Puedes usar -F opción para esto.

Aquí hay una muestra:

$ last -F

leni pts/0 10.0.76.162 Mon Dec 2 12:32:24 2013 - Mon Dec 2013 13:25:24 2013 (00:53)

5. Buscar entre fechas específicas

Puede usar las opciones -s (desde) y -t (hasta) para buscar registros entre fechas específicas.

Por ejemplo, el siguiente comando imprimirá registros del 1 de febrero al 1 de mayo de 2019.

$sudo last -F -s 2019-02-01 -t 2019-05-01

6. Imprimir nombre de usuario específico

Si desea rastrear a un usuario específico, puede imprimirlo específicamente. Ponga el nombre del usuario con el último comando.

$ last leni

leni tty1 Mon Dec 2 18-42 still logged in
leni pts/0 Mon Dec 2 12:32 - 13:25 (00:53) 10.0.76.162

O si desea saber cuándo finaliza el reinicio, también puede visualizarlo

$ last reboot

reboot system boot Mon Dec 2 09:20 - 16:55 (07:34)
reboot system boot Sun Dec 1 04:26 - 04:27 (00:01)
reboot system boot Wed Nov 27 20:27 - 01:24 (04:57)
reboot system boot Tue Nov 26 21:06 - 06:13 (09:06)

7. Imprimir tty/pts específicos

Last también puede imprimir información sobre tty/pts específicos. Solo pon el tty nombre o nombre de pty detrás del último comando.

Salidas de muestra:

$ last tty1

pungki tty1 Mon Dec 2 09:31 still logged in
pungki tty1 Mon Dec 2 04:26 - down (00:00)
pungki tty1 Mon Dec 2 04:07 - down (00:00)
pungki tty1 Sun Dec 1 18:55 - 04:07 (09:12)
$ last pts/0

leni pts/0 10.0.76.162 Mon Dec 2 12:32 - 13:25 (00:53)
pungki pts/0 :0.0 Wed Nov 27 20:28 - down (04:56)

Cuando vea un valor bajo entre paréntesis, significa que el usuario inició sesión desde un momento específico hasta que el sistema se reinicia o apaga.

8. Use otro archivo que no sea /var/log/wtmp

De forma predeterminada, el último comando analizará la información de '/var/log/wtmp'. Si desea que el último comando se analice desde otro archivo, puede usar -f parámetro.

Por ejemplo, puede rotar el registro después de una determinada condición. Digamos que el archivo anterior se llama '/var/log/wtmp.1' .

Luego, el último comando se verá de la siguiente manera:

$ last -f /var/log/wtmp.1

9. Mostrar los cambios de nivel de ejecución

Hay -x opción, si desea mostrar los cambios de nivel de ejecución.

Aquí hay una salida de muestra:

pungki tty1 Mon Dec 2 19:21 still logged in
runlevel (to lvl 3) 2.6.32-358.23.2 Mon Dec 2 19:20 - 19:29 (00:08)
reboot system boot 2.6.32-358.23.2 Mon Dec 2 19:20 - 19:29 (00:08)
shutdown system down 2.6.32-358.23.2 Mon Dec 2 18:56 - 19:20 (00:23)
runlevel (to lvl 0) 2.6.32-358.23.2 Mon Dec 2 18:56 - 18:56 (00:00)
leni tty1 Mon Dec 2 18:42 - down (00:00)

Puede ver que hay dos entradas de nivel de ejecución. Nivel de ejecución que tiene to lvl 3 entrada significa que el sistema se está ejecutando en modo de consola completa. Sin X Window o GUI activos. Mientras tanto, cuando el sistema se apaga, Linux usa el nivel 0. Es por eso que la última vez le mostramos to lvl 0 entrada.

Para mostrar la fecha y hora del último apagado, use el siguiente comando:

#last -x | grep shutdown | head -1

10. Ver inicios de sesión incorrectos

Mientras que el último comando registra los inicios de sesión exitosos, el comando lastb registra los intentos de inicio de sesión fallidos. Debe tener acceso de root para ejecutar el comando lastb. Lastb analizará la información de /var/log/btmp.

Aquí hay una salida de muestra del comando lastb.

# lastb

leni tty1 Mon Dec 2 22:12 - 22:12 (00:00)
rahma tty1 Mon Dec 2 22:11 - 22:11 (00:00)

11. Mostrar la dirección IP del host local

Con -d opción (para inicios de sesión no locales), Linux almacena no solo el nombre de host del host remoto, sino también su número de IP.

# last -d
root pts/1 192.168.1.100 Fri Jun 22 01:58 still logged in
root pts/0 192.168.1.100 Fri Jun 22 01:52 still logged in

12. Rotar registros wtmp

Dado que '/var/log/wtmp' registra todas las actividades de inicio de sesión, el tamaño del archivo puede crecer rápidamente. De forma predeterminada, Linux rotará '/var/log/wtmp' cada mes. El detalle de la actividad de rotación se encuentra en el archivo /etc/logrotate.conf.

Aquí está el contenido de mi archivo '/etc/logrotate.conf'.

/var/log/wtmp {
monthly
create 0664 root umtp
minsize 1M
rotate 1
}

Y para '/var/log/btmp', aquí está la configuración predeterminada de la actividad de rotación

/var/log/btmp {
missingok
monthly
create 0600 root umtp
minsize 1M
rotate 1
}

Borrar historial de últimos comandos

Como sabemos que escribe en wtmp, si queremos eliminar el último historial, podemos hacerlo a través de

#> /var/log/wtmp

Or

#> /var/log/lastlog

Conclusión

En este tutorial, aprendimos cómo usar el último comando en Linux para verificar los registros del archivo wtmp. Para obtener más detalles, visite la última página del manual escribiendo man last en su consola.


Linux
  1. Comando wc Linux con ejemplos

  2. Comando de clasificación de Linux con ejemplos

  3. Comando Linux Tee con ejemplos

  4. Comando de cabeza de Linux con ejemplos

  5. Comando JQ en Linux con ejemplos

Comando de CD de Linux con ejemplos

Último comando de Linux con ejemplos

Comando de vigilancia de Linux con ejemplos

Comando de espera en Linux con ejemplos

Comando de exportación de Linux con ejemplos

Comando IP de Linux con ejemplos