Я знаю, что nginx устанавливает пользователя для php как www-data. Поэтому пользователю www-data необходим доступ ко всей структуре, как описано в этом посте.
Чтобы выразить свои проблемы, я должен определить некоторые параметры:
- Давайте определим пользователя php как «www».
- Давайте определим пользователя как «моды».
- Давайте определим группу под названием «веб-доступ».
- Оба 1 и 2 являются членами 3.
Идея заключается в том, что я хочу, чтобы каталог html и все вложенные файлы были настроены на моды:webaccess 750, чтобы моды могли загружать и изменять файлы php, и чтобы, очевидно, www мог получать доступ и обрабатывать запросы php.
Проблема в том, что с этим параметром я получаю «Не указан входной файл». ошибка. Теперь, поскольку пользователь www является участником веб-доступа, не должны ли они иметь возможность читать файлы php с правами rx, установленными для группы?
Чтобы убедиться, что это на самом деле проблема с разрешениями, а не с путями, я добавил php-файл в корневой веб-каталог, содержащий <?php echo exec('whoami'); ?>
, с разрешениями, установленными на 750, я получаю «Не указан входной файл». ошибка. Поэтому я меняю права доступа на 755, а затем возвращаю пользователя «www».