Pull to refresh

Shred и безвозвратное удаление файлов

Configuring Linux *
Sandbox
В этой статье я расскажу, каким образом можно раз и навсегда удалить файлы с жёсткого диска в ОС Ubuntu. Итак, знакомьтесь — команда shred.

Не все знают, что удаляя файл посредством rm или через файловый менеджер, сам файл не удаляется, а затирается лишь его индекс и пространство, которое занимал файл, записывается системой как свободное для записи. Файл, как вы уже поняли, так и остался на своём месте и восстановить его оттуда не составит большого труда. Он пролежит там до тех пор, пока на его место вы не запишите другую информацию.

Shred случайными числами заполняет место, занятое файлом. И уже, даже восстановив ваш удалённый файл, его будет невозможно прочитать. По умолчанию shred не удаляет файл, для этого используется параметр --remove (-u).

shred -u /path/to/file

В shred заложен 25-тикратный цикл, то есть программа перезапишет файл случайным содержимым 25 раз. Чтобы изменить это значение, например на 35-тикратный:

shred -u -n 35 /path/to/file



Если ваша паранойя достигла ещё бОльшего уровня, то вам подойдут следующие советы.

Чтобы спрятать информацию о том, что вы зачищали файл, используйте параметр -z, добавляющий нули в конец файла — это сделает файл непохожим на зашифрованный. Если вам интересно наблюдать за процессом перезаписи, параметр -v (verbose) служит для подробного вывода информации прогресса.

shred -u -z /path/to/file

Если хотите удалить сразу несколько файлов, то укажите их в таком формате:

shred -u -z -n 30 /path/to/file1 /path/to/file2 /path/to/file3
или же можно использовать маску:
shred -u -z -n *.txt

Shred также может удалить содержимое всего жёсткого диска командой
shred /dev/sda

Естественно, время выполнения операций напрямую зависит от размера файла и скорости записи.

Единственным минусом я обнаружил то, что shred не умеет удалять каталоги. В этом нам на помощь приходит утилита wipe:
wipe -rf /path/to/catalog

Для более подробной информации используйте man shred и man wipe.



Если вы уже удалили файлы, и не хотите восстанавливать их и потом «правильно» удалять, ввиду их большого размера, то остаётся одно — перезаписать другой информацией. Информацией, ничего в себе не несущей. В этом вам придёт на помощь утилита dd

dd if=/dev/zero of=/path/to/file.trash bs=1M count=1024
где значением count является нужный вам размер файла. 1024 = 1Гб, 2048 = 2Гб и т.д.

После создания файла, удалите его уже посредством shred'а.
Tags:
Hubs:
Total votes 18: ↑11 and ↓7 +4
Views 57K
Comments Comments 18