Правильный владелец/группа/разрешения для файлов/папок сайта 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

Это, безусловно, сработает!