Curiosity is insubordination in its purest form. -Vladimir Nabokov

jueves, 24 de noviembre de 2011

undelete (open) files with lsof

Hola,

Puede usarse el mitico lsof para recuperar archivos borrados. Por ejemplo, logs borrados en una maquina comprometida que aun estan siendo accedidos por su demonio correspondiente, un servidor Apache, etc.

En un terminal:
$ echo probando >basura7
$ less basura7

Y dejamos el less con el archivo abierto. Entonces en otro terminal:
$ rm basura7
$ ls basura7
/bin/ls: basura7: No such file or directory
$ lsof |grep basura7
less 14481 usuario 4r REG 8,1 9 2627682 /tmp/basura7 (deleted)
$ file /proc/14481/fd/4
/proc/14481/fd/4: broken symbolic link to `/tmp/basura7 (deleted)'
$ cat /proc/14481/fd/4
probando

El primer numero es el PID. El segundo el numero de descriptor de fichero donde ese proceso lo tiene abierto. Y ahi esta "recuperado" (entre comillas porque realmente nunca se borro del disco).

Related Posts by Categories



2 comentarios :

Newlog dijo...

Una solución rápida por si algún dia haces las cosas sin pensar!

vlan7 dijo...

Pues si maestro, lsof es una mina de posibilidades.

Nos vemos mas alla del EIP jeje