我正在为 Centos7 上的一些生物信息分析配置服务器,并且我安装了 rundeck。Rundeck 似乎将脚本作为自己的帐户名启动,我决定使用 sudo 绕过来使其访问我的脚本。
使用 visudo 我可以使 sudo 与 rundeck 更改为 root 有一些没有密码的命令。一旦我输入用户 bioinfo 而不是 root,系统就会要求输入相同命令的密码。
这是 sudoers 文件的一部分:
root ALL=(ALL) ALL
bioinfo ALL=(ALL) ALL
rundeck ALL=(bioinfo) NOPASSWD:/home/bioinfo/singularity_data/Bionano3.5,/usr/local/bin/singularity,/bin/*
我不知道 root 和 bioinfo 之间有什么不同,因为它们具有相同的权利。有没有人知道当它与 root 一起工作时,什么会导致它不能与 bioinfo 一起工作?
我尝试以 root 身份运行我的配置
su - rundeck
然后做一个
sudo whoami
if root => root
if bioinfo => 询问密码
谢谢
为了使用户
bioinfo
能够在不输入密码的情况下运行 sudo 命令,您需要修改bioinfo
sudoers 中的条目以包含NOPASSWD:
如果用户是在 sudoers 中指定的组(例如 %wheel 或 %users)的成员,则最后一个条目优先 - 所以将此条目放在下面。
如果您希望一个用户能够在不需要密码的情况下以另一个用户身份运行事物:
那么您需要以该格式调用命令,
sudo -u bioinfo <cmd>
否则它认为您仍在尝试以 root 身份调用