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
注意:修改運行用戶可能影響插件兼容性,需提前測試。