所以我正在尝试创build一个sudoers文件,但是我遇到了一些我无法弄清楚的东西。
我正在寻找的最终结果是,我希望用户能够做到这样的事情:
sudo /usr/sbin/script.pl
但是,而不是作为根运行,我想脚本运行为“other_user”。
我看着sudoers文件,并尝试添加一行:
pedro ALL = (other_user) /usr/sbin/script.pl
但是,只有通过执行sudo -u other_user /usr/sbin/script指定用户才有效。
有没有一种(简单的)让脚本作为特定的用户运行,而不必在命令行中指定它?
我不认为有这样做的configuration参数。 你可以破解源代码并重新编译它。 你也可以使用别名,例如
alias sudo='sudo -u pedro'
但是之后你必须记得把sudo当作其他任何东西
\sudo somecommand
这是可能的工作:
alias sudop='sudo -u pedro' alias sudoa='sudo -u alice'
你还必须指定一些除了sudo以外的东西,但它是深入连接的,并且很容易地input。 我使用这个变化来运行常见的sudo命令。
做sudo chown other_user /usr/sbin/script; sudo chmod 6777 sudo chown other_user /usr/sbin/script; sudo chmod 6777这会将脚本的所有者更改为other_user,然后将其设置为可编辑和可执行的,最后将其设置为other_user运行。
sudo chown other_user /usr/sbin/script; sudo chmod 6555 sudo chown other_user /usr/sbin/script; sudo chmod 6555 //与上面相同但是只读sudo chown other_user /usr/sbin/script; sudo chmod 6755 sudo chown other_user /usr/sbin/script; sudo chmod 6755 //与6777相同,但只能由other_user编辑
看man chmod和man chown了解更多细节