Преобразовать между шифрованием FileVault 2 и Disk Utility?

Я знаю два способа включить полное шифрование диска в macOS Sierra:

  • Включите FileVault 2 или
  • Загрузитесь для восстановления, переформатируйте диск как зашифрованный и переустановите macOS.

Я читал в нескольких местах в Интернете, что базовая технология шифрования одинакова в любом случае, и разница только в том, как ключ дешифрования получается во время загрузки. В FileVault пароль пользователя также служит для разблокировки диска, но при шифровании с помощью Дисковой утилиты вы выбираете отдельный пароль только для шифрования.

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

Однако, попав в это гибридное состояние, я не вижу способа выбраться из него. Что я хотел бы знать:

  • После того, как я разрешил пользователю разблокировать диск, есть ли способ удалить старый пароль диска (который был создан с помощью Дисковой утилиты во время установки) и заменить его ключом восстановления, так что это похоже на обычную установку FileVault, которая просто использует пароли пользователей?
  • В качестве альтернативы, есть ли способ удалить пользователя из FileVault, чтобы работал только пароль от диска?

И в соответствующей заметке:

  • Если FileVault был включен обычным способом (начиная с незашифрованного Mac), есть ли способ добавить пароль к диску, отдельный от паролей для входа пользователя, например, что было бы, если бы я зашифровал с помощью Дисковой утилиты во время установки ?

Ответы (1)

Как оказалось, я нашел ответы на большинство из них вскоре после того, как задал вопрос. Программа командной строки fdesetupпредлагает некоторые дополнительные параметры.

Удаление пароля к диску

Запустите sudo fdesetup list -extendedи найдите UUID с надписью «Disk Passphrase». Затем бегите sudo fdesetup remove -uuid <UUID>, чтобы удалить его.

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

Удаление пользователя из FileVault

Запустите sudo fdesetup list( -extendedне требуется), чтобы узнать, какие пользователи имеют право разблокировать диск, а затем используйте sudo fdesetup remove -user <USER>или sudo fdesetup remove -uuid <UUID>.

Это можно использовать для деавторизации пользователей, чтобы можно было использовать только пароль диска.

Добавление ключа восстановления

Беги sudo fdesetup changerecovery -personal. Это запросит пароль (все, что в настоящее время включено для разблокировки диска), а затем отобразит новый ключ восстановления. (Запиши это!)

Удаление ключа восстановления

Беги sudo fdesetup removerecovery -personal. Как и выше, это запросит пароль.

Добавление пароля к диску

Я не смог найти способ сделать это на месте — sudo diskutil cs passwdкажется, что это должно работать, но для этого уже требуется «старый» пароль на диск.

Однако вы можете отключить FileVault с помощью окна настроек (которое расшифровывает диск), а затем sudo diskutil cs encryptLV <UUID>повторно зашифровать его с помощью пароля диска. Это медленно, так как приходится расшифровывать и повторно шифровать все данные, но работает.

Обратите внимание, что все это относится к HFS+ в Core Storage на Sierra. Это наверное все вытеснено конверсией в APFS.