从python程序内部使用su执行命令

时间:2020-10-10 18:48:25

标签: python python-2.7 ubuntu subprocess

我想制作一个可以更改用户,为su提供密码并执行命令的python程序。不使用SUDO。最好带有子流程

例如:

su testuser -c id > /tmp/test

我已经写了这些脚本,但是它们不起作用。

import subprocess
su_password = ("Password\n")

proc = subprocess.Popen('su testuser -c id > /tmp/test', shell=True, stdin=subprocess.PIPE, stdout=subprocess.PIPE)
proc.stdin.write(su_password)
proc.stdin.flush()

还有这个带有pexpect的

import pexpect
child = pexpect.spawn('su testuser')
child.expect('Password: ')
child.sendline('Password123456')
child.sendline('id > /tmp/TEST')

0 个答案:

没有答案