Tengo un árbol de directorios que me gustaría destruir con la utilidad 'triturar' de Linux. Desafortunadamente, la trituración no tiene -R
opción para la trituración recursiva.
¿Cómo puedo triturar un árbol de directorios completo de forma recursiva?
security
rm
data-destruction
Steve V.
fuente
fuente
man shred
.srm
de la respuesta de @ Cookie al menos intentará evitar este problema).-exec shred {} +
para hacerlo más rápido ya que shred acepta múltiples argumentos.¡Cuidado con la trituración!
Desde la página de manual de trituración:
Solución: utilice un sistema de archivos cifrado y simplemente elimine sus archivos.
fuente
shred
como el cifrado de datos impiden leer los datos de un dispositivo de almacenamiento fuera de línea (piense en el robo o la policía) con el cifrado de datos que tiene el beneficio adicional de proteger todos los archivos, no solo los que se eliminan (correctamente). Una vez que se monta el sistema de archivos, volvemos a tener buenos permisos de Unix en cualquier caso y la protección de datos se convierte en una tarea de seguridad del sistema operativo y la administración adecuada del sistema nuevamente. ¡El cifrado inicial del sistema de archivos definitivamente no es peor para proteger los datos en reposo que el uso estratégico deshred
!Utilice la eliminación segura en su lugar.
Hecho. La eliminación segura es mucho más paranoica que la destrucción, utilizando 38 pases en lugar de 3. Para hacer un solo pase rápido, use
fll te da un generador de datos menos aleatorio, y solo una pasada.
fuente
find
métodos basados en propuestas que tratarán de borrar también los nombres de archivos almacenados cambiando el nombre de los archivos antes de truncarlos y desvincularlos.Combinando esta respuesta con las opciones más conocidas para triturar usando este enlace de desbordamiento de pila ' Eliminar archivos de forma permanente y segura en CentOS ':
Editar: Tenga en cuenta que la mejor respuesta para destruir un solo archivo fuerza una sincronización que escribe los cambios en los medios antes de eliminar el archivo porque algunos o todos los sistemas de archivos registrados tienen un búfer.
Si es posible, el comando find debería llamar a un script de shell en el archivo que se ejecuta:
en cada archivo
fuente
rm -rvf $1
al script de shell (donde $ 1 es el / path / to / your / file pasado de la{}
expansión en elfind... -exec
)depth
aqui Tampocofuente
Esto realiza una búsqueda profunda de los archivos en el directorio [dirname], luego ejecuta el
shred -n1
comando en cada archivo. Al eliminar archivos y / o directorios, agregar de-depth
forma predeterminada es un buen hábito, aunque no es estrictamente necesario para este caso. Cuando se ejecuta este tipo de comando con enrm -rf
lugar deshred
,-depth
es necesario para garantizar que los directorios no se eliminen antes de que se intente eliminar el contenido de los directorios (lo que provoca errores).fuente
shred -N 1
, porque el valor predeterminado, triturar 3 veces, es el aceite de serpiente. Una vez es suficiente o 30 veces no funcionará.El
shred
método más completo que he encontrado, que también incluye la eliminación de directorios, esfind
llamar a un script para que tengashred
:Este método también maneja correctamente los nombres de archivo con espacios en ellos.
Primero: el
shred
script (he nombrado el míodirShredder.sh
y lo he almacenado en el/root
directorio:Luego, llame al script de esta manera:
Asegúrese de marcar el
killit.sh
archivo ejecutable (chmod +x
) y, por supuesto, actualice la ruta del directorio que desea destruir ydirShredder.sh
si lo almacena en otro lugar.NOTA BENE:
shred
tiene problemas en los sistemas de archivos de Copia en escritura (ZFS, BTRFS, et al) e incluso en los sistemas de archivos de Journaling. No hay una "mejor" forma aceptada real de lidiar con esto que he encontrado que no sean "sistemas de archivos cifrados", pero no estoy seguro de cuán efectivo es esto después del hecho.Lo más cercano que parece que puede obtener es sobrescribir todo el espacio vacío en la unidad con datos aleatorios después de sus operaciones de trituración (no ceros, parece que esto no siempre es confiable). Además, los SSD también pueden tener otras consideraciones (como TRIM).
No voy a entrar en eso aquí, hay otras respuestas de Stack (la respuesta de @user unknown en esta pregunta, por ejemplo) y muchas discusiones en la red que cubren estos temas, así que búsquelas si necesita ese nivel de seguridad.
fuente