Я пытаюсь выполнить sudo -S id
в оболочке TTY
, используя pty.spawn()
в python 2.7
.
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
Мой код основан на этом ответе: Выдача команд оболочке psuedo (pty)
Даже если пароль правильный, я получаю вышеуказанную ошибку, как исправить этот код, чтобы он выполнял sudo
и выводил вывод команды id
в стандартный вывод?