为什么 Apache root 进程会回答请求?

为什么 Apache root 进程会回答请求?

我在 Ubuntu 10.04 服务器上运行 Apache prefork MPM。它监听端口 8080。一个进程以 的身份运行root,子进程以 的身份运行www-data。这与宣传的一样。

但是,该root进程也会响应请求!因此,有些请求被响应为root,大多数请求被响应为www-data。这当然很不幸。

这是什么原因?httpd.conf 说

MinSpareServers 2
MaxSpareServers 5
StartServers 1
MaxClients 50

答案1

我相信您看到的情况是绝对安全的:父进程已在内部将 root 权限降低到 www-data,以便处理请求。进程本身当然仍由 root 拥有,因为 root 启动了它,并且如果它们被调用,它仍然需要以 root 身份运行某些操作(例如信号处理程序来处理重新加载配置文件和重新配置服务器)。

相关内容