【发布时间】:2020-04-12 01:28:14
【问题描述】:
我正在尝试从 python 脚本执行 sudo:
import os
command = 'id'
os.popen("sudo -S %s"%(command), 'w').write('password')
出于安全原因,我的服务器配置为不允许非 TTY shell 执行 sudo,是否有解决方法可以使用 python(不使用 su)执行 sudo 命令。
以上代码输出:
sudo: sorry, you must have a tty to run sudo
【问题讨论】:
-
这些答案都没有回答我的问题@ZyxokUnum
-
@dd_doriz 您是否尝试在密码后添加 RETURN。可能是终端在等你提交密码? os.popen("sudo -S %s"%(command), 'w').write('password\r')
-
这能回答你的问题吗? Issuing commands to psuedo shells (pty)
标签: python python-3.x linux sudo