Правильный владелец/группа/разрешения для файлов/папок сайта Apache 2 в Mac OS X?
Трудно найти ответы на этот вопрос в Интернете на Mac, так что я надеюсь, что кто-то там может поставить это для меня? Мои права на моих сайтах скручены, и я не уверен, как их исправить, просто не набросав рекурсивный 777 на все, что совершенно очевидно неверно.
Спасибо!
Ответы
Ответ 1
Это самый ограничительный и безопасный способ, который я нашел, как описано здесь для гипотетического каталога ~/my/web/root/
для вашего веб-контента:
- Для каждого родительского каталога, ведущего к вашему веб-корню (например,
~/my
, ~/my/web
, ~/my/web/root
):
-
chmod go-rwx DIR
(никто, кроме владельца, не может получить доступ к контенту)
-
chmod go+x DIR
(чтобы разрешить "пользователям", включая _www до "enter" каталог)
-
sudo chgrp -R _www ~/my/web/root
(весь веб-контент теперь является группой _www)
-
chmod -R go-rwx ~/my/web/root
(никто, кроме владельца, не может получить доступ к веб-контенту)
-
chmod -R g+rx ~/my/web/root
(все веб-содержимое теперь можно читать/исполнять/вводить с помощью _www)
Все остальные решения оставляют файлы открытыми для других локальных пользователей (которые входят в группу "персонал", а также, очевидно, находятся в группе "o" /others ). Эти пользователи могут затем свободно просматривать и получать доступ к конфигурациям БД, исходному коду или другим конфиденциальным данным в ваших файлах и сценариях веб-конфигурации, если они являются частью вашего контента. Если это не проблема для вас, то непременно пойти с одним из более простых решений.
Ответ 2
Если вам действительно не нравится Terminal, это способ GUI для выполнения dkamins говорит вам:
1) Перейдите в домашний каталог пользователя (ludo будет моим) и в меню Файл выберите Получить информацию cmd I в инспекторе:
![Get Info window Sharing & Permissions section]()
2) Под alt/option щелчком по знаку [+] добавьте группу _www и установите для нее разрешение только для чтения:
![Get Info add Users & Groups highlighted and World Wide Web Server highlighted]()
- Таким образом, рассмотрим (хорошую практику), не сохраняя персональную информацию в корне вашей домашней папке пользователя (и жесткий диск)!
- Вы можете пропустить этот шаг, если ** ** ** ** ** имеет доступ только для чтения **, но поскольку папка AirDrop **/Public/Drop Box ** в основном бесполезна...я >
3). Отобразите инспектор Получить информацию вашей папки "Сайты пользователей" и воспроизведите шаг 2, затем в подменю "Действие" выберите Применить к закрытым элементам....
![Get Info action sub-menu Apply to enclosed Items... highlighted]()
Voilà 3 шага и GUI только путь...
Ответ 3
Я знаю, что это старый пост, но для тех, кто обновляется до Mountain Lion (10.8) и испытывает подобные проблемы, добавление FollowSymLinks
в ваш .conf файл {username}.conf(в/etc/apache2/users/) помогло. Таким образом, файл выглядит следующим образом:
<Directory "/Users/username/Sites/">
Options Indexes MultiViews FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>
Ответ 4
2-месячная ветка, но лучше поздно, чем никогда! В 10.6 у меня установлена папка документов веб-сервера:
owner:root
group:_www
permission:755
_www - пользователь, который запускает apache в Mac OS X. Затем я добавил ACL, чтобы разрешить полные права доступа к группе "Администраторы". Таким образом, я все равно могу внести любые изменения с моим администратором без необходимости аутентификации в качестве пользователя root.
Кроме того, когда я хочу разрешить веб-серверу писать в папку, я могу просто chmod до 775, оставив всех, кроме root: _www только с разрешениями на чтение/выполнение (исключая любые ACL, которые я применил)
Ответ 5
В моей системе 10.6:
vhosts folder:
owner:root
group:wheel
permissions:755
vhost.conf files:
owner:root
group:wheel
permissions:644
Ответ 6
Владелец пользователя для меня - пользователь admin, а группа - _www и работает с разрешениями, установленными на 775 для каталога и для файлов 664
Ответ 7
Сначала откройте терминал и затем перейдите в каталог веб-сервера
cd /Library/WebServer/Documents
а затем введите это и что вы будете делать, вы дадите read
и write
разрешение
sudo chmod -R o+w /Library/WebServer/Documents
Это, безусловно, сработает!