【发布时间】:2020-04-12 20:30:11
【问题描述】:
我正在尝试使用python 2.7 中的pty.spawn() 在TTY shell 中执行sudo -S id。
import os
import pty
command = 'id'
scmd ="sudo -S %s"%(command)
def reader(fd):
return os.read(fd, 50)
def writer(fd):
yield 'password'
yield ''
pty.spawn(scmd, reader, writer)
当我执行上述代码时,python 解释器会输出以下错误:
OSError: [Errno 13] Permission denied
我的代码基于这个答案: Issuing commands to psuedo shells (pty)
即使密码正确,我也会收到上述错误,如何修复此代码以使其执行sudo 并将id 命令的输出打印到标准输出?
【问题讨论】: