在配置權限前,需確保CentOS系統已安裝Java(Jenkins依賴)和Jenkins本身。
sudo yum update -y
sudo yum install java-11-openjdk-devel -y # 推薦使用Java 11及以上版本
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
sudo yum install jenkins -y
sudo systemctl start jenkins
sudo systemctl enable jenkins
Jenkins默認以jenkins
用戶運行,為避免權限沖突,建議創建專用用戶并調整目錄歸屬。
jenkins_admin
):sudo useradd -m jenkins_admin # 創建用戶及家目錄
sudo passwd jenkins_admin # 設置密碼
/etc/sysconfig/jenkins
),將運行用戶改為jenkins_admin
:sudo vim /etc/sysconfig/jenkins
# 找到“JENKINS_USER=jenkins”行,修改為:
JENKINS_USER=jenkins_admin
jenkins_admin
:sudo chown -R jenkins_admin:jenkins_admin /var/lib/jenkins # Jenkins主目錄
sudo chown -R jenkins_admin:jenkins_admin /var/cache/jenkins # 緩存目錄
sudo chown -R jenkins_admin:jenkins_admin /var/log/jenkins # 日志目錄
sudo systemctl restart jenkins
權限管理的核心是啟用安全功能,步驟如下:
http://<CentOS_IP>:8080
),用初始管理員賬戶登錄(首次登錄需輸入/var/lib/jenkins/secrets/initialAdminPassword
中的密碼)。為解決多用戶場景下的細粒度權限問題,需安裝Role-based Authorization Strategy插件(支持全局、項目、節點級別的權限分配)。
通過“Manage and Assign Roles”頁面,可完成全局角色、項目角色、節點角色的定義與分配:
admin
),勾選權限(如“Overall: Administer”“Overall: Read”)。dev-project-*
可構建dev-project
開頭的任務)。
dev-builder
),勾選“Item: Build”“Item: Read”等權限,設置匹配的項目名稱模式(如dev-project-*
)。jenkins_admin
、dev_user
)添加到對應角色中。dev_user
),分配“Project Builder”角色,嘗試用該用戶登錄,驗證是否能觸發指定項目的構建。/var/lib/jenkins
目錄(包含任務、配置、插件等信息)。通過以上步驟,可在CentOS上實現Jenkins的精細化權限管理,確保系統安全與團隊協作效率。