LINUX.ORG.RU

apache как root


0

0

Собрал апач, и заметил что один его процесс (родительский) висит из под рута.
root 23709 0.0 0.5 11696 5324 ? S 21:14 0:00 /opt/apache/bin/httpd
nobody 23713 0.0 0.6 12372 6216 ? S 21:14 0:00 \_ /opt/apache/bin/httpd
nobody 23714 0.0 0.6 12432 6300 ? S 21:14 0:00 \_ /opt/apache/bin/httpd
nobody 23715 0.0 0.5 12352 6176 ? S 21:14 0:00 \_ /opt/apache/bin/httpd
nobody 23716 0.0 0.6 12648 6504 ? S 21:14 0:00 \_ /opt/apache/bin/httpd
nobody 23717 0.0 0.6 12504 6380 ? S 21:14 0:00 \_ /opt/apache/bin/httpd
nobody 23718 0.0 0.5 12324 6172 ? S 21:14 0:00 \_ /opt/apache/bin/httpd
nobody 23720 0.1 0.6 12672 6540 ? S 21:14 0:00 \_ /opt/apache/bin/httpd
nobody 23721 0.0 0.6 12488 6392 ? S 21:14 0:00 \_ /opt/apache/bin/httpd
nobody 23722 0.0 0.6 12492 6356 ? S 21:14 0:00 \_ /opt/apache/bin/httpd
nobody 23723 0.0 0.6 12648 6480 ? S 21:14 0:00 \_ /opt/apache/bin/http

Это нормально, или все таки дыра ? Если последнее, то как побороть ? Раньше вроде бы не замечал никогда такого.

anonymous

>Это нормально, или все таки дыра ?

нормально.
этот процесс нужен чтобы "рожать" потомков и "цеплять" их на 80 порт :) другими словами: этот процесс не обрабатывает http запросы от клиентов - это делают его потомки, которые работают от простого юзера.

Rost ★★★★★
()

Открывать порты < 1024 может только root. Так что чтоб слушать 80 порт, апачевый родительский процесс работает рутом. Но все запросы обрабатываются уже непривилегированным процессом.

Если это тебя не устраивает -- запускай апач полностью от юзера, слушающим порт 8080, а соединения с 80 на 8080 перебрасывай через iptables (ipchains, ipfw, ipfilter, ...)

Zulu ★★☆☆
()

Хорошо если так. Я ведь чего спросил то ...
это не первый сервер, и везде апач висел только от nobody, сейчас даже специально посмотрел процессы.
Сборка тоже везде была одинаковая (suexec, php и modperl через so подключены).

Спасибо всем за ответы.

anonymous
()
Ответ на: комментарий от anonymous

>это не первый сервер, и везде апач висел только от nobody

не спец в апаче но
можно под root открыть 80 порт а потом перевисти uid процеса в nobody
и все будет работать как надо.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.