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进程的访问范围。