0

我设置了一个虚拟主机,用于mod_suexec以不同于www-data.

<VirtualHost *:80>
    ServerName my.server.com
    DocumentRoot /srv/my-site
    SuexecUserGroup webconfig webconfig
</VirtualHost>

但是,当我创建目录或文件 ( mkdir, file_put_contents) 时,这些文件/目录将www-data作为owner。我也无法读取只能由webconfig.

我也注意到了这种奇怪的行为:这个 php 文件:

echo get_current_user()."\n";
echo `whoami`."\n";
echo exec('whoami')."\n";

产生以下输出:

webconfig
www-data
www-data
4

1 回答 1

0

mod_php5实际上是不兼容的mod_suexec。如本文所述,您必须使用mod_suphpandphp-cgi来代替。缺点是这会降低性能。

适用于 Ubuntu 的简单解决方案是

apt-get install -y suphp-common, libapache2-mod-suphp
a2dismod php5
a2enmod suphp

链接的文章描述了如何mod_php5用于某些虚拟主机和mod_suphp其他虚拟主机。

于 2013-10-22T23:10:40.310 回答