Apache作为ubuntu上的root用户

时间:2012-03-26 14:09:48

标签: php apache xampp

好的我需要以 root 的身份运行我的Apache Web服务器。为此,我在终端输入了 whoami; 。它给了我输出: root 。但是当我通过执行以下php-script检查我的apache服务器是否以root用户身份运行时:< ?php echo whoami; ?> 它给了我输出: nobody 。那么在apache中以root用户身份执行/登录的任何建议

3 个答案:

答案 0 :(得分:4)

我建议在您的服务器上创建一个外部PHP文件来处理与此扩展相关的所有内容。然后,您可以使用shell_execsudo一起调用此脚本。

这样,你可以将你的webserver用户放在你的sudoers文件中,让它以root身份运行php-cli。

然后,在您的脚本中,您只需使用:

$output = shell_exec("sudo /bin/php /yourscript.php");

这将是一个更多的安全解决方案,而不是以root身份运行Apache,在我看来,即使你知道自己在做什么,这也是一个非常糟糕的主意

答案 1 :(得分:1)

如果您知道自己在做什么,请查看文件 / etc / apache2 / envvars

您可以自定义这些变量

export APACHE_RUN_USER=root
export APACHE_RUN_GROUP=root

答案 2 :(得分:0)

我回应了以root身份运行apache进程的问题。这只是个坏主意。 这就是为什么我最近发布了一个允许PHP获取真实Bash shell并与之交互的项目。在此处获取:https://github.com/merlinthemagic/MTS

下载后,您只需使用以下代码:

$shell    = \MTS\Factories::getDevices()->getLocalHost()->getShell('bash', true);
$return1  = $shell->exeCmd('php /var/scripts/test.php');
//the return will be a string containing the return of the script
echo $return1;