Я застрял на этом несколько дней, я использую suPHP и Apache 2.4 на Centos 6 на VPS (OVH) уже несколько лет, а затем с воскресенья двоичный chmod всегда восстанавливается до 0444, поэтому он не может выполняться и выдает 500. Он работает правильно, когда я устанавливаю для него группу пользователей веб-сайта с помощью chmod 4750 ИЛИ группу «никто» с помощью chmod 4755, но chmod всегда восстанавливается каким-либо процессом через 1 или 2 часа или даже 30 минут, я потерялся!
Я знаю, что suphp mod Apache нуждается в большом количестве требований для правильной работы, я думаю, что все в порядке, поскольку он работает хорошо в течение некоторого времени, пока двоичный chmod не вернется к 0444. Я также попытался продублировать эту используемую папку версии php, то же самое, она работает несколько минут, затем его chmod изменяется.
Если chmod самого двоичного файла php-cgi вынужден быть chmod 0444 (с root-правами владельца и группой apache или веб-сайтом), как его правильно запустить, даже через пользователя 'none' (apache) или 'website'?
Обычно (ранее) бинарные файлы suphp получали chmod 755 для запуска ...
Большое спасибо за любую помощь!
Нормальные права доступа к файлам операций сервера (исключение: использование php в качестве модуля apache) установлены на 644, и файлы принадлежат вам. Большинство серверов теперь запускают php-as-cgi или его эквивалент и используют некоторую версию su, чтобы позволить процессу httpd работать правильно без владения и, следовательно, проблем с разрешениями.
Актуальная проблема: в ряде мест жестко запрограммированы разрешения файловой системы, которые заменяют маску umask, не заданную по умолчанию для общих сред.
Убедитесь, что Joomla не использует функцию umask для определения разрешений для файлов, которые она создает (проверьте настройки umask, etc/init/php-fpm.conf
).
В целях тестирования попробуйте использовать альтернативный сценарий PHP, чтобы проверить, наблюдается ли у вас такое же поведение.
Попробуйте изменить маску в /usr/local/apache/bin/envvars
до желаемого значения, и тогда любой файл, созданный на сервере, должен иметь новые разрешения.