首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从其他用户运行linux中的命令行

问如何从其他用户运行linux中的命令行
EN

Stack Overflow用户
提问于 2019-01-17 05:33:32
回答 1查看 108关注 0票数 1

我需要在red中从python程序(python2.7)执行bash脚本,而这个bash脚本必须以splunk用户的身份从另一个用户帐户运行。

在Linux中,我将首先切换到splunk user su - splunk,然后以splunk用户身份在下面输入命令./mybashFile

这是我尝试过的:

代码语言:javascript
复制
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文件。此命令不能传递到其他帐户。

EN

回答 1

Stack Overflow用户

发布于 2019-01-17 05:38:14

cmd1和cmd2是两个不同的进程,彼此之间没有任何影响。如果你想走su路线,你需要通过它来调用你的shell脚本:

代码语言:javascript
复制
...["su","-","splunk", "-c", "./path/myBashFile.sh"]...
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54225740

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档