Я создаю sparsebundle и монтирую его как виртуальный диск для каждого проекта разработки, над которым я работаю. Это прекрасно работает, пока мне не понадобится добавить шифрование в один из проектов для дополнительной безопасности файлов моего клиента.
Когда шифрование включено, Apache возвращает 403 запрещенное сообщение. Мне удалось обойти это, изменив apache для работы под моим пользователем и группой, но это очень плохо для безопасности моего MacBook.
Есть ли лучший способ разрешить apache доступ к моему зашифрованному диску?
Когда вы создаете зашифрованный образ диска в OS X, по умолчанию создается закрытый том с ограниченными разрешениями - владелец (кто бы его ни смонтировал) получает полный доступ, а члены группы и другие лица не получают доступа. Веб-сервер обычно работает как системный пользователь _www, поэтому он попадает в категорию «другой / нет доступа». Вы можете легко проверить это в командной строке:
$ ls -l /Volumes
total 8
drwx------ 6 gordon staff 272 Sep 30 11:30 Encrypted Volume
lrwxr-xr-x 1 root admin 1 Sep 27 17:11 Macintosh HD -> /
«Drwx ------» означает, что это каталог («d»); владельцу (gordon) разрешен доступ на чтение, запись и выполнение ("rwx"), группе (staff) доступ запрещен ("---"); и другим не разрешен доступ ("---").
Простое решение - открыть права доступа к тому, чтобы разрешить групповой и другим доступ только для чтения с помощью chmod:
$ chmod go+rX /Volumes/Encrypted\ Volume
$ ls -l /Volumes
total 8
drwxr-xr-x 6 gordon staff 272 Sep 30 11:30 Encrypted Volume
lrwxr-xr-x 1 root admin 1 Sep 27 17:11 Macintosh HD -> /
Возможно (но маловероятно), что отдельные каталоги и файлы внутри тома также имеют ограниченные разрешения, и в этом случае вам придется настроить их аналогичным образом.