Jenkins服务用户重启mongodb服务

Jenkins服务用户重启mongodb服务

Centos 7. 通常,当我想以非 root 用户身份运行 sudo 命令时,我会打开 visudo,并将此行添加到正确的位置:

%<userGroup> ALL= NOPASSWD: <command>

当我想使用 jenkins 用户重新启动服务(就我目前的情况而言)时,我想这样做:

%jenkins ALL= NOPASSWD: /usr/bin/systemctl restart mongod.service

到目前为止一切顺利。然后我像这样切换到 jenkins 用户:

sudo su -s /bin/bash jenkins

然后我测试命令,一切正常。我也对停止/状态/启动命令执行了同样的操作,并对其进行了测试。这就是我想要用它们做的全部。问题是;当我使用 jenkins 运行测试时,它会调用这些命令但不执行任何操作。这个 mongodb 仅用于测试,因此它只在我们需要时运行是可以的。所以我想知道的是;如何让它工作?或者如何使用服务用户重新启动/停止/启动服务?

答案1

以防万一其他人遇到相同类型的问题:我没有收到这些事情的任何错误消息,所以我决定将所有内容放入脚本文件中,然后授予使用 sudo 权限运行脚本文件的权限。在这种情况下,我收到此错误消息:“sudo:抱歉,您必须有一个 tty 才能运行 sudo”使用它,我可以用这个解决方案来查找问题: https://unix.stackexchange.com/questions/122616/why-do-i-need-a-tty-to-run-sudo-if-i-can-sudo-without-a-password

相关内容