CentOS Jenkins權限管理設置指南
在配置權限前,需完成Jenkins及依賴環境的安裝與基礎安全設置:
sudo yum install java-11-openjdk-devel -y
安裝OpenJDK 11,并通過java -version
驗證安裝。sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repos
),導入密鑰(sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key
),并通過sudo yum install jenkins -y
安裝。sudo systemctl enable jenkins
)并啟動服務(sudo systemctl start jenkins
)。sudo firewall-cmd --permanent --add-port=8080/tcp
并sudo firewall-cmd --reload
。確保Jenkins運行目錄權限正確,避免因權限問題導致服務異?;虬踩[患:
/etc/sysconfig/jenkins
文件,將JENKINS_USER
設置為jenkins
(避免使用root),并同步修改目錄所有者:sudo chown -R jenkins:jenkins /var/lib/jenkins /var/cache/jenkins /var/log/jenkins
。sudo chmod 755 /opt/jenkins
(若自定義安裝路徑)。啟用Jenkins安全功能,配置用戶認證方式,是權限管理的基礎:
Manage Jenkins
→Configure Global Security
,勾選Enable security
。Manage Users
頁面創建用戶(Create User
),支持密碼認證。LDAP Plugin
后,在Configure Global Security
→LDAP
tab配置服務器地址、綁定DN等信息,實現用戶統一管理。Jenkins默認的權限策略(如“Logged-in users can do anything”)過于寬松,建議安裝Role-based Authorization Strategy插件實現細粒度控制:
Manage Jenkins
→Manage Plugins
→Available
tab,搜索“Role-based Authorization Strategy”,點擊Install without restart
。Manage Jenkins
→Manage and Assign Roles
→Manage Roles
,創建角色并分配權限:
Overall
→Administer
(完全控制)。dev-project-*
匹配所有以“dev-project-”開頭的項目),分配Item
→Build
、Read
等權限。linux-node-*
),分配Node
→Connect
、Disconnect
等權限。將用戶與角色關聯,確保權限生效:
Manage and Assign Roles
→Assign Roles
,在Global roles
、Item roles
、Node roles
tab中為用戶或用戶組(如developers
)分配對應角色。developer
用戶只能構建指定項目,無法修改全局配置;admin
用戶可訪問所有功能)。/var/lib/jenkins
(Jenkins主目錄)及/etc/sysconfig/jenkins
(配置文件),防止數據丟失。semanage
命令配置SELinux策略(如semanage fcontext -a -t jenkins_sys_rw_content_t "/var/lib/jenkins(/.*)?"
),限制Jenkins進程的訪問范圍。