Apache работает как root
любая стандартная конфигурация. Как вы определили, что Apache работает от имени пользователя root? Обратите внимание, что Apache должен запускаться от имени пользователя root для привязки к привилегированным портам, но обычно он теряет свои привилегии позже.
Вы можете посмотреть в конфигурации Apache (часто /etc/httpd
или /etc/apache2
, в зависимости от дистрибутива) для User
и Group
директив (документированных здесь ). Эти две директивы управляют тем, под каким именем пользователя запускается Apache.
Также необычно найти систему, в которой «нет других групп или пользователей». Что делать getent passwd
и getent group
показывать? Существуют ли на самом деле нет других пользователей или групп, кроме root
? Большинство дистрибутивов поставляются с пользователем apache
или www-data
пользователем, либо с такой конфигурацией, которая будет запускать Apache от имени этого пользователя.
Существует множество вводных руководств по настройке и безопасности Apache. Простой поиск в Google дает много вероятных результатов. Руководство по развертыванию RedHat / CentOS - хорошее место для начала (если вы работаете в системе RedHat / CentOS).