当我运行ps -efH
命令以列出所有进程时,我可以看到Apache以的方式运行,root
并且似乎有以的方式运行的子流程www-data
。这是摘录:
root 30117 1 0 09:10 ? 00:00:00 /usr/sbin/apache2 -k start
www-data 30119 30117 0 09:10 ? 00:00:00 /usr/sbin/apache2 -k start
www-data 30120 30117 0 09:10 ? 00:00:00 /usr/sbin/apache2 -k start
www-data 30121 30117 0 09:10 ? 00:00:00 /usr/sbin/apache2 -k start
我可以让Apache和所有子流程以不同的用户身份运行apache2d:apache2d
吗?如果可以,怎么办?我在某处读到可以找到此设置,/etc/apache2/httpd.conf
但该文件似乎为空?是否可以通过更改/etc/init.d/apache2
脚本的所有者和组,然后在其上设置setuid标志来完成?
Apache必须首先以root用户身份运行才能绑定到端口80。如果最初不以root用户身份运行,则不能绑定到端口80。如果要绑定到1024以上的某个端口,则可以。否则不用担心root。那是父Apache进程,不处理任何请求。它将产生子进程并删除用于处理请求的特权。
要更改Apache用户,请在您的Apache配置中设置User
和Group
参数。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句