1 votos

¿Cómo puedo hacer que rm elimine elementos de forma segura en macOS?

Según la página de manual de rm rm -P ... sobrescribe los elementos tres veces para eliminarlos de forma segura:

-P Sobrescribir archivos normales antes de borrarlos. Los archivos son
sobrescrito tres veces, primero con el patrón de bytes 0xff,
luego 0x00, y luego 0xff otra vez, antes de que se borren.

¿Es posible eliminar elementos de forma segura con una sola pasada con rm ... ?

Notas:

  • No quiero usar srm ¡! Sólo necesito rm, por favor.
  • Utilizo un MacBook con un disco duro y MacOS 10.13.

1 votos

¿Por qué no desea utilizar srm ? Para eso está diseñado.

2voto

Jose Chavez Puntos 645

No, eso no es posible con el comando rm estándar.

Puedes descargar el código fuente de rm (rm.c) de opensource.apple.com y editar la función rm_overwrite() para que sólo haga una pasada.

O puedes usar un programa alternativo que sobrescriba el archivo, y después usar rm para borrarlo. Tal programa alternativo podría ser simplemente usar cat o dd para copiar bytes de /dev/urandom o /dev/null sobre el fichero.

2voto

Douglas Puntos 10417

No puedes tener rm hacer algo que no tiene la capacidad de hacer. Por otro lado srm se diseñó expresamente para este fin. Entonces, ¿cómo se consigue rm hacer algo que srm hace fuera de la caja?

Crear un alias

Si desea "utilizar" (el comando; no el programa en sí) rm para hacer una sola pasada, utilice un alias . Para ello, deberá disponer de srm instalado en su sistema (disponible en MacPorts ).

$ alias rm="srm -s"

Ahora, cada vez que emita el comando rm en realidad estará llamando a srm con el -s para "sobrescritura de una sola pasada".

Ejemplo de uso: Suponga que tiene un directorio llamado foo con un número de archivos que desea eliminar. Emita el comando

$ rm -rf foo

y lo que en realidad ser ejecutado es:

$ srm -s -rf foo

Hacer permanente el alias

Edita tu ~/.bash_profile y añada la entrada de alias. Reinicie su sesión bash y el "one pass rm comando" estará ahora disponible.

1 votos

¿No está disponible srm en la instalación por defecto de High Sierra? En 10.9-10.11 está...

2 votos

Srm no está en 10.12

0voto

AisIceEyes Puntos 8

Como se menciona en esta respuesta la sobrescritura de archivos ya no es una forma adecuada de garantizar que los archivos se eliminan de forma segura en máquinas con unidades SSD, ya que la forma en que se almacenan/eliminan los archivos en ellas es diferente debido a los sistemas subyacentes que proporcionan nivelación de desgaste, eficiencia, etc. Además, los sistemas de archivos con registro diario pueden complicar las cosas.

Lo mejor es utilizar FileVault de Apple para que los archivos eliminados sólo persistan potencialmente como fragmentos cifrados.

Si utilizas otro tipo de unidades, la sobrescritura puede ayudarte a garantizar que los archivos se eliminan correctamente. En cuyo caso está GNU's gshred que puede instalarse como parte del GNU coreutils por ejemplo, mediante brew:

brew install coreutils

En gshred permite controlar el número de sobrescrituras mediante la función -n arg y también permite controlar cómo se produce el borrado mediante la función --remove arg. Así que para sobrescribir sólo una vez y unlink el uso del archivo:

gshred -n 1 --remove=unlink file_to_overwrite_and_delete

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X