mod_suexec被 PHP 忽略了



我设置了一个虚拟主机,该主机使用mod_suexec以与www-data不同的用户身份运行PHP脚本。

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

但是,当我创建一个目录或文件(mkdirfile_put_contents)时,这些文件/目录www-data所有者。我也无法读取只能由webconfig读取的文件。

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

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

生成以下输出:

webconfig
www-data
www-data

mod_php5实际上与mod_suexec不兼容。如本文所述,您必须改用mod_suphpphp-cgi。缺点是这会降低性能。

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

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

链接的文章介绍了如何将mod_php5用于某些虚拟主机,mod_suphp用于其他虚拟主机。

相关内容

  • 没有找到相关文章

最新更新