Процесс httpd работает с apache
учетные данные пользователя / группы, а папка / var / www / html принадлежит root
группа пользователей.
Как лучше всего управлять разрешениями в общедоступной html-папке? Оставьте их как принадлежащие root
или назначьте каждый файл и папку apache
пользователь?
Оставьте их владельцем как root, пока другому пользователю не понадобится право записи в папки. Пользователь apache не должен владеть чем-либо вообще, за исключением случаев крайней необходимости, поскольку это может усугубить уязвимости системы безопасности. Например, если злоумышленник каким-то образом смог найти способ заставить apache создавать файлы где-нибудь на вашем компьютере, если apache может создавать новые файлы в / var / www / html, злоумышленник может создать новый. php, который делает все, что он хочет, используя учетные данные apache, открывая эту php-страницу в своем веб-браузере.
Нет канонического способа управлять этой настройкой. Однако я считаю, что root-доступ следует использовать только в случае крайней необходимости.
Из-за этого я установил каталог / var / www / html для обычного пользователя, например. веб-мастер. Таким образом, для обычного доступа к файлам, связанным с Интернетом, не требуется root-доступ.
Каталогам, требующим доступа на запись для apache, потребуются либо разрешения на запись в мире, либо они принадлежат apache, либо будут установлены групповой доступ.
Здесь есть хороший обзор использования липких групп: https://stackoverflow.com/questions/2560762/php-mkdir-and-apache-ownership