Los comandos last y lastb

2008 Marzo 29
by Overclock_Orange

Vamos a conocer a dos comandos muy utiles, que nos brindan información sobre los accesos a nuestro sistema ellos son last y lastb. Si bien aparentan ser similares no lo son para nada. Empezaremos por hablar del comando last.

Con este comando podemos ver los ultimos usuarios que se han logueado en el sistema y que terminales usaron, asi como también los ultimos reinicios del sistema.
Su sintaxis es tan simple como:

$: last

facundo  pts/3        localhost        Thu Mar 27 04:07 - 04:07  (00:00)
facundo  :0                            Wed Mar 26 19:11   still logged in
reboot   system boot  2.6.24-1-amd64   Wed Mar 26 19:10 - 05:23 (1+10:13)
facundo  :0                            Tue Mar 25 15:54 - down   (12:40)
reboot   system boot  2.6.24-1-amd64   Tue Mar 25 15:33 - 04:34  (13:01)

Y obtendremos una salida como esta, la verdad es muy sencillo.
Entre la informacion que nos muestra se encuentran de izquierda a derecha, el usuario, la terminal que uso, el kernel con que arranco este usuario, la fecha del login, la hora de acceso y la hora de salida, asi como un resumen (entre parentesís) de la cantidad de horas que este usuario estuvo en el sistema.
Con el agregado de modificadores, encontraremos mucha mas información que nos puede ser realmente muy util.
Podemos utilizar pipes (tuberias) y hacer uso de la redirección estándar, como con cualquier comando, por ejemplo si queremos generar un archivo sobre los ultimos logins del usuario overclock podemos hacer lo siguiente:

$: last | grep overclock > login_overclock.txt

overclock  pts/3                 localhost            Thu Mar 27 04:07 - 04:07   (00:00)
overclock  :0                                                  Wed Mar 26 19:11   still logged in
overclock  :0                                                  Tue Mar 25 15:54 - down  (12:40)

Existen otras formas de filtrar al usuario overclock, pero esto lo veeremos mas adelante.

El modificador -n [numero] nos muestra los ultimos X cantidad de logins del usuario. Por ejemplo si necesitamos saber los utlimos dos logins en el sistema hariamos:

$: last -n 2

facundo  pts/3        localhost        Thu Mar 27 04:07 - 04:07  (00:00)
facundo  :0                                     Wed Mar 26 19:11   still logged in

El modificador [username] nos muestra los ultimos accesos al sistema de un usuario en particular, por ejemplo si queremos saber sobre los accesos de "root", cosa que por defecto no muestra la salida de este comando, hacemos:

$: last root

root     tty1                          Tue Mar 18 23:20 - 23:21  (00:00)
root     tty4                          Tue Mar 18 23:20 - 23:20  (00:00)
root     tty3                          Tue Mar 18 23:01 - 23:20  (00:19)

El modificador [ttyX] donde X es un numero real, que identifica a la terminal, nos muestra los ultimos logins en esa shell para ello:

$: last tty1

facundo  tty1                          Sun Mar 23 01:37 - crash  (00:05)
facundo  tty1                          Sun Mar 23 01:37 - 01:37  (00:00)
root        tty1                          Tue Mar 18 23:20 - 23:21  (00:00)
root        tty1                          Tue Mar 18 23:20 - 23:20  (00:00)
root        tty1                          Tue Mar 18 23:01 - 23:20  (00:19)

Estas entradas por lo general son leidas de un log, este es el archivo /var/log/wtmp, comunmente en ciclos de 30 días, por lo que siempre tendremos una copia del mes anterior llamada wtmp.1 (nunca dos meses, ya que se sobreescriben), a menos que hagamos una copia de este archivo, por ejemplo estableciendo con el cron, un backup mensual de este archivo.

El modificador -f especifica el archivo del cual deben ser leidas las entradas, por ejemplo nosotros actualmente queremos ver las del mes anterior por lo que hacemos:

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

root         tty1                                          Sat Mar  1 05:04    gone - no logout
root         tty1                                          Sat Mar  1 05:04 - 05:04  (00:00)
facundo  :0                                              Sat Mar  1 05:02    gone - no logout
reboot     System boot  2.6.22-2-486     Sat Mar  1 05:02 - 04:50 (27+00:48)
facundo  :0                                              Sat Mar  1 02:38 - down   (02:22)
root         tty1                                          Sat Mar  1 02:36 - down   (02:25)

El modificador -i, nos dice desde que dirección de IP se loguearon en nuestro sistema.

$: last -i

juan         tty1         192.168.1.3                                 Sat Mar  1 05:04    gone - no logout
raul         tty1         192.150.1.5                                 Sat Mar  1 05:04 - 05:04  (00:00)

Por su parte el comando lastb nos muestra una información que puede ser tan util como la anterior, los intentos fallidos de login en el sistema, su uso es simliar al anterior, la diferencia reside en que se “fija” en el archivo /var/log/btmp.
Como dije anteriormente su sintaxis es similar a el comando last, por lo cual solo pondremos un ejemplo.
Si queremos conocer los intentos fallidos de login del usuario “facundo” hacemos:

$: lastb facundo
facundo                                Fri Mar 14 23:11 - 23:11  (00:00)

Y la salida es esta, el usuario facundo, el viernes (friday) 14 de marzo, a las 23:11, hasta las 23:11 (pues no entro al sistema), tuvo un intento fallido de login.

Para mas información sobre este comando, ya sabén:

$: man last

El manual de ayuda es similar tanto para last como para lastb.

Overclock_Orange
fmdlc.unix (–en–) gmail.com

2 Responses leave one →
  1. 2009 Mayo 12
    oscar hurtado permalink

    Yo tengo instalado el sco unix 5.0.7, y no puedo ver las ipcon el modificador -i presenta error, sera que tengo alguno atra manera de ver las ip que que entraron al sistema.

Trackbacks & Pingbacks

  1. debian-ar.org » Blog Archive » Los comandos last y lastb

Leave a Reply

Note: You can use basic XHTML in your comments. Your email address will never be published.

Subscripción al comentario vía RSS