Ubuntu Jenkins权限管理指南
安装Jenkins
在Ubuntu上通过包管理器安装Jenkins,命令如下:
sudo apt update && sudo apt install jenkins
安装完成后启动服务并设置开机自启:
sudo systemctl start jenkins
sudo systemctl enable jenkins
启用全局安全配置
登录Jenkins Web界面(默认地址http://<服务器IP>:8080),进入Manage Jenkins → Configure Global Security,勾选Enable security以开启权限控制。此步骤是后续权限配置的前提。
Jenkins默认的权限模型较简单,推荐使用Role-based Authorization Strategy插件实现细粒度控制。
安装插件
进入Manage Jenkins → Manage Plugins → Available,搜索“Role-based Authorization Strategy”,点击Install without restart完成安装。
配置授权策略
再次进入Configure Global Security,在Authorization部分选择Role-Based Strategy,点击Save保存配置。
角色分为三类:全局角色(管理Jenkins整体权限)、项目角色(控制特定项目的访问)、节点角色(管理节点/代理的访问)。
进入角色管理页面
点击Manage Jenkins → Manage and Assign Roles → Manage Roles。
创建全局角色
admin、developer)。admin角色需勾选Overall → Administer(系统管理权限);developer角色可勾选Overall → Read(查看权限)、Job → Build(构建权限)、Job → Cancel(取消构建权限)等。创建项目角色
project-admin-*、project-developer-*)。project-admin-*表示所有以project-admin-开头的项目),勾选Item → Build、Item → Configure等权限。创建节点角色(可选)
node-admin-*),定义节点名称匹配规则(如ubuntu-agent-*),勾选Node → Connect、Node → Disconnect等权限。创建用户
进入Manage Jenkins → Manage Users → Add User,填写用户名、密码等信息,点击Create User完成创建。
分配角色
进入Manage and Assign Roles → Assign Roles,在User/group to add输入框中输入用户名,点击Add,然后在对应角色(全局、项目、节点)前的复选框中打勾,点击Save保存分配。
使用创建的不同用户登录Jenkins,验证权限是否符合预期:
admin用户应能访问所有管理功能(如系统配置、插件管理);developer用户应能查看项目、触发构建,但不能修改系统配置;修改Jenkins运行用户
默认情况下,Jenkins以jenkins系统用户运行。若需调整权限,可创建新用户(如jenkins-admin)并修改/etc/default/jenkins中的JENKINS_USER参数:
sudo adduser jenkins-admin
sudo usermod -aG jenkins jenkins-admin
sudo sed -i 's/JENKINS_USER=jenkins/JENKINS_USER=jenkins-admin/g' /etc/default/jenkins
sudo systemctl restart jenkins
此操作可将Jenkins服务权限转移至指定用户。
使用LDAP集成(大型团队推荐)
对于用户较多的场景,可通过LDAP Authentication插件集成企业LDAP目录(如Active Directory),实现用户账号的集中管理。