使用参数启用无密码 Sudo

wal*_*ake -2 sudo capistrano rhel6

我正在尝试启用无密码 sudo 以在 RHEL 机器上更新 yum。我在 sudo visudo 中有以下行。

myuser ALL=(ALL) NOPASSWD: /usr/bin/yum update
Run Code Online (Sandbox Code Playgroud)

在 myuser 下执行此操作后,如果不提供我的 sudo 密码,我仍然无法更新 yum。

  • /usr/bin/env sudo yum -y update
  • sudo yum -y update

我需要这样做的原因是因为在 Capistrano 3 中它说这是最好的方法。它似乎不再允许 sudo 提示。

小智 7

实际上,sudoers 中列出的命令字符串需要完全匹配。

在您的示例中,您将命令字符串/usr/bin/yum update放在 sudoers 配置行中,但您最终执行的命令是yum -y update. (不同之处在于额外的参数-y)。

然后,命令字符串中的不匹配导致 sudoers 未能达到设计的定义。

因此,我建议通过以下方式解决问题:

  1. /usr/bin/yum -y update设置 sudoer 配置时使用命令字符串,或

  2. 使用命令字符串/usr/bin/yum(那里没有参数)。