在配置权限前,需确保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的精细化权限管理,确保系统安全与团队协作效率。