允许我在 ubuntu linux 9.04 上刚刚创建的新用户执行需要一些 sudo 的脚本而不允许他使用 sudoers 的最佳方法是什么?
事实上,我只想让用户拥有执行该脚本的能力,而不让他做任何其他事情。
有没有简单的方法可以做到这一点?
答案1
如果脚本确实需要 root 权限,您可以限制他的 sudo 能力仅限于该脚本(请参阅man sudoers
)。如果多个用户都需要此功能,请为此创建一个组,如果他们只允许执行一次,请修改脚本,以便之后将用户从组中删除。
此外,请特别确保您的脚本是安全的,特别是如果它使用参数。
答案2
如果它更加流畅(即您以后可能添加其他脚本,或者您可能想要添加/删除许多用户执行文件的权限),您可以创建一个组,将用户添加到该组,将文件的组所有权设置为该组,然后添加组执行权限。
答案3
Lshell 就是解决方案。你可以限制任何命令只对用户有效。结合 sudo 和 MySecureShell 可以为你提供强大的解决方案。
答案4
你不能将 suid 位添加到你的 shellscript 中。因此,如果你的 shellscript 属于 root,你可以
sudo chown root:root someScript
sudo chmod u+s someScript
这样就可以了。