1. 准备工作:安装Jenkins并启动服务
在Debian系统上,首先通过包管理器安装Jenkins并启动服务:
sudo apt update && sudo apt install jenkins -y
sudo systemctl start jenkins
sudo systemctl enable jenkins # 设置开机自启
安装完成后,Jenkins默认以jenkins系统用户运行,初始可通过http://<服务器IP>:8080访问Web界面。
2. 初始用户配置:创建管理员用户
首次安装时,Jenkins会生成一个临时初始管理员密码(位于/var/lib/jenkins/secrets/initialAdminPassword),需通过Web界面解锁:
sudo cat /var/lib/jenkins/secrets/initialAdminPassword # 查看初始密码
解锁后,选择“安装建议的插件”,随后进入“创建管理员用户”步骤,填写用户名、密码、全名等信息并保存。此用户将拥有Jenkins的最高权限。
3. 安装权限管理插件:Role-based Authorization Strategy
默认情况下,Jenkins的“登录用户可以做任何事”策略无法满足精细化权限需求,需安装Role-based Authorization Strategy插件实现角色管控:
4. 配置全局安全策略:启用角色授权
安装插件后,需修改Jenkins的全局安全设置以启用角色管理:
5. 创建角色:定义权限模板
角色分为三类,需分别创建以覆盖不同层级的权限需求:
admin、developer、viewer),勾选对应权限(如Overall: Administer表示系统管理员权限);project-dev-*),使用通配符匹配项目名称(如project-dev-*表示所有以“project-dev-”开头的项目),勾选对应权限(如Item: Build、Item: Read);6. 分配角色:将角色关联至用户
角色创建后,需将角色分配给具体用户才能生效:
dev-user1),勾选其对应的角色(如developer);project-dev-*);7. 验证权限:测试用户访问
创建不同角色用户后,需通过登录验证权限是否符合预期:
admin用户登录,应能访问所有功能(如系统管理、所有项目);developer用户登录,应只能访问其有权限的项目(如project-dev-01),并执行构建等操作;viewer用户登录,应只能查看项目信息,无法修改或构建。8. 可选:调整Jenkins运行用户(高级)
默认情况下,Jenkins以jenkins系统用户运行,若需修改为其他用户(如jenkins-admin),需完成以下步骤:
jenkins组:sudo adduser jenkins-admin
sudo usermod -aG jenkins jenkins-admin
/etc/default/jenkins,将JENKINS_USER设置为新用户:JENKINS_USER=jenkins-admin
sudo chown -R jenkins-admin:jenkins /var/lib/jenkins
sudo chown -R jenkins-admin:jenkins /var/log/jenkins
sudo systemctl restart jenkins
注意:修改运行用户可能影响插件兼容性,需提前测试。