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

Основной pid Apache как root, хотя никто не настроен?

Я считаю, что все настроил правильно, когда построил сервер (возможно, это была предварительно настроенная ЛАМПА, которую Linode предоставил хосту VPS, которая все настроила)

Кажется, что каждый процесс Apache выполняется под пользователем nobody, что я и предполагал в конфигурации, однако более низкий PID (самый длительный процесс Apache) все еще работает под root, и мои сценарии PHP, похоже, сообщают о текущем пользователе как root через спрашивать в phpinfo ().

это связано с тем, что корень может порождать Apache, а его дочерние элементы правильно появляются под определенным пользователем none в соответствии с его конфигурацией? Обрабатываются ли какие-либо фактические страницы с помощью этого корневого процесса Apache, или это просто родительский элемент?

Я немного обеспокоен, однако у меня нет проблем с запуском нового Apache со свежим умом, чтобы исправить это, если это немного больше, чем ошибка конфигурации.

Незначительное редактирование дополнительной информации: похоже, что $ _SERVER ['user'] является пользователем root, хотя $ _SERVER ['apache_run_user'] (аналогично этому) показывает www-данные (хотя и не никого), я не уверен, что это ошибка PHP, может я попробую отредактировать корневой файл на PHP и посмотрю ..

изменить 2: нет, PHP не может редактировать корневые файлы. Полагаю, что $ _SERVER ['user'] (и хакерский скрипт аудита) неверно полагать, что PHP имеет root-права. тем не менее, все еще интересующийся процессом Apache.

это связано с тем, что корень может порождать Apache, а его дочерние элементы правильно создаются под определенным пользователем none в соответствии с его конфигурацией?

Да.

Обрабатываются ли какие-либо фактические страницы с помощью этого корневого процесса Apache, или это просто родительский элемент?

Нет, никакие страницы не обрабатываются корневым процессом, и да, он нужен только для того, чтобы быть родителем. Так должно быть по следующей причине.

Apache привязывается к привилегированному порту (то есть к порту с маленьким номером, до 1023 включительно), в основном 80 или 443. Для привязки к привилегированному порту вы должны быть root: вот почему они называются «привилегированными портами».

Если вы проверите свой основной процесс sshd, вы увидите, что этот процесс тоже работает от имени root. Теперь подключаемся через ssh. Скорее всего, ваш личный процесс sshd, разветвленный от основного, работает под вашей собственной непривилегированной учетной записью.