如何设置从PHP执行Python脚本的SUDO权限

我在Raspberry Pi上运行Raspbian Wheezy,我想从PHP调用一个Python脚本。 这一切都很好(我称之为' exec python go.py '从PHP),但现在我想调用一个需要root权限的脚本。

我明白,以root身份运行将帮助我在这里(' exec sudo python go2.py ',所以我将这行代码添加到我的sudo文件

 %www-data ALL=(ALL) NOPASSWD: ALL 

好吧,现在它再次运作。 但后来我了解到,授予www-data组无限制的sudo权利并不是一个好主意。 然后我发现这个问题( 如何授予特定的脚本文件的sudo权限? ),它向我展示了如何将sudo权限授予单个目录:

 %www-data ALL=(ALL) NOPASSWD: /var/www/exec/ 

然后一切都停止了,因为这在我的机器上不起作用。

你能告诉我我做错了吗?

我使用lighttpd作为我的networking服务器。

你需要使用sudo运行的sudopython ,而不是exec ,所以试试这个:

 %www-data ALL=(ALL) NOPASSWD: /usr/bin/python /path/to/the/go2.py