Intereting Posts
Как я могу сделать перенос .muttrc переносимым на старые машины, несмотря на «неизвестную переменную», Git-cherry не игнорирует пробелы, как рекламируется «Lsmod | grep audio» ничего не возвращает? Некоторые буквы на gnome-terminal не могут быть введены конкретным пользователем Пользователь RBAC не может выполнить useradd в Solaris 10 Как отключить ускорение GPU в моем архиве? Простые USB-устройства automount с fstab: это нормальное поведение? Как сопоставить и заменить значение атрибута внутри тега cclive: какие регулярные выражения разрешены? как отслеживать рабочий процесс завершения работы на виртуальном сервере Как подавить сообщения о переполнении «У пакетов есть неудовлетворенные зависимости», но я больше не хочу устанавливать эти пакеты. Как его очистить? Что такое echo ' \ nlocalhost \ n'> / etc? ssh-keyscan не имеет выхода PCM не влияет на громкость звука с помощью ALSA

Что значит перезаписать файл, но сохранить его?

У инструмента wipe есть опция -k Keep files, ie do not remove() them after overwriting .

Что это значит не удалять файл, который был … хорошо … стерт?

Man-страница описывает -k так:

Сохранять файлы: не отменять связь файлов после их перезаписи. Полезно, если вы хотите стереть устройство, сохраняя специальный файл устройства. Это подразумевает -F .

Основным вариантом использования -k является

 wipe -k /dev/sda 

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

Если вы используете его для «стандартного» файла, он сотрет содержимое файла, но оставит сам файл (его имя и его присутствие в родительском каталоге) в одиночку.

Такие программы, как wipe и wipe , предназначенные для перезаписи файловых данных, работают с использованием тех же интерфейсов, что и любые другие программы. Они используют обычные функции ОС для записи, например, нhive в файл, и надеются, что файловая система хранит новые данные на тех же дисковых блоках, что и старые, и, следовательно, перезаписывает старые. У них нет специального метода уничтожения данных или обеспечения недоступности файла, кроме удаления их с помощью unlink() .

Следовательно, сохранение файла после его перезаписи – это то, что файл остается и не удаляется. Только содержание изменилось.

Пример с shred , который по умолчанию не отменяет связь с файлом:

 $ cat somefile some secret data $ shred somefile $ ls -l somefile -rw-r--r-- 1 username username 4096 Jun 27 19:28 somefile $ od -tx1 somefile |head -2 0000000 2b d7 fe 76 a0 4c 79 4e b6 bc 26 7d 6c b0 4e ed 0000020 81 a2 bf 3f ce af ce f0 07 2b fe 80 50 39 e3 c9 

После shred файл остается заполненным случайными байтами. Файл не обрезан и не удален. Его размер фактически увеличился, так как при перезаписи shred округляет размер файла (чтобы полностью перезаписать последний блок данных).

Конечно, мы можем удалить файл с помощью команды rm somefile .

Обратите внимание, что допущения, от которых зависит перезапись, могут даже не выполняться для всех файловых систем. По крайней мере, ведение журнала файловых данных (возможно на ext4) и файловых систем копирования при записи (btrfs) сделает перезапись неэффективной, по сути, сохраняя несколько копий данных.