2.10 Безопасное удаление файлов

Удаление файлов и каталогов с помощью команд rm и rmdir не гарантирует того, что удаленные объекты не могут быть восстановлены. Для безопасного гарантированного удаления файлов и каталогов без возможности восстановления необходимо использовать утилиты shred и wipe.

Shred – переписывает несколько раз указанные файлы для того, чтобы сделать более сложным восстановление

Синтаксис:

shred [КЛЮЧ]… ФАЙЛ…

Ключи:

-f, –force – изменять права, разрешая запись, если необходимо,

-n, –iterations=N – переписать N раз вместо (3) по умолчанию,

–random-source=ФАЙЛ  получать случайные числа из ФАЙЛА (по умолчанию /dev/urandom),

-s, –size=N – очистить N байт (возможны суффиксы вида K, M, G),

-u – обрезать и удалять файл после перезаписи,

–remove[=КАК]  – подобно -u, но задаётся КАК удалять,

-v, –verbose – показывать ход выполнения,

-x, –exact – не округлять размеры файлов до следующего целого блока,

-z, –zero – перезаписать в конце нулями, чтобы скрыть измельчение,

–help – показать справку и выйти,

–version  показать информацию о версии и выйти.

wipe — это небольшая программа для безопасного стирания файлов с магнитных носителей.

Синтаксис:

wipe [опции] файлы...

Опции:
-a прервать при ошибке,

-b <buffer-size-lg2> Установить размер индивидуального буфера ввода/вывода указав его логарифм по основанию 2. Могут быть выделены до 30 этих буферов,

-c Делать chmod() на защищённых от записи файлах,

-D Следовать символическим ссылкам (конфликтует с -r),

-e Использовать точный размер файла: не округлять размер файла для стирания возможного мусора, остающегося на последнем блоке,

-f Форсировать, т. е. не спрашивать подтверждения,

-F Не пытаться стирать имена файлов,

-h Показать справку,

-i Информативный (вербальный) режим,

-k Сохранить файлы, т. е. не удалять их после перезаписи,

-l <длина> Установить длину стирания на <длину> байтов, где <длина> это целое число, за которым следует K (Kilo:1024), M (Mega:K^2) или G (Giga:K^3),

-M (l|r) Установить алгоритм PRNG для заполнения блоков (и порядка проходов):
l Использовать вызов библиотеки random(),
a Использовать алгоритм шифрования arcfour,

-o <сдвиг> Установить сдвиг очистки на <сдвиг>, где <сдвиг> имеет тот же формат, что и <длина>,

-P <проходы> Установить количество проходов для очистки имени файла. По умолчанию это 1.

-Q <количество> установить количество проходов для быстрой очистки,

-q Быстрая очистка, менее безопасная, 4 по умолчанию четыре случайных прохода,

-r Рекурсия по каталогам — по символическим ссылкам не будет переходов,

-R Установить устройство рандомизации (или команду сидов рандомизации -S c),

-S (r|c|p) Метод рандомизации сидов:

r Считывать с устройства рандомизации (надёжно),

c Считывать из вывода команды рандомизации сидов,

p Использовать pid(), clock() и т.д. (самый слабый вариант),

-s Тихий режим — подавлять весь вывод,

-T <попытки> Установить максимальное число попыток для свободного поиска имени файла; по умолчанию это 10,

-v Показать информацию о версии,

-Z Не пытаться стирать имя файла,

-X <число> Пропустить это число проходов (полезно для продолжения операции очистки),

-x <pass1,pass2,…> Задать очередь проходов.

Также для безопасного удаления данных можно использовать утилиты пакета secure-delete: srm, sfill, sswap, которые безопасно очищают файлы, диски, раздел подкачки и память.
srm выполняет безопасную перезапись/переименование/удаление целевого файла(ов).

sfill выполняет безопасную перезапись свободного пространства на разделе, в котором находится указанная директория и всех свободных индексных дескрипторов (inode) указанного каталога.
sswap делает безопасную перезапись раздела подкачки.

Синтаксис:

srm [-dflrvz] файл1 файл2 и т.д.

Опции:

-d  игнорировать специальные файлы “.” и “..”.

-f  быстрый (и небезопасный режим): без /dev/urandom, без режима синхронизации.

-l  снижение уровня безопасности (используйте дважды для включения небезопасного режима).

-r  рекурсивный режим, удаляет все поддиректории.

-v  вербальный режим.

-z  последний проход заполняет нулями вместо рандомных данных.

Синтаксис:

sfill [-fiIlvz] директория

Опции:

-f  быстрый (и небезопасный режим): без /dev/urandom, без режима синхронизации.

-i  стирает только индексные дескрипторы в указанной директории.

-I  стирает только пространство, без индексных дескрипторов.

-l  снижение уровня безопасности (используйте дважды для включения небезопасного режима).

-v  вербальный режим.

-z  последний проход заполняет нулями вместо рандомных данных.

Синтаксис:

sswap [-flvz] [-j start] /dev/of_swap_device

Опции:

-f  быстрый (и небезопасный режим): без /dev/urandom, без режима синхронизации.

-j  при очистке перепрыгнуть через это количество первых байт. (по умолчанию: 4096)

-l  снижение уровня безопасности (используйте дважды для включения небезопасного режима).

-v  вербальный режим.

-z  последний проход заполняет нулями вместо рандомных данных.

Если вы нашли ошибку, выделите текст и нажмите Ctrl+Enter.