我正在尝试在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中怎么做。
谢谢
发布于 2016-01-21 08:14:15
为此,您可以尝试使用SuexecUserGroup。
我在plesk的配置中发现了这个方法。
<VirtualHost *:80>
<IfModule mod_suexec.c>
SuexecUserGroup "anyuser" "anygroup"
</IfModule>
/VirtualHost>发布于 2016-01-16 07:22:16
在CentOS中,这个命令会给出文件的所有者,而不是进程ID的所有者。它在PHP手册中。查看底部的评论。get_current_user()顺便说一下,请检查httpd.conf和httpd-vhost.conf中的User和Group指令。此外,使用ps -faux可以清楚地了解httpd二进制文件及其派生的子级之间的进程派生关系。我只是想帮你。;-)
此外,请查看此页面顶部的How Apache Starts,以确保您了解默认情况下Apache是如何工作的。如果你的工作方式不是这样,那可能是一件很好的事情!!;-)
发布于 2017-03-12 02:22:42
在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指令了。
https://stackoverflow.com/questions/34821158
复制相似问题