Recuperación de datos eliminados en /bin

Hace unos momentos, debido a un error tipográfico, me he cargado el directorio /bin de un servidor. Podría haber sido peor, pues el error fue hacer «rm -rf /», al cancelar la orden mediante Ctrl+C evité la catastrofe total, sin embargo sucedió una más pequeña al eliminar el directorio /bin.

El problema de eliminar el directorio /bin es obvio, los comandos mv, cp, chown, tar, bash entre otros de básico funcionamiento ya no están. No podía hacer un listado, ni copiar ficheros y lo peor de todo, al no existir los ficheros /bin/bash ni /bin/sh no podría volver a hacer algún login en el servidor.

La solución que encontré fue conectarme por ftp desde otro servidor del mismo tipo de sistema y mandarle los ficheros más elementales, ls, cp, mv, chmode. Aunque los ficheros seguían sin poder ser ejecutados. La solución que encontré fue ejecutar el comando ftp desde el ordenador cliente:

site chmod 777 chmod

Pude dar privilegios de ejecución al fichero con lo que ya podría cambiar los permisos en el servidor donde sucedió el percance llamando directamente al fichero (desde el login tenia el path /bin en el .profile), sin embargo podría ejecutar

./chown +x ./ls

De este modo podría ejecutar en modo local ese comando para cambiar permisos de los nuevos ficheros subidos, pudiendo recuperar los comandos de listado, copia y movimiento de ficheros. Luego moverlos y crear el directorio /bin y ya podría usarlos con normalidad.

Ya para acabar, gracias a usar un sistema de backup diario donde graba las copias en formato tar, pude recuperar todos los ficheros del directorio /bin y restaurarlos.

En momentos como este es cuando uno agradece tener un buen software de backup instalado en un servidor.


Sobre esta entrada