是否可以配置 sudo 来询问 root 密码而不是用户密码?
服务器配置了一个 root 用户和一个具有有限权限的简单用户(我们称他为 simple),用于部署服务器上托管的所有应用程序。用户 simple 不在 sudoers 列表中,因此
$ sudo command
不起作用,因为 simple 的密码无法授予他 root 权限。
有时我需要通过 Capistrano(一个 ruby 部署工具)运行一些需要 root 访问权限的脚本,编写脚本以便以 root 身份登录、运行脚本然后注销非常困难。我希望能够执行以下语句
$ sudo god restart tasks-group
并让 Capistrano 提示我输入 root 密码。目前,Capistrano 提示输入部署用户密码,这显然是一个非管理员帐户。
答案1
我认为您正在尝试以不符合其预期的方式使 sudo 工作 - 您不想将“简单”用户添加到 sudoers 文件中(如果我错了,请纠正我)。
在这种情况下,sudo 不是您想要使用的工具,您需要发出su -c <command>
此命令以提示输入 root 密码,执行命令,然后退出。
答案2
如果您希望用户通过自己的密码或 root 密码进行身份验证,则需要在 sudoers 文件中设置一个标志。该标志称为rootpw
。Sudo 是一个非常强大的软件包,请务必查看有关 sudoers(5) 的手册页。
答案3
否。su
使用 root 密码成为 root 。
sudo
更好的解决方案可能是在部署机器上使用 capistrano 来执行需要 root 访问权限的任务。
答案4
如果允许部署用户使用 sudo,那么此时它确实会成为可以以管理方式行事的特权帐户。这就是 sudo 的目的。还是我误解了这个问题?