我想制作一个可以更改用户,为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')