Ответы:
Это наиболее ограничительный и безопасный способ, который я нашел, как описано здесь для гипотетического ~/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 -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 /) помогло мне. Итак, файл выглядит так:
<Directory "/Users/username/Sites/">
Options Indexes MultiViews FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>
2-месячная ветка, но лучше поздно, чем никогда! В версии 10.6 у меня установлена папка документов веб-сервера:
owner:root
group:_www
permission:755
_www - это пользователь, который запускает apache под Mac OS X. Затем я добавил ACL, чтобы предоставить полные разрешения группе администраторов. Таким образом, я все еще могу вносить какие-либо изменения с моим пользователем-администратором без необходимости аутентифицироваться как root. Кроме того, когда я хочу разрешить веб-серверу запись в папку, я могу просто выполнить команду chmod до 775, оставив всех, кроме root: _www, только с разрешениями на чтение / выполнение (исключая любые ACL, которые я применил)
В моей системе 10.6:
vhosts folder:
owner:root
group:wheel
permissions:755
vhost.conf files:
owner:root
group:wheel
permissions:644
Владелец пользователя для меня - администратор, а группа - _www, и работает с разрешениями, установленными на 775 для dir и для файлов 664.
Обновление Catalina / Разрешения рабочего стола
Я сталкиваюсь с этим раз в год на macOS. Обычно я использую apache2 для размещения папки на своем рабочем столе.
Если вы пытаетесь предоставить доступ к desktop
папке, вам необходимо выполнить следующие действия, чтобы разрешить httpd доступ ко всем папкам: https://apple.stackexchange.com/a/373139/353465
Сначала откройте терминал, а затем перейдите в каталог веб-сервера
cd /Library/WebServer/Documents
а затем введите это, и что вы сделаете, вы дадите read
и write
разрешение
sudo chmod -R o+w /Library/WebServer/Documents
Это обязательно сработает!
chmod go+rx DIR
на уровне каталога / Users / username, прежде чем ls перестанет выдавать ошибку разрешения. Интересно, почему?