为什么在 ps -aux 中 httpd 以 root 身份运行,而其余部分以 apache 身份运行?

为什么在 ps -aux 中 httpd 以 root 身份运行,而其余部分以 apache 身份运行?

当我执行 ps -aux 时,为什么有一个 httpd 副本以 root 身份运行,而其余副本以 apache 身份运行?

ps -aux | grep httpd
Warning: bad syntax, perhaps a bogus '-'? See /usr/share/doc/procps-3.2.8/FAQ
root      2820  0.0  1.1 126740 13372 ?        Ss   10:23   0:00 /usr/sbin/httpd
apache    2822  0.0  0.5 126804  6456 ?        S    10:23   0:00 /usr/sbin/httpd
apache    2823  0.0  0.5 126804  6456 ?        S    10:23   0:00 /usr/sbin/httpd
apache    2824  0.0  0.5 126804  6456 ?        S    10:23   0:00 /usr/sbin/httpd
apache    2825  0.0  0.5 126804  6460 ?        S    10:23   0:00 /usr/sbin/httpd
apache    2826  0.0  0.5 126804  6460 ?        S    10:23   0:00 /usr/sbin/httpd
apache    2827  0.0  0.5 126740  6272 ?        S    10:23   0:00 /usr/sbin/httpd
apache    2828  0.0  0.5 126740  6276 ?        S    10:23   0:00 /usr/sbin/httpd
apache    2829  0.0  0.5 126740  6276 ?        S    10:23   0:00 /usr/sbin/httpd
root      3505  0.0  0.0   5460   744 pts/0    R+   11:27   0:00 grep httpd

答案1

因为您的 Apache 配置包括:

User apache

Apache 需要 root 权限才能绑定到低编号端口(例如 80 和 443)。一旦端口开放,Apache 就会更改为权限较低的用户,以便在发生安全漏洞时限制对您系统的访问。

相关内容