Назад | Перейти на главную страницу

Apache, обслуживающий файлы с зашифрованного диска, возвращает запрещенную ошибку 403

Я создаю 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 -> /

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