1

我正在使用 Python 2.7 和来自 mac 端口的最新铅包。

一般来说,铅效果很好。虽然我有一段时间让 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

标准错误:| sudo:未知用户:userfoo

用户确实存在,所以不完全确定这里的交易是什么。

注释?

4

1 回答 1

4

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

from plumbum.cmd import sudo

as_userfoo = sudo["-u", sudo_user]
print(as_userfoo("whoami"))
于 2014-04-24T23:52:18.520 回答