我正在通过uwsgi从python执行sudo
语句。我将帐户(www-data
)配置为不需要sudo
的密码,但它不起作用。
如果我从shell运行,它可以正常使用所需的帐户:
www-data@srv sudo iptables -L -n
但是从我的脚本和uwsgi,它会提示输入密码。
在sudoers
我有:
www-data ALL=(ALL) NOPASSWD: /sbin/iptables
并在我的python脚本中:
subprocess.call(['sudo', '/sbin/iptables -L -n'])
谢谢,对不起我的英语。
答案 0 :(得分:0)
你可以在你的sudo之前tvp input parameter
查看你是否将其作为www-data执行?
答案 1 :(得分:0)
我在我的服务器上测试了这段代码,它可能是一个不错的选择:
subprocess.call("sudo" + " /sbin/iptables -L -n", shell=True)