Мне нужно безопасно удалить некоторые файлы. Я использовал shred
в системах Linux раньше, поэтому я посмотрел вокруг и обнаружил, что shred
это часть coreutils
пакета в macports. Я сделал port install coreutils
для установки coreutils, но я все еще не могу найти shred
в командной строке.
Как я могу получить shred
работу в командной строке моего Mac? Если это имеет значение, я использую Mac OS X 10.7.5 (Lion)
macos
macports
secure-erase
inspectorG4dget
источник
источник
shred
зависит от используемой файловой системы, я не знаю, насколько она эффективна на HFS.Ответы:
port install coreutils
добавляет префикс ag к именам двоичных файлов, так что shred есть/opt/local/bin/gshred
.источник
brew install coreutils
делаетgshred
доступным для тех, кто использует Homebrew.OSX имеет встроенную команду
srm
для безопасного удаления файлов. См. Https://developer.apple.com/legacy/library/documentation/Darwin/Reference/ManPages/man1/srm.1.html . Вы также можете использоватьrm -P
для перезаписи файлов с последовательностями байтов три раза.В sierra или более поздних версиях macOS больше не включает srm. Но пользователи могут установить его с помощью homebrew:
источник
srm
команда существует. Он перезаписывает, переименовывает и усекает файл перед его удалением. Это, а также 7 проходов, совместимых с DoD США (0xF6, 0x00, 0xFF, random, 0x00, 0xFF, random) (опция -m) гарантируют, что файл не будет восстановлен.srm
больше не входит.srm
с помощью команды brewbrew install homebrew/dupes/srm
.homebrew/dupes
сейчас устарела. Кажется, чтоsrm
было удалено и не перенесено вhomebrew-core
.@ user495470 ответ правильный для поставленного вопроса. Проблема не в том
srm
илиshred
не имеет смысла для современных систем.В основном это связано с твердотельными накопителями. В отличие от магнитных дисков современные диски с поддержкой TRIM автоматически удаляют удаленные данные в фоновом режиме.
SSD также выполняют выравнивание износа. Это делает попытки «перезаписать» файл как бесполезным (вы будете записывать в другое физическое место), так и нежелательным (это излишне способствует износу диска).
На всех компьютерах Mac, оснащенных твердотельными накопителями, включена функция TRIM.
Другая проблема - файловая система, а именно файловые системы с журналированием, которые могут хранить копию данных в другом месте до их записи.
Даже на магнитных носителях это может вызвать проблемы для обоих
srm
:И
shred
:Тома HFS Plus записываются в журнал по умолчанию начиная с Mac OS X v10.3.
В наши дни лучший способ надежно «удалить» файлы - это включить FileVault (чтобы они никогда не записывали диск в незашифрованном виде), а затем просто удалить их и позволить TRIM разобраться с этим.
Если по стечению обстоятельств вы находитесь на магнитном носителе, отключили ведение журнала и по какой-то причине не можете зашифровать диск, вы можете выбрать следующие варианты:
rm -P
который перезаписывает файлы с0xff
, затем0x00
, а затем0xff
сноваcoreutils
дляgshred
(т.е.brew install coreutils && gshred secrets.txt
)srm
был удален изhomebrew-dupes
и ,homebrew-core
но кто - то опубликовал кран здесь , что работает (то есть.brew install khell/homebrew-srm/srm && srm secrets.txt
)источник
shred /dev/hda
? Да, я так думаю. Блоки, адресуемые ОС, по-прежнему абстрагированы от физической памяти и потенциально могут быть переназначены во время уничтожения. Интересно, может ли реализация выравнивания износа и резервное пространство стать причиной того, что это не всегда будет работать ..