我需要在red中从python程序(python2.7)执行bash脚本,而这个bash脚本必须以splunk用户的身份从另一个用户帐户运行。
在Linux中,我将首先切换到splunk user 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文件。此命令不能传递到其他帐户。
发布于 2019-01-17 05:38:14
cmd1和cmd2是两个不同的进程,彼此之间没有任何影响。如果你想走su路线,你需要通过它来调用你的shell脚本:
...["su","-","splunk", "-c", "./path/myBashFile.sh"]...https://stackoverflow.com/questions/54225740
复制相似问题