41

Мне нужно безопасно удалить некоторые файлы. Раньше я использовал shred в системах linux, поэтому огляделся и обнаружил, что shred является частью пакета coreutils в macports. Я port install coreutils для установки coreutils, но я все еще не могу найти shred в командной строке.

Как я могу получить shred для работы в командной строке моего Mac? Если это имеет значение, я использую Mac OS X 10.7.5 (Lion)

3 ответа3

56

OSX имеет встроенную команду srm для безопасного удаления файлов. См. Https://developer.apple.com/legacy/library/documentation/Darwin/Reference/ManPages/man1/srm.1.html. Вы также можете использовать rm -P чтобы перезаписать файлы последовательностями байтов три раза.

В sierra или более поздних версиях macOS больше не включает srm. Но пользователи могут установить его с помощью homebrew:

brew install homebrew/dupes/srm && brew link --force homebrew/dupes/srm
26

port install coreutils добавляет префикс ag к именам двоичных файлов, поэтому shred - это /opt/local/bin/gshred .

16

@ user495470 ответ правильный для поставленного вопроса. Проблема не в том, что srm или shred действительно имеют смысл для современных систем.

В основном это связано с твердотельными накопителями. В отличие от магнитных дисков современные диски с поддержкой TRIM автоматически очищают удаленные данные в фоновом режиме.

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

На всех компьютерах Mac, оснащенных твердотельными накопителями, включена функция TRIM.

Другая проблема - файловая система, а именно файловые системы с журналированием, которые могут хранить копию данных в другом месте до их записи.

Даже на магнитных носителях это может вызвать проблемы как для srm:

Все пользователи [..] должны знать, что srm будет работать только в тех файловых системах, которые перезаписывают блоки на месте. В частности, он НЕ будет работать на [...] подавляющем большинстве журнальных файловых систем.

И shred:

[..] Шред полагается на очень важное предположение: файловая система перезаписывает данные на месте. [..] многие современные конструкции файловых систем не удовлетворяют этому предположению. Исключения включают: файловые системы с лог-структурой или журналами [..]

Тома HFS Plus регистрируются по умолчанию начиная с Mac OS X v10.3.

В наши дни лучший способ надежно "удалить" файлы - это включить FileVault (чтобы они никогда не записывали диск в незашифрованном виде), а затем просто удалить их и позволить TRIM разобраться с этим.

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .