当我执行 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 就会更改为权限较低的用户,以便在发生安全漏洞时限制对您系统的访问。