Colega, ¿donde está mi last?

Octubre 22, 2008 at 10:00 am (Howto, Misterios misteriosos, Solaris) (, , , )

Uno de los misterios más habituales, que ha causado más de un quebradero de cabeza a los sysadmins del mundo mundial es la falta de informacióncuando hacemos un last.

Para los que no lo tengan muy claro, last es una herramienta de seguridad que indica los últimos accesos a la máquina en orden reverso. Cada línea nos va a indicar nombre de usuario, la consola (tty) desde donde conecta, nombre de máquina y el comienzo y el fin de la sesión. Utilísimo para los paranoicos en todos nosotros :)

Un ejemplo práctico:

root@madhatter # last
root      pts/4        10.10.1.229      Tue Oct 21 13:57   still logged in
root      sshd         10.10.1.229      Tue Oct 21 13:57   still logged in
root      sshd         10.10.1.229      Wed Oct  8 12:30 - 12:36  (00:05)
root      sshd         10.0.231.64      Wed Oct  8 11:55 - 12:25  (00:29)
root      pts/4        10.10.1.229      Wed Oct  8 11:30 - 12:41  (01:11)
root      sshd         10.10.1.229      Wed Oct  8 11:30 - 11:55  (00:25)
root      console      :0               Tue Sep 30 12:27   still logged in
root      pts/2        10.10.3.43       Mon Sep 29 11:30 - 11:30  (00:00)
root      sshd         10.10.3.43       Mon Sep 29 11:30 - 11:30  (00:00)
root      pts/2        10.10.1.229      Wed Sep 24 07:25 - 07:51  (00:26)
root      sshd         10.10.1.229      Wed Sep 24 07:25 - 07:51  (00:26)
root      sshd         10.10.1.229      Thu Sep 18 14:17 - 14:32  (00:15)
root      pts/2        10.10.1.229      Thu Sep 18 14:15 - 14:47  (00:31)
root      sshd         10.10.1.229      Thu Sep 18 14:15 - 14:17  (00:01)
root      pts/2        10.10.1.229      Thu Sep 18 08:44 - 08:44  (00:00)
[...]

Imaginemos ahora una situación como esta

root@madhatter # last
wtmp begins Wed Feb 25 04:30

La cara de tonto que se te queda cuando compruebas que el fichero está actualizado

root@madhatter # ls -l /var/adm/wtmpx
-rw-r--r--   1 adm      adm      43599145 Oct 21 13:28 /var/adm/wtmpx

Que forzando te manda a peinarte

root@madhatter # last -f /var/adm/wtmpx
wtmp begins Wed Feb 25 04:30

Que el filesystem no está lleno

root@madhatter # df -k /var
Filesystem            kbytes    used   avail capacity  Mounted on
/dev/vx/dsk/bootdg/rootvol
                     15345315 8665186 6526676    58%    /

La causa más normal de este comportamiento es corrupción de datos en el fichero /var/adm/wtmpx que es donde se almacenan los datos para sacar el last. Las causas son variadas, desde llenado temporal de ese filesystem, un backup mal realizado, truncados de ficheros o simple y pura mala práctica.

La cuestión es arreglarlo. La forma más sencilla es, simplemente, recrearlo con los permisos adecuados, haciendo copia de seguridad previa:

root@madhatter # mv /var/adm/wtmpx /var/adm/wtmpx.BAK
root@madhatter # touch /var/adm/wtmpx
root@madhatter # chown adm:adm /var/adm/wtmpx
root@madhatter # chmod 644 /var/adm/wtmpx

Listo. En caso de que nos interese mucho guardar los datos contenidos en el fichero, hay una operativa mucho más complicada que podéis examinar a fondo.

Escribe un comentario