Правильный владелец/группа/разрешения для файлов/папок сайта Apache 2 под Mac OS X?

StackOverflow https://stackoverflow.com/questions/2001881

Вопрос

Трудно найти MAC-специфические ответы на этот вопрос в Интернете, поэтому я надеюсь, что кто-то там может поставить этот, чтобы отдохнуть для меня? Мои разрешения облажаются на моих сайтах, и я не уверен, как их исправить, просто не хлопнув рекурсивным 777 во всем, что явно неверно.

Спасибо!

Это было полезно?

Решение

Это самый ограничительный и безопасный способ, который я нашел, как объяснено здесь для гипотетических ~/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)

Все другие решения оставляют файлы открытыми для других местных пользователей (которые являются частью группы «персонал», а также, очевидно, находятся в группе «O»/других). Эти пользователи могут затем свободно просматривать и получить доступ к конфигурациям DB, исходному коду или другим конфиденциальным деталям в файлах и сценариях веб -конфигурации, если они являются частью вашего контента. Если это не проблема для вас, то во что бы то ни стало, перейдите с одним из более простых решений.

Другие советы

Если вам действительно не нравится терминал, это то, что DKAMINS говорит вам:

1) Перейдите в домашний каталог пользователя (Людо будет моим) и из Файл Меню выберите Получить информацию CMDя в инспекторе:

Get Info window Sharing & Permissions section

2) Альт/опция Нажав на [+] знак добавить _www группируйте и установите разрешение на только для чтения :

Get Info add Users & Groups highlighted and World Wide Web Server highlighted

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

3) Покажите Получить информацию инспектор вашего пользователя Места Папка и воспроизвести шаг 2, затем из подменю действия, выберите «Действие» Применить к прилагаемым предметам ... :

Get Info action sub-menu Apply to enclosed Items... highlighted

Вуаля 3 шага и только графический интерфейс ...

Я знаю, что это старый пост, но для любого, кто переходит на горного льва (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 у меня есть папка Webserver Documents для:

owner:root
group:_www
permission:755

_WWW - это пользователь, который запускает Apache под Mac OS X. Затем я добавил ACL, чтобы разрешить полные разрешения в группу администраторов. Таким образом, я все еще могу внести какие -либо изменения с моим пользователем администратора, не вынуждая подлинности как root. Кроме того, когда я хочу позволить WebServer написать в папку, я могу просто chmod до 775, оставив всех, кроме корня: _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

Сначала откройте терминал, а затем перейдите в каталог веб -сервера

cd /Library/WebServer/Documents

а затем введите это, и что вы будете делать read а также write разрешение

sudo chmod -R o+w /Library/WebServer/Documents

Это обязательно сработает!

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top