Это наиболее ограничительный и безопасный способ, который я нашел, как описано здесь для гипотетического ~/my/web/root/
каталога для вашего веб-контента:
- Для каждого родительского каталога , ведущего к вашему веб - корень (например
~/my
, ~/my/web
, ~/my/web/root
):
chmod go-rwx DIR
(никто, кроме владельца, не может получить доступ к контенту)
chmod go+x DIR
(чтобы разрешить «пользователям», включая _www, «входить» в каталог)
sudo chgrp -R _www ~/my/web/root
(весь веб-контент теперь группируется _www)
chmod -R go-rwx ~/my/web/root
(никто, кроме владельца, не может получить доступ к веб-контенту)
chmod -R g+rx ~/my/web/root
(весь веб-контент теперь доступен для чтения / выполнения / ввода _www)
Все остальные решения оставляют файлы открытыми для других локальных пользователей (которые входят в группу «staff», а также, очевидно, находятся в группе «o» / others). Затем эти пользователи могут свободно просматривать и получать доступ к конфигурациям БД, исходному коду или другим конфиденциальным деталям в ваших файлах веб-конфигурации и скриптах, если они являются частью вашего контента. Если для вас это не проблема, то обязательно воспользуйтесь одним из более простых решений.
chmod go+rx DIR
на уровне каталога / Users / username, прежде чем ls перестанет выдавать ошибку разрешения. Интересно, почему?chmod -R g+rwx ~/my/web/root
. Есть возражения или лучший способ сделать это @dkamins?Если вам действительно не нравится Терминал, вот вам способ делать dkamins с помощью графического интерфейса:
1) Перейдите в домашний каталог вашего пользователя ( ludo будет моим) и в меню File выберите Get Info cmdI в инспекторе:
2) alt/optionНажав на знак [+], добавьте группу _www и установите для нее разрешение только на чтение :
3) Отобразите инспектор Get Info папки пользовательских сайтов и воспроизведите шаг 2, затем в подменю действия с шестеренкой выберите Применить к вложенным элементам ... :
Вуаля 3 шага и только графический интерфейс ...
источник
ALT + [+]
трюке. Спасибо.Я знаю, что это старый пост, но для тех, кто обновляется до Mountain Lion (10.8) и сталкивается с аналогичными проблемами, добавление
FollowSymLinks
в ваш {username} .conf файла (в / etc / apache2 / users /) помогло мне. Итак, файл выглядит так:источник
2-месячная ветка, но лучше поздно, чем никогда! В версии 10.6 у меня установлена папка документов веб-сервера:
_www - это пользователь, который запускает apache под Mac OS X. Затем я добавил ACL, чтобы предоставить полные разрешения группе администраторов. Таким образом, я все еще могу вносить какие-либо изменения с моим пользователем-администратором без необходимости аутентифицироваться как root. Кроме того, когда я хочу разрешить веб-серверу запись в папку, я могу просто выполнить команду chmod до 775, оставив всех, кроме root: _www, только с разрешениями на чтение / выполнение (исключая любые ACL, которые я применил)
источник
В моей системе 10.6:
источник
Владелец пользователя для меня - администратор, а группа - _www, и работает с разрешениями, установленными на 775 для dir и для файлов 664.
источник
Обновление Catalina / Разрешения рабочего стола
Я сталкиваюсь с этим раз в год на macOS. Обычно я использую apache2 для размещения папки на своем рабочем столе.
Если вы пытаетесь предоставить доступ к
desktop
папке, вам необходимо выполнить следующие действия, чтобы разрешить httpd доступ ко всем папкам: https://apple.stackexchange.com/a/373139/353465источник
Сначала откройте терминал, а затем перейдите в каталог веб-сервера
а затем введите это, и что вы сделаете, вы дадите
read
иwrite
разрешениеЭто обязательно сработает!
источник