刚注册了GitLab runner,使用shell类型时身份验证失败



刚刚安装了GitLab runner服务,并尝试运行一个基本作业。

我得到了以下输出:

密码:su:身份验证失败错误:作业失败:准备环境:退出状态1。检查https://docs.gitlab.com/runner/shells/index.html#shell-配置文件加载以获取更多信息

在谷歌上搜索,我发现.bash_loop的内容可能有问题,但我的.bash_look是空白的。我为gitlab runner用户创建并添加了ssh密钥,并且能够通过ssh手动克隆,但我无法运行作业。有人经历过这件事,可以提出建议吗?

我发现问题出在pam文件中。root无法升级到gitlab runner

背景故事:GitLab runner以root用户身份运行,以便检索例如/etc/gitlab-runner/config.toml文件。如果您的gitlab运行程序已经在无根运行,您可能需要从systemd服务文件中删除--user gitlab-runner。但是,您的Gitlab Runner很可能是以root身份运行的。

如果您提高主机上的安全性并禁用根用户和su命令。您可以通过编辑/etc/pam.d/su文件并设置:再次启用此功能

auth       sufficient pam_rootok.so

或者只允许root用户使用su命令只切换到gitlab runner用户(无密码(:

auth  [success=ignore default=1] pam_succeed_if.so user = gitlab-runner
auth  sufficient                 pam_succeed_if.so use_uid user = root 

最新更新