mod_suexec
とは別のユーザーとして PHP スクリプトを実行するために使用する仮想ホストをセットアップしましたwww-data
。
<VirtualHost *:80>
ServerName my.server.com
DocumentRoot /srv/my-site
SuexecUserGroup webconfig webconfig
</VirtualHost>
ただし、ディレクトリまたはファイル ( mkdir
、file_put_contents
) を作成すると、それらのファイル/ディレクトリwww-data
の所有者は になります。でしか読めないファイルも読めませんwebconfig
。
この奇妙な動作にも気付きました: この php ファイル:
echo get_current_user()."\n";
echo `whoami`."\n";
echo exec('whoami')."\n";
次の出力が生成されます。
webconfig
www-data
www-data