¿Cómo borrar de forma segura el espacio libre usando la terminal?

Un amigo me dijo que cuando elimina un archivo en su Mac de la manera normal , en realidad permanece donde está, pero su Mac ya no puede usarlo . La adición de más archivos a su Mac hace que sobrescriban el espacio ocupado por esos archivos inutilizables que eliminó anteriormente.

Si esto es cierto, entonces estoy pensando que si su Mac cayó en las manos equivocadas , esa(s) persona(s) podría(n) recuperar archivos que haya eliminado anteriormente (lo que podría ser potencialmente dañino).

Por lo tanto, ¿cómo los elimina de forma segura primero para evitar tal catástrofe potencial (preferiblemente usando el comando Terminal)?

¿Tienes un SSD o un disco duro?
@Marcar disco duro
Alternativamente, puede habilitar FileVault 2 en su disco, lo que hace que sea significativamente más difícil para el atacante casual recuperar archivos eliminados.
☑︎ Vaciar la papelera de forma segura en las Preferencias del Finder evitará que vuelvas a la Terminal.

Respuestas (3)

Desde la aplicación Terminal puede usar el programa srm(eliminación segura). Simplemente inicie Terminal, luego escriba:

srm <filename>

Para obtener más información, eche un vistazo a la página del manual . Extracto:

srm elimina cada archivo especificado sobrescribiéndolo, renombrándolo y truncándolo antes de desvincularlo. Esto evita que otras personas recuperen o recuperen cualquier información sobre el archivo desde la línea de comandos.

srmutiliza el algoritmo de Gutmann de 35 pasos por defecto. Puede utilizarlo -spara una sola pasada de datos aleatorios (lo que debería ser lo suficientemente seguro en la práctica) o -mpara 7 pasadas de datos.
El autor de la pregunta notó que tenía un disco duro en los comentarios, pero se debe agregar que srmprobablemente no sea adecuado para el uso de SSD. La reescritura en un SSD generalmente da como resultado que los datos antiguos se "oculten" y se escriba un nuevo sector y se mueva a su lugar. Eventualmente, puede reaparecer y reescribirse con nuevos datos, pero dependiendo de los recursos de su atacante, puede que no sea suficiente.
srmestá bien para HD y SSD. Promuevo la respuesta de @Lauri por 2 razones. El paso 35 era necesario para discos antiguos y en una situación en la que la recuperación se inicia inmediatamente después del borrado. En la vida real, después de una sola pasada pasan 2 cosas. El sistema operativo sobrescribe el espacio liberado y borrado. Nadie puede recuperar dónde estaban los datos borrados, porque hay un área borrada en toda la superficie del disco y nada se parece más a un área borrada que la siguiente.
srm parece no ser una buena opción para SSD.

Si tiene un HDD, también puede borrar el espacio libre desde la Utilidad de disco:

Si tiene un SSD, no es posible borrar el espacio libre de Disk Utility en 10.7 y versiones posteriores. Consulte http://support.apple.com/kb/HT3680 :

Nota: Con OS X Lion y una unidad SSD, Secure Erase y Erasing Free Space no están disponibles en Disk Utility. Estas opciones no son necesarias para una unidad SSD porque un borrado estándar dificulta la recuperación de datos de una SSD. Para mayor seguridad, considere activar el cifrado FileVault 2 cuando comience a usar la unidad SSD.

Sin embargo , no sé si es posible usar una aplicación como Data Rescue para recuperar archivos de un SSD. diskutil secureErase freespacetambién se puede usar con un SSD, pero no sé si hace que los archivos sean más difíciles de recuperar.

Los SSD y los discos duros son totalmente diferentes aquí. Los datos de los SSD se pueden recuperar ya que no se sobrescriben, solo se mueven los punteros, pero creo que debe pasar por otro controlador que no sea el estándar
Los SSD de @Mark "evaporan" sus datos a su antojo. Eliminarán permanentemente los datos cuando lo consideren oportuno.

Puede consultar esta página para ver los pasos para eliminar el espacio libre del disco duro de forma segura.

PD: los comandos mencionados en esa página solo borrarán el espacio libre disponible. NO borrará el contenido de su disco duro. Solo debe ejecutar comandos como estos en unidades que estén en buen estado. Ejecutar un comando como este en una unidad más antigua o en mal estado puede causar más daños a una unidad defectuosa.

¿Puede describir qué hacer y no solo dar un enlace?