我们有以下设置:
我们在Jenkins中有一个CICD工具,它使用这些Unix盒作为从服务器。我们具有 spande 凭据,可以通过Jenkins登录到此Unix服务器。
我们正在使用Jenkins管道脚本(常规)。一切都很好,但是我们希望Jenkins脚本以更高的特权运行,因此需要知道:
感谢您的帮助!
答案 0 :(得分:1)
通常来说,只要您没有授予超出您所需权限的权限,就可以将sudo
用作脚本的一部分。与其运行su - admin
,通常不如找出Jenkins需要在admin中运行 as 的命令,然后将其直接放入sudoers文件中。
假设您需要以用户admin
的身份运行以下程序,作为Jenkins工作的一部分:
/usr/bin/execute
/home/admin/calculate
/opt/synergize
您的sudoers文件可能类似于以下内容(假设您的Jenkins用户为jenkins
):
jenkins ALL = (admin) NOPASSWD: /usr/bin/execute, /home/admin/calculate, /opt/synergize
这将使jenkins
用户无需密码即可运行以下命令:
sudo -u admin /usr/bin/execute
sudo -u admin /home/admin/calculate
sudo -u admin /opt/synergize
从安全角度来看,这比提供su - admin
访问更为可取,因为这样jenkins
可以做admin
可以做的任何事情而没有任何实际限制。 sudoers文件为very flexible,您应该能够限制jenkins,同时仍然允许它执行所需的工作。