Debian下Jenkins权限设置步骤
首先通过Debian包管理器安装Jenkins,并启动服务:
sudo apt update && sudo apt install jenkins -y
sudo systemctl start jenkins
sudo systemctl enable jenkins
访问http://<服务器IP>:8080完成初始设置(如设置管理员密码、创建初始用户),默认管理员账号为admin,密码位于/var/lib/jenkins/secrets/initialAdminPassword。
Jenkins默认以jenkins系统用户运行,建议创建专用管理用户并加入jenkins组,提升安全性:
sudo adduser --system --group --disabled-login --no-create-home jenkins-admin # 创建专用管理用户
sudo usermod -aG jenkins jenkins-admin # 将用户加入jenkins组
sudo chown -R jenkins:jenkins /var/lib/jenkins /var/log/jenkins # 设置数据目录所有权
sudo chmod -R 755 /var/lib/jenkins /var/log/jenkins # 设置合理权限
修改Jenkins运行用户(可选但推荐):
编辑/etc/default/jenkins,设置:
JENKINS_USER=jenkins-admin
JENKINS_GROUP=jenkins
重启Jenkins使配置生效:
sudo systemctl restart jenkins
该插件是实现基于角色的权限管理的核心工具,需通过Jenkins插件管理器安装:
启用安全并切换至基于角色的授权模式:
通过Manage and Assign Roles功能管理角色(需安装插件后出现):
全局角色控制用户对Jenkins整体系统的访问权限(如系统管理、全局配置):
admin、viewer);Overall: Administer表示系统管理权限,Overall: Read表示只读权限),点击Save。项目角色控制用户对具体项目的访问权限(如构建、查看):
dev-project-*、test-project-*,*为通配符,匹配项目名);Item: Build表示构建权限,Item: View表示查看权限),点击Save。节点角色控制用户对Jenkins节点( agent)的访问权限,适用于分布式构建场景,配置方式类似项目角色。
将创建的角色关联至具体用户:
admin);dev-project-*),为用户勾选对应项目角色(如dev-developer);创建不同用户并分配角色,登录验证权限是否符合预期:
admin):应能访问所有功能(如系统配置、所有项目);dev-user):仅能访问被授权的项目(如dev-project-*),执行构建、查看等操作,无法访问系统管理页面。sudo ufw allow from <信任IP> to any port 8080
/var/lib/jenkins(数据目录)和/var/log/jenkins(日志目录),防止数据丢失。