python - 在 python 程序中使用 su 执行命令
问题描述
我想制作一个 python 程序来更改用户,为 su 提供密码并执行命令。不使用 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()
和这个有预期的
import pexpect
child = pexpect.spawn('su testuser')
child.expect('Password: ')
child.sendline('Password123456')
child.sendline('id > /tmp/TEST')
解决方案
推荐阅读
- c++ - 我试图了解模板类是如何工作的,但我不断遇到编译问题
- html - 如何将两个html元素放在同一行的相对两侧
- sql - 在数组中搜索一个值并返回该值
- list - 在创建 PDF 时颤动 Table.fromTextArray 迭代列表
- spring-boot - 如何在 kotlin spring boot 中使用补丁映射
- python - “未解析的外部符号” - 将 Cython 扩展与 Windows 上的 C 库链接时出错
- ios - 核心数据中的重复对象
- python - 将日期时间字段转换为另一个时区并在 Python 中添加新列
- arrays - 字符串大小和地址间距的指针数组不匹配
- android - 序言中不能有内容。在构建我的 android 项目时出现此错误