在plumbum上使用python运行sudo命令的问题

时间:2014-04-24 23:37:28

标签: python plumbum

我正在使用Python 2.7和mac ports中最新的plumbum软件包。

总的来说,铅非常有用。虽然我有一点时间得到一个sudo'd命令工作。我已经为我想要运行的命令设置了我的/ etc / sudoers而不必提示,所以没关系。我可以毫无问题地手动运行命令。

但是,当我使用python尝试相同的时候:

sudo["/usr/local/some-magic-command here"]
sudo("-u " + sudoUser) # sudo user is userfoo

我收到以下错误:

  

plumbum.commands.processes.ProcessExecutionError:命令行:['/ usr / bin / sudo',' - u userfoo']

     

退出代码:1

     

Stderr:| sudo:未知用户:userfoo

用户确实存在,所以不确定这笔交易是什么。

评论

1 个答案:

答案 0 :(得分:3)

没有" -u userfoo"用户。可能只是" userfoo"。注意:没有-u前缀。尝试:

from plumbum.cmd import sudo

as_userfoo = sudo["-u", sudo_user]
print(as_userfoo("whoami"))