【发布时间】:2019-01-16 21:33:31
【问题描述】:
我需要从 red hat 中的 python 程序 (python2.7) 执行 bash 脚本,而这个 bash 脚本必须以 splunk 用户身份从另一个用户帐户运行。
在Linux下,我会先切换到splunk用户su - splunk,然后在splunk用户下输入命令./mybashFile
这是我尝试过的:
import subprocess
cmd1=subprocess.Popen(["su","-","splunk"],shell=True,stdout=subprocess.PIPE)
cmd2=subprocess.Popen(["./path/myBashFile.sh"],shell=True,stdin=cmd1.stdout,stdout=subprocess.PIPE)
cmd2.stdout
我仍然无法以 splunk 用户身份运行此 bash 文件。此命令无法传递给其他帐户。
【问题讨论】:
-
请参阅 this question 了解为什么不能像发布的那样工作的根本原因
标签: python linux subprocess splunk