我正在尝试在Centos 7上设置Web服务器。我通过编辑/etc/httpd/conf/httpd.conf创建了一个虚拟主机。虚拟主机的根目录设置为/var/www/html/domain.com。我可以在浏览器中打开domain.com,没有任何问题。
但是,当我在PHP文件中使用get_current_user()来测试运行服务器的用户时,输出是“root”,这是一个安全性问题。
如何更改虚拟主机的用户?当我在Ubuntu中设置类似的场景时,我使用了apache2-mpm-itk模块,并使用“AssignUserID your_username your_username”配置了虚拟主机,并且它完成了这一操作。但我不知道如何在Centos中做到这一点。
由于
答案 0 :(得分:2)
您可以尝试使用SuexecUserGroup。
我从plesk的配置中找到了这个方法。
<VirtualHost *:80>
.
.
.
<IfModule mod_suexec.c>
SuexecUserGroup "anyuser" "anygroup"
</IfModule>
.
.
.
/VirtualHost>
答案 1 :(得分:0)
在CentOS中,此命令为您提供文件的所有者,而不是进程ID的所有者。这样的事情。它在PHP手册中。查看底部的评论。 get_current_user()顺便说一句,检查httpd.conf和httpd-vhost.conf中的User
和Group
指令。此外,使用ps -faux
可以清楚地了解httpd二进制文件与它生成的子元素之间的过程产生关系。只是想帮忙。 ; - )
另外,请查看本页顶部的How Apache Starts,以确保您了解Apache默认情况下的工作方式。如果你不这样做,那可能是一件好事! ; - )
答案 2 :(得分:0)
在CentOS 7中,您可以使用httpd-itk软件包。它位于EPEL存储库中,因此您需要先添加它。这样的事情应该得到它:
yum install epel-release
yum install httpd-itk
安装完成后,您需要通过取消注释LoadModule行来加载模块:
/etc/httpd/conf.modules.d/00-mpm-itk.conf
重新启动httpd,然后您可以在VirtualHost部分中使用新的AssignUserID指令。
答案 3 :(得分:-1)
您是否查看过/etc/httpd/conf/httpd.conf中指定的用户/组?它看起来像这样:
User apache
Group apache