2011-01-05 1 views
0

Итак, у меня есть сервер Mac Snow Leopard (сервер A), и я использую для него самодельный Apache, но в последнее время он действует, и я хочу использовать но поскольку это производственный сервер, я хочу сначала его протестировать, установив соответствующие каталоги на моем втором сервере (Server B) и проверив его.Проблемы с разрешением на смонтированный том с Apache

Так что я смонтировать каталог «/ Atlas» (вся моя ЦМС) сервера A на сервер B с помощью этой команды:

mount_hfs afp://username:[email protected]_a/Atlas /Atlas 

После того, как создан вручную каталог/Atlas.

Теперь, указав виртуальный хост на DOCUMENT_ROOT на «/ Atlas/Sites/sandman /» (это правильный путь для этого сайта на сервере A) и серфинга на сайт, Apache сообщает о 403 (доступ запрещен) и говорит, что он не может прочитать файл («У вас нет разрешения на доступ к запрошенному объекту. Он либо защищен от чтения, либо не читается сервером».)

Теперь эти файлы принадлежат пользовательский «sandman» на обеих машинах, а Apache на сервере A запускается пользователем «sandman», но на встроенном Apache на сервере B он принадлежит пользователю «_www» с UID 70. Файлы читаются «миром», поэтому пользователь _www ДОЛЖЕН быть в состоянии прочитать их просто отлично.

Кто-нибудь знает, в чем проблема? Я надеялся, что могу хранить файлы CMS на сервере C (т. Е. Третий сервер) и монтировать его на обоих серверах, а затем балансировать между ними.

Любые идеи? Благодаря!

ответ

0

Убедитесь, что вы действительно можете прочитать файлы как пользователь _www и что вы можете их перечислить.

Возможно, вам не хватает права на листинг для пользователя _www. Это правильное исполнение в каталогах для * Nix-систем.

0

Какой пользователь выполнил команду mount как? (примечание: я предполагаю, что это действительно mount_afp, а не mount_hfs.) Этот пользователь завершит «владение» подключением к серверу и будет единственным, кто получит аутентифицированный доступ к файлам сервера; другие пользователи на клиентском компьютере AFP получат эквивалент гостевого доступа к файлам сервера. Вы можете просматривать собственности соединения с mount командой:

$ mount 
/dev/disk0s2 on/(hfs, local, journaled) 
devfs on /dev (devfs, local, nobrowse) 
map -hosts on /net (autofs, nosuid, automounted, nobrowse) 
map auto_home on /home (autofs, automounted, nobrowse) 
afp_0TQ55t0XgDP800dNMO0Pyetl-1.2d00000a on /Volumes/Public (afpfs, nodev, nosuid, mounted by gordon) 

Из вашего описания, это звучит, как он должен работать, несмотря на это (так как файлы для чтения всем на сервере B) ... но он все еще может стоит выполнить монтирование под идентификатором пользователя _www.

+0

Идентификатор пользователя _www не может регистрировать команды запуска оболочки, поэтому я не могу на самом деле смонтировать его как этого пользователя, и мне понадобится какая-то форма. Ot crontab mainetence shoudl mount исчезнет по любой причине ... – Sandman

+0

_www Войдите в систему, но вы все равно можете выполнить mount как _www с 'sudo -u _www mount_afp ...' –

+0

Хммм, хорошо, я это рассмотрю. – Sandman