Mri*_*lla 12 linux apache-http-server user-accounts permissions ubuntu
当我运行ps -efH命令列出所有进程时,我可以看到 Apacheroot以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
Run Code Online (Sandbox Code Playgroud)
我可以让 Apache 和所有子进程以不同的用户身份运行apache2d:apache2d吗?如果是这样怎么办?我在某处读到可以在其中找到此设置/etc/apache2/httpd.conf但该文件似乎是空的?这可以通过更改/etc/init.d/apache2脚本的所有者和组然后在其上设置 setuid 标志来完成吗?
bah*_*mat 24
Apache 最初必须以 root 身份运行才能绑定到端口 80。如果您最初不以 root 身份运行它,那么您将无法绑定到端口 80。如果您想绑定到 1024 以上的某个端口,那么是的,您可以。否则不要担心root。那是父 Apache 进程,不处理任何请求。它将产生子进程并删除处理请求的权限。
要更改 Apache 用户,请在 Apache 配置中设置User和Group参数。
@bahamat 解释得很好,但我会添加更多细节。
在正常操作过程中,root 拥有的 apache 进程除了侦听端口 80 并将传入连接转发到其子进程(安全地非特权,作为用户www-data)之外,不会执行任何实际操作。
主配置文件的位置取决于编译时选项,并且每个发行版都有所不同,但这/etc/apache2/apache2.conf是一个很好的起始猜测。
另外,如果您正在设置一个多用户虚拟主机系统,您可能需要查看SuExec 和 fcgid,以便每个单独的虚拟主机用户的 apache 进程都以所述用户的身份运行——这样,如果一个用户疏忽了其安全性,其他用户也将受到影响。用户不会受到影响。
| 归档时间: |
|
| 查看次数: |
73392 次 |
| 最近记录: |