ByEase Software

Как безопасно удалить файлы на Mac (и почему большинство советов устарело)

Apple убрала «Очистить Корзину необратимо», а флаг rm -P на современной macOS не делает ничего. Что действительно стирает файл на SSD, что работает на внешних дисках и что делать вместо этого.

Очистка Корзины файл не удаляет. Она убирает запись, которая на него указывает, и помечает место как пригодное для повторного использования. Пока это место чем-нибудь не перезапишут, содержимое остаётся на диске — и его найдёт любая из десятка бесплатных программ восстановления.

Большинство советов о том, как это решить на Mac, отстали на несколько версий системы. Поэтому сначала две поправки — именно эти два совета повторяют чаще всего.

Два совета, которые больше не работают

«Используйте „Очистить Корзину необратимо“». Apple убрала эту функцию в OS X 10.11 El Capitan в 2015 году. Не потому, что она была лишней, — а потому, что Apple перестала мочь гарантировать её работу на SSD, ставших к тому времени стандартом. Пункта меню больше нет, включать нечего.

«Перезапишите файл через rm -P». Спросите собственный Mac, что делает этот флаг:

man rm

Найдите -P:

-P      This flag has no effect.  It is kept only for backwards
        compatibility with 4.4BSD-Lite2.

Он не делает ничего. Инструкции до сих пор его советуют. Родственная команда srm из macOS удалена полностью — which srm не вернёт ничего.

Почему перезапись перестала быть надёжной

На пластинном диске логический блок соответствует конкретному месту на пластине. Перезаписали его нулями — старых данных нет.

SSD работают иначе. Контроллер выравнивает износ: когда вы пишете в «место», он обычно пишет в свежую физическую ячейку и переставляет указатель, а исходная ячейка продолжает держать ваши старые данные, пока до неё не доберётся сборка мусора — которую операционная система не может ни принудить, ни увидеть. Многопроходная перезапись файла на внутреннем SSD поэтому может оставить несколько копий нетронутыми в ячейках, к которым вы не можете обратиться.

Именно поэтому Apple функцию убрала, а не починила.

Что действительно защищает данные на современном Mac

Шифрование всего диска, включённое до того, как появилось что скрывать. При включённом FileVault всё на внутреннем диске зашифровано в состоянии покоя. Удалённые, но не перезаписанные остатки — нечитаемый шифротекст. Это собственный ответ Apple, и на Mac с Apple Silicon потери в скорости пренебрежимы.

Проверить, включён ли он:

fdesetup status

Если написано FileVault is Off, включите его в Системных настройках → «Конфиденциальность и безопасность» → FileVault, прежде чем думать о чём-то ещё на этой странице. Это безусловно самое полезное здесь.

«Стереть контент и настройки», когда продаёте машину. В Системных настройках → «Основные» → «Перенос или сброс». На современных Mac это уничтожает ключи шифрования, что делает весь диск нечитаемым мгновенно — намного надёжнее любой перезаписи.

Где перезапись по-прежнему по-настоящему работает

Внешние пластинные диски и USB-флешки. Никакого выравнивания износа, никакого переназначения. Перезапись действительно уничтожает данные, и многопроходная перезапись имеет смысл.

Именно этот случай встроенные средства бросили. macOS больше не даёт для него вообще никакого интерфейса — а ситуация совершенно обычная: старый резервный диск, который вы кому-то отдаёте, флешка с клиентскими документами, карта из фотоаппарата.

В ByEase File Tools для этого есть Safe Eraser: удаление мимо Корзины с 1, 3 или 7 проходами перезаписи для внешних носителей. И честно о границе: на внешнем HDD или флешке это побеждает программы восстановления. На внутреннем SSD — нет, и на уровне приложения этого не может ничто. Считайте перезапись инструментом для сменных носителей, а FileVault — инструментом для самого компьютера.

Рабочее правило

  1. FileVault включён, всегда. Это то, что реально держит.
  2. Чувствительные файлы на сменных носителях: перезаписать, прежде чем диск уйдёт из ваших рук.
  3. Продажа или возврат Mac: «Стереть контент и настройки», а не удаление по файлам.
  4. Не считайте очищенную Корзину удалением. Она им никогда не была.

Связанное