[英]Running a linux subprocess in python with sudo
因此,这有点令人困惑,但实际上我正在使用Django,并且我想实例化一个子进程来运行perl脚本。 我读过这可以做到
arg = "/some/file/path/"
pipe = subprocess.Popen(["./uireplace", arg], stdin=subprocess.PIPE)
当我在views.py中的适当函数中调用它时,它可以工作,但是脚本需要一个sudo。 然后我称这个
pipe = subprocess.Popen(["sudo","./uireplace", arg], stdin=subprocess.PIPE)
当我从终端在python中运行它时,它可以工作,但是当网络上的随机用户调用它时,它不起作用。 有什么方法可以自动输入该sudo的用户名和密码? 问题是无法通过提示完成此操作,因此它只会失败。
在操作系统级别解决此问题。 向网络上的任何用户授予使用sudo
的权利听起来并不正确。 只需使./uireplace
可执行即可。 chmod有很多选项可以进行微调。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.