7

我想在我的所有应用程序服务器上安装 gem,但是 gem install 需要 sudo 访问权限 - 我如何才能启用 sudo 仅用于运行此 capistrano 命令?

换句话说,我不希望在我的所有部署方案中都使用 sudo,就在我在命令行上调用此命令时。

4

3 回答 3

12

找到它 - cap invoke COMMAND=" command that requires sudo " SUDO=1

于 2008-09-24T19:03:16.500 回答
1

我不太确定我是否理解这个问题,但我认为您是在问如何将 sudo 限制为一个特定的命令,而不必授予所有 Ruby 开发人员无限的恶作剧能力。

可以设置 /etc/sudoers 来限制允许用户以 root 身份调用的命令。它通常设置为 ALL,但您可以只提供允许的命令列表。

于 2008-09-24T18:36:32.523 回答
0

最好为此使用 unix ACL 或类似权限。授予部署用户 sudoer 访问权限,然后您可以调用run "sudo do_something",它将仅对该调用具有 sudo 级别的访问权限。

于 2012-09-25T22:23:33.577 回答