在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用户的创建、权限分配及验证,确保团队成员仅能访问其职责范围内的资源,提升系统安全性。