Como leer/visualizar archivos utmp, wtmp y btmp en Linux

Lectores, les paso este "Como" de linux, algo que debe ser usado por cualquier sysadmin de Linux. Esperando aportar conocimiento, aqui les dejo.

Introducción.


En sistemas operativos Linux/Unix todo es registrado en algun lado (los conocidos logs). La mayoria de registros del sistema se almacenan en el directorio /var/log. El directorio contiene registros relacionados a distintos servicios y/o aplicaciones.

En este directorio tenemos algunos archivos como utmp, wtmp y btmp. Estos archivos contienen todo el detalle de registro de inicio (login) y termino (logout) de sesiones de usuarios ya sea local, sistemas remoto, como estado en el sistema, tiempo en linea, etc.

Informacion sobre los archivos


  • utmp: te mostrara informacion completa del acceso de usuarios, la terminal que usa, termino de sesion, eventos del sistema y el estado actual del mismo, etc.
  • wtmp: contiene el historio del archivo utmp
  • btmp: registros solo intentos fallidos de sesion.


Como no revisar

Normalmente, cuando intentamos visualizar el contenido de estos archivos con el comando cat o el editor vi(m), estos muestran datos ilegibles, valores "basura", formato hexadecimal o encriptado. Esto se puede ver al intentar visualizar:

uribes@localhost:~$ cat /var/log/wtmp
&
pts/1/1uribes:0.0 AkU��
                       pts/2/2root:0.0�Akpts/1/1uribes�AkUpts/2/2root BkU�8&
pts/1/1uribes:0.0�BkU�&
pts/3/3uribes:0.07JkU�pts/3/3uribesSJkU�m
pts/1/1uribesWJkU�7 &
pts/1/1uribes:0.0�NkUIpts/1/1uribes;RkU�=�xpts/1/1uribes:0.0>RkU�
&ts/1/1uribesGRkU  

Como revisar

Para leer estos archivos es necesario utilizar el comando last. El comando last es uno de los comandos importantes que te indicara los registros de sesion, cuando se registraron y finalizaron, la terminal, etc. Esto sale en mi equipo:

uribes@localhost:~$ last
uribes   pts/1        :0.0             Sun May 31 12:52   still logged in   
uribes   pts/1        :0.0             Sun May 31 12:26 - 12:26  (00:00)    
uribes   pts/1        :0.0             Sun May 31 12:10 - 12:26  (00:15)    
uribes   pts/3        :0.0             Sun May 31 11:51 - 11:52  (00:00)    
uribes   pts/1        :0.0             Sun May 31 11:20 - 11:52  (00:32)    
root     pts/2        :0.0             Sun May 31 11:16 - 11:16  (00:00)    
uribes   pts/1        :0.0             Sun May 31 11:12 - 11:16  (00:03)    

wtmp begins Sun May 31 11:12:59 2015

Como ven, muestra el detalle de actividad de registro/termino. Este mismo comando puede ser utilizado para leer los archivos utmp, wtmp y btmp. Para esto podemos ejecutar de la siguiente forma:

uribes@localhost:~$ last -f /var/log/wtmp
uribes   pts/1        :0.0             Sun May 31 12:52   still logged in   
uribes   pts/1        :0.0             Sun May 31 12:26 - 12:26  (00:00)    
uribes   pts/1        :0.0             Sun May 31 12:10 - 12:26  (00:15)    
uribes   pts/3        :0.0             Sun May 31 11:51 - 11:52  (00:00)    
uribes   pts/1        :0.0             Sun May 31 11:20 - 11:52  (00:32)    
root     pts/2        :0.0             Sun May 31 11:16 - 11:16  (00:00)    
uribes   pts/1        :0.0             Sun May 31 11:12 - 11:16  (00:03)    

wtmp begins Sun May 31 11:12:59 2015

El parametro de -f de last es para indicarle el archivo que deseamos leer. Existen otros parametros utiles para la visualizacion. Te recomiendo revisar el manual del comando last(1).

Es asi como podemos visualizar el contenido y poder ver quiene esta, cuanto tiempo, que terminal, etc. Si bien es posible ejecutar el comando w, que tambien muestra informacion de quien esta en linea y desde que terminal/ip, no esta de mas revisar otros registros.

Esto seria todo, se vale comentar. Saludos.


Entradas populares de este blog

Desactivando NetworkManager

Como montar particiones LVM en Linux

Configurando interfaces de red virtuales en Linux