Назад | Перейти на главную страницу

Apache работает как root вместо пользователя, указанного в httpd.conf

Я пытаюсь разрешить WordPress загружать файлы в папку wp-content без установки разрешений для папки на 777. Однако у меня возникают некоторые трудности.

Группа и пользователь, настроенные для папки wp-content, соответствуют группе, и пользователь Apache настроен для использования в httpd.conf. Однако, когда я запускаю команду ниже, кажется, что Apache на самом деле работает от имени пользователя root, а не пользователя, указанного в httpd.conf.

httpd.conf Конфигурация

User xxx
Group yyy

Выполнение команды для определения того, от имени пользователя ли Apache запущен

ps aux | grep httpd

Выход из приведенной выше команды

513       1294  0.4  1.4 316420 54864 ?        S    08:30   0:06 /usr/sbin/httpd

513 - правильный UID для пользователя xxx, поэтому он отображается правильно. Однако я по-прежнему не могу загружать файлы в WordPress, не установив для папки wp-content права доступа 777.

Может кто-нибудь сказать мне, в чем проблема?

Apache всегда должен запускаться как root, затем он использует setuid для переключения на пользовательский контекст указанного пользователя в httpd.conf.

Без root (uid = 0) вы не можете создать прослушивающий сокет на привилегированных портах (ниже 1024)

Подробности читайте в следующих документах:

Из первой ссылки:

# ps -ef | grep -i http | awk '{print $1}'
root
apache
apache
apache
apache
apache