【发布时间】:2014-09-02 12:42:17
【问题描述】:
我在 /etc/sudoers 中有这个:
%wheel myhostname =NOPASSWD: /bin/bash -c "echo foo && echo bar", \
/bin/bash -c echo foo
执行sudo /bin/bash -c echo foo 不会被提示输入密码。
但是,sudo /bin/bash -c "echo foo && echo bar" 仍然要求输入密码。
我已经尝试了很多种变体,但没有被接受。
哪里出错了? / 如何允许 -c 后跟多个命令?
【问题讨论】:
-
一个明显的解决方法:将其称为 /usr/local/bin 中的脚本并在 /etc/sudoers 中引用该脚本 :)
-
@user3159253 这是我目前的方法 - 我想摆脱它:)
-
嗯,最明显的解决方案通常是最好的 :) sudoers 手册页提到要传递给 shell 的特殊符号应该受到反斜杠保护,但我在你的命令。
-
附加文件会使我的设置复杂化,因为受影响的脚本不止一个,而且还有多台机器。我还用
sudo /bin/bash -c \"echo foo && echo bar\"进行了测试 - 没有成功。 -
你试过
\&\&吗?