jueves, 17 de diciembre de 2009

Borrado seguro de archivos y disco duro

Advertencia, si no se tiene cuidado con estos comandos podría ocasionar la perdida de informacion

Si uno es paranoico, le gustaría que sus archivos al ser borrados no se puedan recuperar por ningún medio, exciten varias herramientas para ello el día de hoy les traigo 2
uno
para borrar un archivo

shred -fuvz Archivo

Sus modificadores (shred –help mas información en man)

-f, --force cambia los permisos para permitir la escritura si es necesario

-n, --iterations=N sobreescribe N veces en vez de lo predeterminado (25)

-s, --size=N efectúa el `shred' sobre este número de bytes
(se permiten los sufijos K, M y G)

-u, --remove trunca y borra el archivo después de sobreescribirlo

-v, --verbose muestra el progreso

-x, --exact no redondea hacia arriba los tamaños de los archivos hasta el siguiente bloque completo; este es el comportamiento predeterminado para los archivos no regulares

-z, --zero sobreescribir con ceros al final para ocultar la división

--help muestra esta ayuda y finaliza

--version informa de la versión y finaliza


borrar un disco

ya que todo en linux es un archivo es posible borrarlo como si fuera un archivo

shred /dev/dispositivo (sdb1 sda etc.)

dos
si no se shred en se puede usar dd ( dataset definition) yo prefiero llamarlo duplicar datos para no olvidar su función, esta trabaja a bajo nivel de tal forma que copia de byte a byte, para sobrescribir el archivo aprovecharemos /dev/urandom (fichero especial que contiene dados aleatorios ) y lo copiaremos al archivo que desea sobrescribir.

Primero se tiene que saber su tamaño para ello contamos con du
du -h archivo
nos arrojara algo así
110k archivo

conociendo el tamaño podemos usar

dd if=/dev/urandom of=arcivo bs=1k count=120

Donde

bs=BYTES fuerza ibs=BYTES y obs=BYTES

cbs=BYTES convierte BYTES bytes cada vez

conv=PALABRAS convierte el archivo según la lista de PALABRAS clave separadas por comas

count=BLOQUES copia solamente BLOQUES bloques de entrada

ibs=BYTES lee BYTES bytes cada vez

if=ARCHIVO leer del ARCHIVO en lugar de la entrada estándar (stdin)

obs=BYTES escribir BYTES bytes cada vez

of=FICHERO escribir en ARCHIVO en lugar de la salida estándar

seek=BLOQUES omitir BLOQUES bloques de tamaño obs al comienzo del resultado

skip=BLOQUES omitir BLOQUES bloques de tamaño ibs al comienzo de la entrada

status=noxfer eliminar estadísticas de transferencias



los BLOQUES y BYTES pueden estar seguidos por los siguientes sufijos multiplicativos:

xM M, c 1, w 2, b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,

GB 1000*1000*1000, G 1024*1024*1024, y así sucesivamente para T, P, E, Z,



para mas ejemplos viste la wikipedia

esto elegimos bs=1k porque el unidad de tamaño del archivo si da G usar bs=1G eso es el tamaño del bloque que va leer y escribir y count=120 es para para que escriva 120 bloques de 1k que seria sobrescribir todo el archivo para sobre escribir mas de una vez

for n in {1..7}; do dd if=/dev/urandom of=arcivo bs=1k count=120; done

solo falta borrarlo de forma normal

para borrar un disco

dd if=/dev/urandom of=/dev/dispositivo


para nota final dd es una herramienta muy poderosa no solo para sobrescribir archivos si revisaron la wikipedia se darán cuenta de su poder

0 comentarios: