8 Maneras Simples de Eliminar Archivos de Forma Segura en Linux

Una mujer sosteniéndose la cabeza mientras mira la pantalla de un portátil.

Hemos visto cómo borrar completamente el contenido de tu disco duro, pero ¿qué pasa si todo lo que quieres es eliminar permanentemente uno, dos o una docena de archivos? Esta guía te muestra algunas de las soluciones más populares para la eliminación completa de archivos en Linux.

Tabla de Contenidos

    1. Omitir la Papelera
    1. Usando shred
    1. Usando dd en Archivos Individuales
    1. Usando wipe
    1. Usando Secure Delete
    1. La forma GUI: Usando Bleachbit
  • Preguntas Frecuentes

Nota: La mayoría de los discos de estado sólido en el mercado hoy en día soportan TRIM para gestionar su espacio libre, una característica en su firmware que reubica su contenido. Combinado con los sistemas de archivos con journaling en Linux, como Ext3/4 y Reiser FS, la eliminación más allá de la recuperación de archivos individuales no puede ser garantizada. La única solución en esos casos es, desafortunadamente, un borrado completo de todos los contenidos en un SSD.

1. Omitir la Papelera

Cuando eliminas un archivo, se mueve a la Papelera (también conocida como Papelera de reciclaje). Si lo deseas, puedes omitir la carpeta de la Papelera. De esta manera, tus archivos eliminados no permanecerán en la papelera y serán marcados como completamente eliminados. Aunque todavía es recuperable, es un paso adelante respecto a tenerlos accesibles (en la Papelera).

Consejo: si aún prefieres enviar tus archivos a la Papelera, puedes hacer que el sistema vacíe automáticamente tu Papelera de forma regular.

Una ventana de Dolphin mostrando el contenido de un directorio personal.

Para eliminar archivos en una distribución de Linux como Kubuntu con KDE, ejecuta su administrador de archivos predeterminado, Dolphin. Haz clic en “Menú -> Configurar -> Configurar Dolphin -> Papelera” para llegar a las preferencias relacionadas. No hay una opción para desactivar completamente la Papelera, pero puedes usar un truco ingenioso que cubre la mayoría de las bases: habilita el límite de tamaño y redúcelo al valor más pequeño.

Una ventana mostrando la configuración de cuota de la Papelera de Dolphin.

En nuestro disco, esto se tradujo en 10.97 MiB. Dolphin borrará el contenido de la Papelera cuando supere ese valor, y eso probablemente sucederá cada dos horas con un uso típico de escritorio. Otros administradores de archivos como Nautilus o Nemo tienen opciones para que puedas omitir completamente la Papelera.

Una ventana de nemo mostrando la configuración adicional de la Papelera para el sistema.

Pros

  • Fácil de hacer
  • Te da un período de gracia antes de eliminar archivos permanentemente

Contras

  • No elimina ningún metadato persistente en el disco
  • No limpia datos de los archivos

2. Usando shred

Si estás ejecutando alguna variante de Ubuntu, shred probablemente ya sea parte de ella. Puedes comenzar a usarlo de inmediato para eliminar completamente cualquier archivo sensible en Linux que desees enviar al olvido.

Si deseas eliminar permanentemente “image.png”, usa:

shred -uvz -n 4 image.png
  • u le dice a shred que elimine el archivo antes de sobrescribirlo.
  • v muestra información detallada.
  • z llena el espacio que ocupaba el dato con ceros para reducir aún más cualquier posibilidad de recuperación.
  • -n 4 se traduce en cinco pasadas de eliminación: shred hace una pasada por defecto, y con “-n”, puedes especificar cuántas pasadas adicionales requieres para mayor seguridad. El consenso general es que cinco pasadas deberían ser más que suficientes para la mayoría de las personas.

Una ventana de terminal mostrando un comando de shred de 5 pasadas.

Para eliminar múltiples archivos o el contenido de una carpeta, usa comodines como:

shred -uvz -n 1 Pictures/images_0?.jpg  
shred -uvz -n 4 Pictures/*.*

En el primer caso, “?” sería un comodín para un solo carácter, y shred eliminaría archivos llamados “images_01.jpg” e “images_02.jpg”, por ejemplo.

En el segundo caso, shred eliminaría todos los archivos en el directorio “Pictures”, sin importar su nombre o tipo.

Pros

  • Eliminará a fondo un solo archivo
  • Puede hacer coincidencias glob para cubrir múltiples archivos

Contras

  • Algunas de las opciones son poco claras
  • Tomará mucho tiempo terminar

Consejo: aprende cómo funcionan los comodines probando expresiones regulares en tu máquina.

3. Usando dd en Archivos Individuales

El programa Data Definition (dd) es otra utilidad que se encuentra en casi todas las distribuciones de Linux hoy en día. Sin embargo, a diferencia de shred, una de las mayores ventajas de dd es que te permite ajustar cómo eliminas tus archivos en Linux.

Para usar dd, necesitas conocer el tamaño exacto de tu archivo en bytes:

ls -l /path/to/your/file | awk '{print $5}'

Una ventana de terminal mostrando el tamaño en bytes del archivo.

Puedes ejecutar dd sobre tu archivo existente. Por ejemplo, este comando llenará tu archivo con caracteres nulos:

dd status=progress bs=your_file_size count=1 if=/dev/zero of=/path/to/your/file

Una ventana de terminal mostrando dd en acción.

Además de llenar tu archivo con caracteres nulos, también puedes forzar a dd a borrar tu archivo con datos pseudo-aleatorios:

dd status=progress bs=your_file_size count=1 if=/dev/urandom of=/path/to/your/file

Una ventana de terminal mostrando dd alimentando datos aleatorios.

Ahora puedes eliminar tu archivo usando el comando rm regular:

rm /path/to/your/file

Pros

  • Versátil – puede hacer más que eliminar archivos
  • Puede ajustar la eliminación de archivos

Contras

  • La sintaxis es anticuada, incluso para un programa de línea de comandos
  • Requiere un buen entendimiento de los tamaños de bloque

Bueno saber: si te arrepientes de eliminar un archivo en particular, aprende cómo recuperar archivos eliminados en Linux.

4. Usando wipe

Wipe es otra excelente alternativa. Búscalo en el centro de software de tu distribución e instálalo desde allí o usa:

sudo apt install wipe

Una ventana de terminal mostrando la información sobre wipe.

Su uso es casi tan simple como el de shred, si no más. Para eliminar archivos en Linux usando wipe, ejecuta:

wipe Pictures/deleteme.png

Esto puede volverse molesto, ya que, por defecto, wipe utiliza demasiadas pasadas que consumen tiempo para mayor seguridad. Además, solicitará confirmación para la eliminación.

Una ventana de terminal mostrando una sesión básica de wipe.

Usa la opción f para deshacerte de la confirmación y r para recorrer subdirectorios. c le dice a wipe que cambie los permisos si es necesario (cuando un archivo o directorio no tiene permisos de escritura establecidos), y q te permite reducir el número de pasadas para una eliminación más rápida. Al usar q, nota que es minúscula. Puede ser seguida por una “Q” mayúscula que especifica el número de pasadas que exiges. Por ejemplo, el comando previamente simple, con esos ajustes aplicados, cambiaría a:

wipe -rfcq -Q 5 Pictures/deleteme.png

Pros

  • Fácil de usar, incluso con poca experiencia en línea de comandos
  • Parámetros predeterminados sensatos y seguros

Contras

  • Los parámetros predeterminados podrían ser demasiado estrictos para la mayoría de los usuarios
  • Puede no funcionar bien con journaling activo

5. Usando Secure Delete

SRM es una de las herramientas en la suite Secure Delete que se especializa en la eliminación segura de datos de tu HDD. Muchos la consideran la mejor herramienta para este trabajo.

Para instalar la suite completa de Secure Delete en Ubuntu y distribuciones compatibles, usa:

sudo apt install secure-delete

Una ventana de terminal mostrando la instalación de secure-delete.

Después, puedes eliminar cualquier archivo con:

srm Pictures/deleteme.png

Una ventana de terminal mostrando el proceso de eliminación segura.

Probablemente querrás usar la opción z que sobrescribe el contenido de tu archivo con ceros para mayor seguridad y v para obtener información detallada sobre el proceso. Si tratas con directorios y subdirectorios, también incluye la opción r para el modo recursivo. Si las 38 reescrituras son demasiado para ti, puedes disminuir el tiempo requerido – así como la seguridad – utilizando la opción l para reducir el número de pasadas a “solo” dos. Esto convertiría el comando anterior en:

srm -rlvz Pictures/deleteme.png

Pros

  • Las opciones son simples de entender e intuitivas
  • Eliminar un archivo es altamente seguro y exhaustivo

Contras

  • Tomará mucho tiempo terminar
  • No funciona bien en sistemas que utilizan RAID

6. Eliminar Archivos en Linux con Perl

Además de usar herramientas, también puedes aprovechar lenguajes de programación simples, como Perl, para eliminar archivos en Linux. Por ejemplo, la siguiente línea de código reemplazará el contenido de tu archivo con el carácter “0:”:

perl -i -pe 's/[^*]/0/g' /path/to/your/file
  • La opción -i le dice a Perl que procese el archivo que proporcionaste en el comando.
  • La opción -pe le dice al programa que cree un bucle iterativo para el contenido de tu archivo.
  • 's/[^*]/0/g' es un comando de sustitución. El operador [^*] coincide con cada byte dentro del archivo, y el 0 reemplazará cada byte.

Una ventana de terminal mostrando Perl borrando un archivo.

Una vez hecho, puedes eliminar tu archivo modificado usando rm:

rm /path/to/your/file

Pros

  • No necesitas aprender una nueva sintaxis si conoces Perl
  • Usa abstracciones familiares como la sustitución de sed

Contras

  • El comando solo hará una pasada en un archivo
  • Reemplazar contenidos con datos arbitrarios puede ser inseguro

Bueno saber: puedes entender más sobre sustituciones y flujos de archivos usando sed para tareas básicas del sistema.

7. La forma GUI: Usando Bleachbit

Si tienes aversión a la línea de comandos, Bleachbit es una de las mejores soluciones para borrar de forma segura tus datos. (Bleachbit es más conocido por su capacidad para limpiar tu sistema Linux). Por defecto, la herramienta se especializa en descubrir y eliminar “archivos redundantes” que siguen ocupando espacio mucho después de que los has necesitado. Pero también incorpora la habilidad generalmente olvidada de “triturar” manualmente cualquier archivo más allá de la recuperación.

Una ventana de Discover para Bleachbit.

Instálalo en tu distribución compatible con Ubuntu a través de su centro de software o usando:

sudo apt install bleachbit

Haz clic en “Menú -> Preferencias” y habilita la opción “Sobrescribir el contenido de los archivos para prevenir la recuperación” para mayor seguridad.

Una ventana de Bleachbit mostrando eliminación segura.

Regresa a su interfaz principal, haz clic en “Menú -> Triturar Archivos”, y desde la solicitud que aparece, elige los archivos que deseas enviar a la nada. Haz clic en “Eliminar” y asegúrate de que Bleachbit sepa que estás seguro de lo que intentas hacer.

Siempre debes tener en cuenta que el uso de sistemas de archivos con journaling y el hecho de que no sabemos cómo cada firmware de HDD “gestiona” su contenido significa que la mejor solución es borrar todo el HDD – o mejor aún, destruir físicamente el dispositivo.

Pros

  • Fácil de usar
  • Puedes configurarlo para que sea seguro por defecto

Contras

  • No puede hacer borrados de disco
  • No borrará el espacio libre

8. Borrando Espacio Libre con dd

Si bien la eliminación segura hará que un archivo sea más difícil de recuperar, aún es posible reconstruirlo utilizando metadatos en tu disco. Soluciona este problema borrando todo el espacio libre disponible en tu máquina.

La forma más fácil de hacer esto en Linux es usando dd para crear un archivo que llenará todo tu disco duro:

dd status=progress if=/dev/zero of=/home/$USER/wipefree

Una ventana de terminal mostrando el comando dd para borrar espacio libre.

Una vez hecho, necesitas decirle a tu sistema que comprometa tu archivo de “espacio libre” en el disco:

sync

Por último, elimina tu archivo de “espacio libre” usando rm:

rm /home/$USER/wipefree

Eliminar Archivos de Forma Segura en Linux 18 Borrar Archivo de Espacio Libre

Pros

  • Comando simple que no eliminará archivos
  • Limpia todos los metadatos persistentes

Contras

  • Toma mucho tiempo terminar
  • No elimina archivos directamente

Consejo: para evitar ver el mensaje “no hay suficiente espacio de almacenamiento”, revisa y gestiona regularmente tu espacio en disco.

Preguntas Frecuentes

¿Es posible eliminar de forma segura archivos remotos en Linux?

Si bien es posible eliminar de forma segura archivos remotos, no hay garantía de que un sistema Linux remoto no haga copias de seguridad de los archivos dentro de sus discos. Es mejor asumir que cada disco y sistema remoto no es seguro.

¿Mis archivos están completamente eliminados después de que los elimino de forma segura en Linux?

Aún es posible que tu sistema retenga algunos metadatos de tu antiguo archivo. Por ejemplo, tu partición de intercambio puede contener información sobre una eliminación segura en tu sistema.

Mitiga esto reiniciando y creando nuevos archivos en tu disco.

¿Son mejores más pasadas al eliminar archivos?

No necesariamente. En la mayoría de los casos, cinco pasadas deberían prevenir que cualquier herramienta de recuperación de datos recree tu archivo. Es posible recuperar un archivo más allá de cinco pasadas, pero requiere herramientas y programas altamente especializados para funcionar.

Crédito de la imagen: Unsplash. Todas las alteraciones y capturas de pantalla por Ramces Red.