Apache作为ubuntu上的root用户


Apache as root on ubuntu

好的,我需要以root的身份运行Apache web服务器。为此,我键入了whoami在终端中。它为我提供输出:root。但是,当我通过执行以下php脚本来检查我的apache服务器是否以root用户身份运行时:<php echo whoami;?>它给我输出:没有人。那么,在apache中以root用户身份执行/登录有什么建议吗??

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

通过这种方式,您可以将Web服务器用户放在sudoers文件中,并让它以root身份运行php-cli。

然后,在您的脚本中,您可以简单地使用:

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

这将是一个比以root身份运行Apache更安全的解决方案,在我看来,这是一个非常糟糕的想法,即使你知道自己在做什么。

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

您可以自定义这些变量

export APACHE_RUN_USER=root
export APACHE_RUN_GROUP=root

我回应了以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;