我正在尝试“重写”我服务器上某处的配置文件
if ($return = exec("sudo mv.sh '/etc/my/config.cfg' '/etc/my/config.cfg.bak'",$output)){
echo 'Yaaay';
}
else {
print_r($output);
print_r($return);
die('Couldn\'t move original config file');
}
目录 /etc/my 归服务器所有,但我尝试将以下行添加到我的 /etc/sudoers 文件中:
%admin ALL=(ALL) NOPASSWD: ALL
ALL ALL=NOPASSWD: /var/www/mysite/mv.sh
www-data ALL=(ALL:ALL) NOPASSWD:/etc/my/
现在我正在使用一个 shell 脚本文件,该文件由我网站根目录中的 www-data 所有,但我自己也尝试了一个 mv。
这是shell脚本的内容
$FILE1 = $1
$FILE2 = $2
mv $FILE1 $FILE2
我也尝试将 sudo 放在 mv 命令的前面,但这也不起作用..
如果我可以将此文件作为备份移动,我会很高兴,然后我想重新创建将一些内容放入其中的文件,我发布了...
file_put_contents('/etc/my/config.cfg', $_POST['contents']);
现在我没有收到任何错误,$output
并且$return
空空如也。我确实收到了我的失败信息
'Couldn\'t move original config file'