Apache: chmod 755 не достаточно для установки символьной ссылки или псевдонима на Apache httpd на Mac OS 10.5?

Перейдите к Sysinternals и загрузите procmon. Необходимо будет знать название exe, что услуга работает как. Затем можно использовать фильтр в procmon, чтобы только перечислить те операции, сгенерированные тем приложением.

Необходимо теперь смочь пробежать список и определить, которые подают эту заявку, использует (ПРИМЕЧАНИЕ: После нескольких минут входа можно использовать меню файла, чтобы прекратить контролировать),

Весь комплект Sysinternal может быть загружен как единственный zip-файл, и можно найти другой utils в наборе, который может быть полезным.

15
задан 29 June 2009 в 04:44
5 ответов

Я буду держать пари, что некоторый каталог выше того, к которому Вы хотите получить доступ, не имеет полномочий позволить Apache пересекать его. Станьте пользователем, которого Apache выполняет как (sudo -i -u apache или безотносительно), затем попытайтесь измениться в каталог интереса и ls это. Если Вы не можете (как ожидалось), затем попытаться войти в каталоги выше его, один за другим, пока каждый не впускает Вас. Подкаталог этого - то, что тот, который должен иметь o+x набор. Пена, промывка, повторяется как требуется.

24
ответ дан 2 December 2019 в 20:48
  • 1
    Да, если ' Sites' работает, у Вас, вероятно, есть правильная проблема на Документах, если ' Sites' не работает у Вас, вероятно, есть правильная проблема на Вашем пользовательском каталоге (это может добавлять с filevault), –  radius 29 June 2009 в 04:37
  • 2
    ~ / Документы был 700. –  Eugene Yokota 29 June 2009 в 04:40

Использовать +FollowSymlinks

Alias /foo /Users/someone/Documents/foo/html

<Directory "/Users/someone/Documents/foo/html">
    Options +Indexes +FollowSymLinks +MultiViews

    Order allow,deny
    Allow from all
</Directory>
2
ответ дан 2 December 2019 в 20:48
  • 1
    Согласно httpd.apache.org/docs/2.0/en/mod/core.html#options , " если всем опциям на директиве Опций предшествуют + или - символ, опции объединяются " Как это собирается помочь ~ / Документы, являющиеся 700? –  Eugene Yokota 29 June 2009 в 07:16
  • 2
    AFAIK FollowSymLinks не включает опцию, только позволяет этому быть включенным в на более низком уровне иерархии каталогов. –  Dave Cheney 29 June 2009 в 07:52

Проверьте свой каталог Users / (ls-l / Пользователи) для наблюдения прав на пользователе (кто-то).
Также каталог 'Sites' правильно доступен на localhost / ~ кто-то?

0
ответ дан 2 December 2019 в 20:48

Убедитесь, что хранилище файлов не включено. У меня такая же проблема. Я пробовал все, что мог найти. Ничего не получилось. Но после часа попыток разобраться в этом я вспомнил, что у меня было включено хранилище файлов.

Отключение его решило проблему.

1
ответ дан 2 December 2019 в 20:48

Проверьте право собственности на символическую ссылку. Поскольку вы используете Mac OS X, владельцев символических ссылок можно изменить. В / Library / WebServer / Documents выполните ls -l

Если ваша символическая ссылка на ~ / Documents / foo / html называется foo и имеет разрешения типа

lrwxr-xr--  1 root  wheel 27  2 Nov 17:00 foo -> /Users/username/Documents/foo/html

. Затем по умолчанию в OS X Apache запускается от имени пользователя _www и группы _www, поэтому в вышеупомянутом случае он не сможет перейти по символической ссылке на ~ / Documents / foo / html

Запустите man 8 chown на своем системном терминале или посмотрите в Интернете man chown

. Вы увидите, что использование параметра -h изменит владельца сама символическая ссылка, а не файл, на который она указывает (его источник). Затем вы можете сделать что-то вроде

sudo chown -h :_www foo 

. Это изменит simlink на

lrwxr-xr--  1 root  _www 27  2 Nov 17:02 foo -> /Users/username/Documents/foo/html

, и группа Apache _www сможет пройти по ссылке.

1
ответ дан 2 December 2019 в 20:48

Теги

Похожие вопросы