Раньше я имел собственные скрипты php на выделенном сервере пользователем «webroot».
Было бы проще программировать и администрировать, если бы скрипты принадлежали пользователю apache2, «www-data» в моей системе. Также кажется более простым и понятным.
На этом ящике нет ftp, нет других пользователей или сайтов.
Почему бы не использовать скрипты php в www-data? Если есть что-то против, что может случиться в худшем случае?
Я настоятельно не рекомендую использовать пользователя apache в качестве владельца файлов по соображениям безопасности. Если один из ваших скриптов apache php скомпрометирован, он сможет писать в любой файл, принадлежащий apache.
Вы должны использовать право собственности на пользователя apache только для файлов, которые вам нужно изменить с помощью php.
Аргументом против того, чтобы один и тот же пользователь владел файлами и запускал процесс httpd, было бы то, что если ваш экземпляр apache был скомпрометирован, злоумышленник мог изменить файлы в вашем корневом каталоге.
Как обычно, безопасность и простота использования противоречат друг другу, поэтому вам придется звонить в зависимости от вашей среды.
Эта статья о apache и владении / разрешениях файлов немного устарела, но все еще применяются те же принципы
Опасность состоит в том, что сценарий или веб-сервер могут быть скомпрометированы, что позволит злоумышленнику записать файлы PHP на ваш сервер. Насколько реалистична эта угроза, зависит от таких вещей, как, например, возможность загрузки файлов в сценариях (и насколько хорошо они проверяют свои типы файлов) и запущенное программное обеспечение. Безопасность - это не предложение да / нет или / или - обычно ищут возможности сделать сервер более безопасным во многих разных местах. К сожалению, почти всегда безопасность идет вразрез с удобством.
Похоже, вы используете Ubuntu (например, аромат, поскольку они используют пользователя www-data)
Я бы рекомендовал всегда позволять пользователю и группе apache (установленным в httpd.conf или apache.conf) быть владельцем файлов вашего веб-сайта.
Я предпочитаю использовать apache: хотя apache