Самый тщательный shred
метод, который я нашел, который также включает удаление каталогов, состоит в том, чтобы find
вызвать скрипт дляshred
:
Этот метод также правильно обрабатывает имена файлов с пробелами в них.
Сначала -скрипт shred
(я назвал свой dirShredder.sh
и сохранил его в каталоге /root
:
shred -v -n 1 "$1" #overwriting with random data
sync #forcing a sync of the buffers to the disk
shred -v -n 0 -z -u "$1" #overwriting with zeroes and remove the file
rm -rvf "$1" # call rm to remove the directories
Затем вызовите скрипт следующим образом:
find /volume1/pathToShred/ -mindepth 1 -depth -exec /root/dirShredder.sh "{}" \;
Обязательно пометьте killit.sh
исполняемый файл как(chmod +x
)и, конечно же, обновите путь к каталогу, который вы хотите уничтожить, и dirShredder.sh
, если вы храните его в другом месте.
NOTA BENE-shred
имеет проблемы с копированием -на -запись файловых систем (ZFS, BTRFS и др. )и даже с журналированием файловых систем. Не существует реального общепринятого «лучшего» способа справиться с этим, который я нашел, кроме «зашифрованных файловых систем», но я не уверен, насколько это эффективно после -факта -.
Самое близкое, что вы можете получить, это перезаписать все пустое пространство на диске случайными данными после того, как ваши операции измельчения (не будут нулями, кажется, это не всегда надежно. )Кроме того, у твердотельных накопителей могут быть и другие особенности (, такие как TRIM.)
Я не буду вдаваться в эти вопросы здесь, есть другие ответы Stack (Ответ @user unknown на этот вопрос, например )и множество дискуссий в сети, посвященных этим темам, так что поищите их, если хотите нужен такой уровень безопасности.
Каким-то образом повторного запуска следующего кода оказалось достаточно, чтобы решить проблему:-
$ sudo apt install tasksel
$ sudo tasksel install ubuntu-desktop
$ sudo reboot