我有一个名为 sudo -i -u user /bin/bla/whatever 的 bash 脚本。直到最后一次更新到 CentOS 5.8 之前,它都运行良好。这是 sudoers 文件中的相应条目:
Runas_Alias TEST = user1, user2
Defaults:test always_set_home
test ALL=(TEST) NOPASSWD: /bin/bash -c /bin/bla/whatever, /bin/bla/whatever
如果我使用 sudo -i 它似乎调用了命令
"/bin/bash -c /bin/bla/whatever"
(关于安全日志)。现在,自从更新以来,它似乎调用
"/bin/bash -c \/bin\/bla\/whatever"
因此是不允许的。我试图将 sudoers 文件中的行更改为
test ALL=(TEST) NOPASSWD: /bin/bash -c /bin/bla/whatever, /bin/bla/whatever, /bin/bash -c \/bin\/bla\/whatever
但那是不允许的语法,所以我尝试了:
test ALL=(TEST) NOPASSWD: /bin/bash -c /bin/bla/whatever, /bin/bla/whatever, /bin/bash -c \\/bin\\/bla\\/whatever
这是有效的语法,但也不起作用。
如果我使用 sudo -H -u user /bin/bla/whatever 它工作正常。即使我在 sudoers 文件中允许 /bin/bash ,但这将允许任何事情.....
有任何想法吗?
埃里克