jenkins slave作为用户运行

Roc*_*nce 13 permissions active-directory jenkins

我有一个jenkins设置,有多个用户使用Active Directory插件登录.这很有用,这样每个用户都可以访问自己的任务.

但是,每个用户在本地网络上也有不同的权限,例如访问不同的文件夹等.我注意到,给每个任务的权限不是链接到用户,而是链接到作为服务运行的从属帐户.有没有办法改变它,以便在用户的凭证(以及因此权限)下在奴隶上执行任务?

谢谢

Von*_*onC 5

问题是:Jenkins主服务器只有一个从属进程运行分配给该服务器的不同作业.
因此,从属设备本身作为一个用户(通常是专用帐户或系统帐户)运行.

由于您可以将用户ID作为环境变量(使用JENKINS Build User Vars插件等插件),因此您可以考虑配置作业,以便构建步骤以"运行"为触发构建的用户.
例如,参见JENKINS Authorize Project插件.

https://wiki.jenkins-ci.org/download/attachments/70877566/authorize-project_01_globalsecurity.png?version=2&modificationDate=1439085782000&api=v2

https://wiki.jenkins-ci.org/download/attachments/70877566/authorization-page.png?version=1&modificationDate=1486871612000&api=v2

但是,如上所述这个答案:

"授权项目"插件不会更改运行命令的操作系统级别用户.
它只使用Jenkins身份验证(无论它可能是什么)设置运行作业的Jenkins用户和任何下游作业.

因此,您将使用runas或su -c命令进行构建步骤,确保您的任务确实与正确的用户一起运行.