我有一个需要 SU 权限才能运行的 Python 文件(在 Ubuntu 服务器上)。
无法弄清楚该怎么做。
像这样从 PHP 运行它:
$command = "python /path/to/my/file.py params";
$temp = exec($command, $output);
var_dump($output);
不工作。(Xvfb 无法为非 root 用户启动)
试过:
$command = "echo 'root_pwd' | sudo -S python /program.py params"
...
没用。
试过:编辑/etc/sudoers:
Cmnd_Alias BUNDLE = /path/to/myprog.py
nobody ALL=(ALL) NOPASSWD:BUNDLE
接着:
$command = "sudo -u nobody python myprog.py params";
...
没用。
当我说“不起作用”时 - 我的意思是 var_dump($output) 返回空数组,服务器上没有成功的结果(myprog.py 应该在服务器上生成一个文件)或者页面只是加载几分钟直到它超时。
基本 .py 文件(不需要特殊权限)工作。
请帮忙。
PS:.Py 文件正在制作 URL 的截图,因此使用 webkitgtk、Xvfb 和其他一些东西。