在root下使用php从网页执行/运行可执行文件


Execute / run excutable under root using php from a webpage

我想在我的服务器上运行一个可执行文件,当用户点击网页上的一个按钮。我能够使用exec命令运行可执行文件,但程序在'nobody'下运行,即使我遵循了post中的说明:如何从PHP运行root用户下的bash脚本回答:Riateche

但可执行文件仍然在'nobody'下运行

我的可执行程序保存在目录
/opt/lampp/htdocs/project

My php code

<?
$variable = 10;
$site_dir = 'project';
echo "<img src ='".exec('/opt/lampp/htdocs/' . $site_dir .'/myProgram '.' '.$_GET['value1'] .' '. $variable )."'>";
?>

您没有在命令前使用sudo关键字:

echo "<img src ='".exec('/opt/lampp/htdocs/' . $site_dir .'/myProgram '.' '.$_GET['value1'] .' '. $variable )."'>";
应:

echo "<img src ='".exec('sudo /opt/lampp/htdocs/' . $site_dir .'/myProgram '.' '.$_GET['value1'] .' '. $variable )."'>";

我认为你需要在sudo users/rules文件中添加一个规则,允许你的命令在不输入你的或root密码的情况下运行。这个链接可能会告诉你怎么做。这里https://help.ubuntu.com/community/RootSudo