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

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

Спасибо!

Ответы [ 7 ]

180 голосов
/ 21 июня 2011

Это наиболее строгий и безопасный способ, который я нашел, как описано здесь для гипотетического каталога ~/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). Затем эти пользователи могут свободно просматривать и получать доступ к конфигурациям БД, исходному коду или другим конфиденциальным сведениям в ваших файлах веб-конфигурации и сценариях, если они являются частью вашего контента. Если это не проблема для вас, то обязательно воспользуйтесь одним из более простых решений.

29 голосов
/ 01 марта 2014

Если вам действительно не нравится Терминал, вот способ, которым вы можете использовать dkamins в GUI:

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

Get Info window Sharing & Permissions section

2) С помощью alt / option , щелкнув по знаку [+] , добавьте группу _www и установите для нее разрешение только для чтения :

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

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

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

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

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

12 голосов
/ 28 декабря 2012

Я знаю, что это старый пост, но для любого, кто обновился до 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>
9 голосов
/ 05 марта 2010

2 месяца, но лучше поздно, чем никогда! На 10.6 у меня в папке с документами на веб-сервере установлено:

owner:root
group:_www
permission:755

_www - это пользователь, который запускает apache под Mac OS X. Затем я добавил ACL, чтобы предоставить полные права группе «Администраторы». Таким образом, я все еще могу вносить любые изменения с моим администратором, не проходя аутентификацию от имени пользователя root. Кроме того, когда я хочу разрешить веб-серверу выполнять запись в папку, я могу просто выполнить команду chmod на 775, оставив всех, кроме root: _www только с правами на чтение / выполнение (исключая любые ACL, которые я применил)

4 голосов
/ 04 января 2010

В моей системе 10.6:

vhosts folder:
 owner:root
 group:wheel
 permissions:755

vhost.conf files:
 owner:root
 group:wheel
 permissions:644
0 голосов
/ 23 января 2016

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

cd /Library/WebServer/Documents

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

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

Это наверняка сработает!

0 голосов
/ 17 июня 2011

Владельцем пользователя для меня является пользователь с правами администратора, а группа _www и работает с разрешениями, установленными на 775 для dir и для файлов 664

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...