在CentOS上管理Jenkins用戶前,需確保Jenkins已正確安裝并運行。若未安裝,可通過以下命令快速部署:
# 添加Jenkins官方YUM源
sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo
sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key
# 安裝Jenkins及依賴
sudo yum install -y jenkins java-11-openjdk-devel
# 啟動Jenkins服務并設置開機自啟
sudo systemctl start jenkins
sudo systemctl enable jenkins
訪問http://<CentOS服務器IP>:8080,按提示完成初始設置(默認管理員賬號為admin,初始密碼位于/var/lib/jenkins/secrets/initialAdminPassword)。
默認情況下,Jenkins未啟用安全機制,需通過以下步驟開啟:
admin),保存配置。通過管理界面手動創建用戶(若已禁用自行注冊):
dev_user);為實現細粒度權限控制,需安裝并配置Role-based Authorization Strategy插件:
admin:分配Overall → Administer(全局管理權限,可管理Jenkins所有功能);viewer:分配Overall → Read(僅查看權限,可訪問項目但不修改)。developer:設置項目正則表達式(如dev-.*,匹配所有以dev-開頭的項目),分配Job → Build(構建權限)、Job → Cancel(取消權限)、Job → Read(查看權限);tester:設置項目正則表達式(如test-.*,匹配所有以test-開頭的項目),分配Job → Read(查看權限)、Job → Console Output(查看控制臺輸出權限)。admin角色分配給管理員賬號(如admin),將viewer角色分配給需要查看權限的用戶;在Item roles部分將developer角色分配給開發人員賬號(如dev_user),將tester角色分配給測試人員賬號(如test_user)。dev_user賬號登錄Jenkins,嘗試訪問dev-*開頭的項目(應能構建、查看),訪問test-*開頭的項目(應無權限)。tester_user賬號登錄Jenkins,嘗試訪問test-*開頭的項目(應能查看控制臺輸出),訪問dev-*開頭的項目(應無權限)。admin賬號登錄Jenkins,嘗試管理用戶、修改全局配置(應能正常操作)。Jenkins默認以jenkins用戶身份運行,需確保該用戶對Jenkins目錄有正確的訪問權限:
# 查看Jenkins運行用戶
ps aux | grep jenkins | grep -v grep
# 修改Jenkins目錄所有者(若用戶為jenkins)
sudo chown -R jenkins:jenkins /var/lib/jenkins
sudo chown -R jenkins:jenkins /var/cache/jenkins
sudo chown -R jenkins:jenkins /var/log/jenkins
# 若需修改Jenkins運行用戶(如改為apache),需編輯/etc/sysconfig/jenkins
sudo vim /etc/sysconfig/jenkins
# 修改以下行
JENKINS_USER="apache"
JENKINS_GROUP="apache"
# 重啟Jenkins
sudo systemctl restart jenkins
注意:修改運行用戶后,需確保新用戶對Jenkins目錄有讀寫權限,避免服務異常。
通過以上步驟,可在CentOS上完成Jenkins用戶的創建、權限分配及驗證,確保團隊成員僅能訪問其職責范圍內的資源,提升系統安全性。