7

Я храню разные типы данных в разных зашифрованных изображениях (например, по одному для каждого клиента), которые автоматически монтируются при входе в систему, но не могут быть открыты никем, кроме меня. Итак, после входа в систему у меня есть несколько виртуальных томов в /Volumes/ которых данные моего клиента защищены и организованы.

Как включить данные в эти виртуальные тома в резервные копии TimeMachine или данные, находящиеся по любому пути в любом разделе / томе?

Я нашел многообещающее описание решения (сообщение в блоге больше не доступно в Интернете), связанное с редактированием com.apple.TimeMachine.plist но все, что я могу получить от TimeMachine, - это создавать резервные копии самих файлов sparsebundle. Я хочу, чтобы он создавал резервные копии файлов внутри смонтированного образа - что-то вроде добавления /Volumes /Client_abc / к пути поиска TimeMachine.


Пожалуйста, не перенаправляйте мой вопрос на этот предыдущий вопрос, так как он вообще не решает проблему. Пожалуйста, воздержитесь от объяснения, почему вы считаете, что я не должен хотеть этого ответа, поскольку это тоже ничего не решит. Пожалуйста, не говорите «это невозможно», если вы не можете технически доказать это утверждение.

4 ответа4

8

Я нашел решение, прочитав руководство по Time Machine и множество постов в блогах, ответы на вопросы и ответы на сайте и т.д. Везде, где говорится, что «Time Machine не будет создавать резервные копии данных на съемных носителях, просто жить с ними или использовать странные хаки».

Но это именно так, и это так очевидно! Установленное изображение .sparsebundle рассматривается как съемный носитель.

Поэтому все, что вам нужно сделать, это подключить ваш .sparsebundle (зашифрованный или неважно), или USB-накопитель, или что-то еще, что должно появиться в качестве резервной копии в Time Machine, как несъемный носитель.

Этот маленький кусочек AppleScript сделает свое дело:

do shell script "hdiutil attach /path/to/your.sparsebundle -notremovable" with administrator privileges

Переключатель «-notremovable» позаботится о том, чтобы образ был смонтирован как несъемный, а фраза "с правами администратора" высветит запрашивающий пароль пароль, чтобы смонтировать образ как root, а не как зарегистрированную учетную запись пользователя. Теперь для Time Machine ваш подключенный том - это просто жесткий диск, который он больше не будет игнорировать. Как ни странно, таким образом смонтированные носители все еще можно отключить в любое время, так что пока они технически остаются съемными, логически они больше не являются.

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

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

Изменить: Поскольку OS X Lion FileVault 2 может зашифровать внешний резервный диск, так что никто не может просто украсть вашу резервную копию и восстановить незашифрованные данные оттуда больше.

6

Я думаю, что статья, которую вы нашли, относится к более старой версии Time Machine, потому что я следовал более свежему руководству и могу подтвердить, что он определенно работал с Mac OS 10.6.7. Основное различие в статьях заключается в том, что Time Machine, похоже, отошла от использования UUID для записей Alias в своем файле plist.

Вот что я сделал:

  1. Остановите Time Machine в Системных настройках, а затем выйдите из Системных настроек (в противном случае ваши ручные изменения могут / будут перезаписаны, когда Системные настройки в конечном итоге закроются)

  2. С помощью вашего любимого редактора списков откройте файл настроек машины времени, находящийся здесь: /Library/Preferences/com.apple.TimeMachine.plist

    Я рекомендую использовать редактор условно-бесплатных программ Plistedit Pro, а не, скажем, XCode, потому что он позволит вам сохранить исходный файл в качестве пользователя root, запрашивая пароль администратора, а не XCode, требующий сохранения файла в пространстве пользователя, а затем перезаписать исходный файл с использованием привилегий root из командной строки.

  3. в TimeMachine.plist ищите узел IncludedVolumes . Добавьте его как дочерний элемент корневого узла, если его там нет, это должен быть массив элементов данных.

  4. Добавьте новый элемент в массив IncludedVolumes типа Data со значением, которое является записью псевдонима пути к подключенному зашифрованному тому.

    Если вы используете Plistedit Pro, генерировать запись псевдонима легко. Как только для нового элемента будет задан тип Data вы можете щелкнуть правой кнопкой мыши поле значения и изменить свойство View As на Alias Record . Затем снова щелкните правой кнопкой мыши поле значения и выберите «Изменить значение ...», затем введите путь к подключенному тому, например, /Volumes/MyEncryptedVolume . Если вы измените тип представления обратно на «Данные», вы увидите, что запись псевдонима теперь преобразуется в двоичную строку. Убедитесь, что зашифрованный том смонтирован заранее, так как Plistedit попытается проверить псевдоним и сообщит, что пути не существует.

    XCode, кажется, не имеет этой способности генерировать записи псевдонимов на лету. В исходной статье предлагается смонтировать и открыть разреженное изображение в Finder, чтобы оно появилось в списке последних папок Finder, а затем открыть файл ~/Library/Preferences/com.apple.finder.plist и скопировать значение из FXRecentFolders/file-data ключ, в котором элемент name родного брата совпадает с именем зашифрованного тома.

  5. Убедитесь, что путь к зашифрованному тому также не указан ни в одном из значений в ExcludeByPath , ExcludedVolumes , SkipPaths .

  6. Исключите разреженный комплект из Time Machine, чтобы не выполнять резервное копирование тома дважды. Добавьте путь к массиву ExcludeByPath или массиву SkipPaths . Единственное отличие, которое я могу сказать, заключается в том, что элементы в SkipPaths отображаются и редактируются на панели управления Time Machine, а пути в ExcludeByPath полностью скрыты на панели управления. В любом случае, TM будет игнорировать каталог.

  7. Сохраните файл TimeMachine.plist, убедившись, что владелец: группа по-прежнему root: admin

Вот и все. Снова включите Time Machine в «Системных настройках», и теперь вы должны увидеть содержимое вашего смонтированного разреженного комплекта в своем собственном каталоге резервных копий в качестве элемента в каталоге Macintosh HD , например /Volumes/Backup of ComputerName/Backups.backupdb/ComputerName/Latest/MyEncryptedVolume


Но на самом деле, пока я тестировал это в течение 3 месяцев, и это работало на меня, я больше не настраиваю Time Machine, потому что:

  1. Если при запуске Time Machine размонтированный пакет размонтируется, то при этом резервном копировании тома понятно пропускается. Однако при последующем подключении разреженного пакета Time Machine снова создает резервную копию всего тома, копируя все файлы как новые в резервную копию, а не просто создает жесткую ссылку на любые файлы, уже существующие из более ранних папок резервного копирования. Это была проблема остановки показа для меня, так как у меня не каждое изображение смонтировано 100% времени.

  2. Очевидно, что это неподдерживаемая пользовательская конфигурация Time Machine, и поэтому она может измениться без предупреждения при следующем патче программного обеспечения от Apple. Поэтому трудно понять, как этот подход можно охарактеризовать как надежное решение для долгосрочного резервного копирования.

  3. Time Machine сообщает о неправильном количестве файлов и размерах файлов в журнале консоли во время резервного копирования, что не внушает мне уверенности в том, что TM обрезан для такой настройки, даже если файлы отображаются правильно на резервной копии на Time Machine Объем (просто паранойя?)

1

Time Machine плохо поддерживает зашифрованные контейнеры и может выполнять резервное копирование всего контейнера.

Это означает, что вам либо придется купить большой резервный жесткий диск (терабайтный диск сейчас стоит менее $ 100)

... или дождитесь выхода OS X Lion и надейтесь, что они улучшат поддержку зашифрованных томов.

Я, конечно, предполагаю, что хранение данных клиента в незашифрованном виде на диске резервного копирования не является вариантом.

0

Олфан: Это действительно здорово; большое спасибо вам.

Я написал небольшой AppleScript для монтирования образа тома, включая парольную фразу:

property imagePath : "" -- preset path to image file
set path_to_resource to POSIX path of (path to resource "checkModifierKeys") -- this is the path to the command line utility to detect the modifier keys pressed
if (do shell script quoted form of path_to_resource & " option") = "1" then -- Option key is pressed
    set imagePath to ""
end if
if imagePath = "" then -- first run or Option key is pressed
    set imagePath to choose file with prompt "Image File:" -- let the user select the image file
end if
set thePass to text returned of (display dialog "Password for " & imagePath default answer "" with hidden answer) -- ask for the password
set cmd to "printf " & quoted form of thePass & " | hdiutil attach -notremovable -stdinpass " & quoted form of POSIX path of imagePath -- and set the command incliuding password
do shell script cmd with administrator privileges -- finally submit the command in supervisor mode

Вы должны сохранить скрипт как приложение и включить утилиту командной строки "checkModifierKeys" в комплект приложения. Вы можете получить его по адресу http://www.klieme.ch/pub/checkModifierKeys.zip

Вот мое описание сценария:

Этот небольшой скрипт монтирует образ тома как несъемный диск в режиме супервизора. Это позволяет Time Machine создавать резервные копии содержимого этого тома. Вы должны исключить файл образа из резервной копии, чтобы избежать загромождения тома резервной копии.

При первом запуске этого сценария запрашивается файл изображения и запоминается это местоположение при последующих вызовах. Чтобы выбрать другой файл изображения, запустите скрипт с нажатой клавишей "Option".

checkModifierKeys: Стефан Клием http://www.klieme.ch/pub/checkModifierKeys.zip

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