You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

求解答:如何绕过GitLab Runner执行sudo命令的密码验证或获取其默认密码

解决GitLab Runner执行sudo免密验证的方法

首先明确:GitLab Runner没有默认密码——它默认使用系统用户gitlab-runner执行任务,这个用户通常是无登录密码的受限系统账户,没法通过输入密码绕过sudo验证,正确的做法是给该用户配置免密sudo权限,具体步骤如下:

  • 打开系统的sudoers配置文件(必须用visudo,避免语法错误导致sudo失效):
    sudo visudo
    
  • 在文件末尾添加一行配置,根据需求二选一:
    1. 允许该用户执行所有sudo命令都免密:
      gitlab-runner ALL=(ALL) NOPASSWD: ALL
      
    2. 仅允许执行特定命令免密(比如仅允许apt更新/升级):
      gitlab-runner ALL=(ALL) NOPASSWD: /usr/bin/apt update, /usr/bin/apt upgrade
      
  • 保存退出(visudo里按Ctrl+O保存,Ctrl+X退出)
  • 验证配置是否生效:切换到gitlab-runner用户,执行sudo命令测试
    sudo su - gitlab-runner
    sudo apt update # 这里应该直接执行,不会要求输密码
    

容器化Runner的特殊情况

如果用的是Docker类型的Runner,有两种处理方式:

  • 提前在自定义镜像里配置好gitlab-runner用户的免密sudo权限,然后用这个镜像作为Runner的执行环境
  • 或者在Runner配置里启用特权模式(不推荐,安全性低),但更稳妥的还是前者

内容的提问来源于stack exchange,提问作者Thor

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.10 00:35:25