1

У меня есть Mac Mini, который используется несколькими пользователями в моем доме, включая наш медиа-сервер и файловый сервер для выпечки наших ноутбуков (через rsync/ssh), которые представляют собой смесь Mac/Linux/Windows. В целях безопасности на этом очень портативном компьютере (который удобно для воров находится рядом с телевизором) я использую Filevault для защиты домашних учетных записей.

Хорошо, вот моя проблема: удаленные входы в систему (включая ssh и rsync) будут правильно монтировать мой домашний каталог, зашифрованный Filevault, но он никогда не отключается, даже когда удаленный сеанс завершается. Поэтому, если я впоследствии попытаюсь войти в консоль Mac, он встряхивает и говорит мне «Не могу войти в Filevault в настоящее время» и не дает мне войти. Предположительно, это потому, что он уже смонтирован и считает, что произошла ошибка Filevault, а не просто продолжение.

Кто-нибудь может дать совет по любому или всем из следующих:

  • Могу ли я получить консольный вход, чтобы я мог войти в систему и не беспокоиться о Filevault, если он уже правильно смонтирован, вместо того, чтобы тупо отказаться от входа в систему?

  • Могу ли я сделать так , чтобы удаленные сессии (например, SSH) автоматически отключить FileVault , когда они сделаны? В идеале должен отключаться только последний действующий или ssh-вход, так как другие одновременно должны иметь возможность доступа к файлам в моем домашнем каталоге.

Спасибо!

(Примечание: отредактировано для ясности и краткости.)

2 ответа2

1

Вы можете создать общий ресурс AFP или SMB (в вашем домашнем каталоге Filevaults) на Mac Mini, а затем использовать Carbon Copy Cloner (если ваши другие компьютеры - Mac; для ПК доступны другие решения для резервного копирования) для передачи резервных копий на общий ресурс.

Есть ли какая-то конкретная причина, по которой вам нужен SSH, или вы просто параноики по поводу безопасности в вашей домашней сети? Если вы решите, что вам действительно нужно использовать SSH, возможно, вы могли бы взглянуть на MacFuse для монтирования общих ресурсов SSHFS (?).

1

Хорошо, я должен сделать некоторые предположения здесь, но я думаю, что у меня есть ответ на ваш вопрос. Я вроде написал это, чтобы любой новичок с той же проблемой мог разумно следовать за ним.

  1. Открытый терминал

  2. В командной строке введите:

    diskutil list
    

    Список всех подключенных в данный момент локальных томов должен быть указан. Найдите Идентификатор пользователя FileVault, в который вы не можете войти (должен быть помечен чем-то вроде diskX, где X - число). Вот пример:

        /dev/disk0
        #:                       TYPE NAME                SIZE       IDENTIFIER
        0:      GUID_partition_scheme                    *160.0 GB   disk0
        1:                        EFI                     209.7 MB   disk0s1
        2:                  Apple_HFS Macintosh HD        159.7 GB   disk0s2
        /dev/disk1
        #:                       TYPE NAME                SIZE       IDENTIFIER
        0:      GUID_partition_scheme                    *1.0 TB     disk1
        1:                        EFI                     209.7 MB   disk1s1
        2:                  Apple_HFS Time Machine        376.5 GB   disk1s2
        3:                  Apple_HFS Media Disk HD       623.2 GB   disk1s3
        /dev/disk2
        #:                       TYPE NAME                SIZE       IDENTIFIER
        0:     Apple_partition_scheme                    *319.4 GB   disk2
        1:        Apple_partition_map                     32.3 KB    disk2s1
        2:                  Apple_HFS main                319.4 GB   disk2s2
    

    В приведенном выше примере, где написано Apple_HFS main, main - это учетная запись пользователя FileVault, на которую мы нацелены. Итак, Идентификатор, который мы хотим, это disk2.

  3. В командной строке введите:

    diskutil unmountDisk diskX
    

    Убедитесь, что вы ввели соответствующий номер для буквы "X" в вашей ситуации. Это может занять несколько минут, но Терминал должен вернуть сообщение, в котором говорится:

    Unmount of all volumes on diskX was successful
    

    Теперь вы сможете снова использовать FUS для этой учетной записи.

    Если это не сработает, есть две альтернативы, о которых я могу подумать: перезагрузить компьютер (не самое идеальное решение); или убить процесс, оставив открытыми ваши sparsebundle (это может привести к повреждению данных):

  4. В командной строке терминала введите:

    sudo lsof | grep sparsebundle
    

    Система должна вернуть список открытых файлов, к которым обращается процесс, который держит ваш образ FileVault открытым. На снежном барсе это должны быть diskimages. Запишите идентификатор процесса рядом с именем. Вот как выглядело мое:

      diskimage 68420           root    4u      REG       14,2    8388608 5858242 /Users/main/main.sparsebundle/bands/241
      diskimage 68420           root    5u      REG       14,2     122880 5856490 /Users/main/main.sparsebundle/token
      diskimage 68420           root    6r      DIR       14,2        204 5856486 /Users/main/main.sparsebundle
      diskimage 68420           root    7r      DIR       14,2      56780 5856489 /Users/main/main.sparsebundle/bands
      diskimage 68420           root    8u      REG       14,2    8388608 5856497 /Users/main/main.sparsebundle/bands/0
    
  5. В командной строке введите:

    sudo kill [process id of diskimages]
    

(В приведенном выше примере мой PID будет 68240.) Возможно, вам придется повторить шаг 3 выше, но это должно позволить вам FUS в вашей учетной записи. Однако, так как вы уничтожили процесс создания образа диска, возможно, ваш образ диска может пострадать. (Обратите внимание, что я не проверял это). Я использую FileVault на Tiger с мая 2006 года, и несколько раз мне приходилось принудительно отключать мою учетную запись пользователя. Но у меня не было проблем с повреждением FileVault. Но у меня нет большого опыта в версии FileVault Snow Leopard.

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

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

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