В настоящее время у меня установлена система Apache2 + FastCGI PHP + Suexec.
В качестве примера я использую /mnt/data/www/vhosts/inflex.co.uk/htdocs
DocRoot для одного из моих виртуальных хостов.
У меня есть скрипт, /mnt/data/www/php5-cgi/inflex.co.uk/php5-cgi
который содержит:
#!/bin/sh
exec /usr/bin/php5-cgi
Аккаунт, под которым должны запускаться скрипты, — duncan
, этот файл принадлежит duncan и также находится в группе duncan. Он имеет -rwxr-x---
разрешения.
.../www/vhosts/inflex.co.uk
и ../inflex.co.uk/htdocs
принадлежит компании Duncan и входит в группу Duncan.
Если я удаляю все права доступа для других, например chmod 750
, я получаю сообщение об ошибке, касающейся разрешений, при попытке доступа к веб-сайту. Если я разрешаю чтение/запись для других, например, 755, это работает.
Я предполагаю, что это проблема с www-data
доступом к каталогу (пользователя apache2), но я думал, что смысл Suexec в том, чтобы все это запускалось под отдельным пользователем или требовало www-data
чтения (может быть, записи?) в папке, а затем выполняло PHP-файл php от имени пользователя?