温馨提示×

ubuntu jenkins怎么权限

小樊
33
2026-09-13 07:08:18
栏目: 智能运维

在 Ubuntu 上部署 Jenkins 时,“权限”通常涉及以下几个方面,下面按常见场景给你说明:


一、Jenkins 运行用户与文件权限

1. Jenkins 默认用户

Ubuntu 上通过官方包安装 Jenkins 后,默认使用 jenkins 用户运行:

cat /etc/default/jenkins
# 或
ps -ef | grep jenkins

2. 修改 Jenkins 目录权限

Jenkins 主目录默认在:

/var/lib/jenkins
/var/log/jenkins
/var/cache/jenkins

如果需要手动操作:

sudo chown -R jenkins:jenkins /var/lib/jenkins

二、让 Jenkins 有 sudo 权限(常用)

很多构建任务需要执行 dockersystemctlapt 等命令。

方法 1:把 jenkins 加入 sudo(不推荐太开放)

sudo usermod -aG sudo jenkins

方法 2:配置免密 sudo(推荐)

sudo visudo

添加:

jenkins ALL=(ALL) NOPASSWD: ALL

或只给特定命令:

jenkins ALL=(ALL) NOPASSWD: /usr/bin/docker, /bin/systemctl

三、Jenkins 使用 Docker 的权限

把 jenkins 加入 docker 组

sudo usermod -aG docker jenkins
sudo systemctl restart jenkins

验证:

sudo -u jenkins docker ps

四、Jenkins Web 界面权限管理

1. 启用安全

Manage Jenkins → Security → Enable security

2. 使用内置用户数据库

  • 勾选 Jenkins’ own user database
  • 取消 “Allow users to sign up”(生产环境)

3. 授权策略

常用:

  • Matrix Authorization Strategy(推荐)
  • Role-Based Strategy(插件)

安装 Role-based 插件

Manage Jenkins → Plugin Manager → Role-based Authorization Strategy

五、Jenkins 访问宿主机文件/目录权限

如果 Jenkins 要读取项目目录:

sudo chown -R jenkins:jenkins /data/project
# 或
sudo chmod -R 775 /data/project

六、端口与防火墙权限

Jenkins 默认端口:

8080

开放端口:

sudo ufw allow 8080

七、常见权限错误

错误 原因 解决
Permission denied 文件属主不是 jenkins chown jenkins
docker: permission denied 不在 docker 组 usermod -aG docker
sudo: no tty Jenkins 无终端 配置 NOPASSWD
403 无权限 未登录/无角色 配置 RBAC

如果你能具体说一下是 哪一类权限问题(比如:

  • Jenkins 执行 shell 没权限
  • 无法访问 git
  • Docker 构建失败
  • Web 登录权限)

我可以直接给你对应的解决方案。

0