Hace 7 años | Por dairy a ayudalinux.com
Publicado hace 7 años por dairy a ayudalinux.com

La eliminación de archivos en Linux, usando el comando "rm" o el modo gráfico, no es suficiente para eliminar archivos en Linux de manera permanente.

Comentarios

grodriguezgonzalez

Usando el chattrib y udando el man para ver si le tienes que poner S (tiro de recuerdo, pero era algo asi). #teahorrounclick

MycroftHolmes

rm -rF /

D

#1

Sin dejar rastro, eso deja rastro.

alopecio

Yo tengo esta cosica:

#!/bin/bash
# blot-out.sh: Erase "all" traces of a file.

# This script overwrites a target file alternately
#+ with random bytes, then zeros before finally deleting it.
# After that, even examining the raw disk sectors by conventional methods
#+ will not reveal the original file data.

PASSES=7 # Number of file-shredding passes.
# Increasing this slows script execution,
#+ especially on large target files.
BLOCKSIZE=1 # I/O with /dev/urandom requires unit block size,
#+ otherwise you get weird results.
E_BADARGS=70 # Various error exit codes.
E_NOT_FOUND=71
E_CHANGED_MIND=72

if [ -z "$1" ] # No filename specified.
then
echo "Usage: `basename $0` filename"
exit $E_BADARGS
fi

file=$1

if [ ! -e "$file" ]
then
echo "File "$file" not found."
exit $E_NOT_FOUND
fi

echo; echo -n "Are you absolutely sure you want to blot out "$file" (y/n)? "
read answer
case "$answer" in
[nN]) echo "Changed your mind, huh?"
exit $E_CHANGED_MIND
;;
*) echo "Blotting out file "$file".";;
esac


flength=$(ls -l "$file" | awk '') # Field 5 is file length.
pass_count=1

chmod u+w "$file" # Allow overwriting/deleting the file.

echo

while [ "$pass_count" -le "$PASSES" ]
do
echo "Pass #$pass_count"
sync # Flush buffers.
dd if=/dev/urandom of=$file bs=$BLOCKSIZE count=$flength
# Fill with random bytes.
sync # Flush buffers again.
dd if=/dev/zero of=$file bs=$BLOCKSIZE count=$flength
# Fill with zeros.
sync # Flush buffers yet again.
let "pass_count += 1"
echo
done


rm -f $file # Finally, delete scrambled and shredded file.
sync # Flush buffers a final time.

echo "File "$file" blotted out and deleted."; echo


exit 0

f

#4 sin ganas de ofender.... pero es que eso mismo es lo que hace shred