Ubuntu Jenkins权限设置操作指南
1. 前置准备:安装Jenkins
若未安装Jenkins,可通过以下命令快速部署:
sudo apt update && sudo apt install jenkins -y
安装完成后,启动Jenkins服务并设置开机自启:
sudo systemctl start jenkins && sudo systemctl enable jenkins
2. 启用Jenkins全局安全
登录Jenkins Web界面(默认地址:http://<服务器IP>:8080
),完成初始设置后,进入Manage Jenkins → Configure Global Security:
- 勾选Enable security(启用安全);
- 在Security Realm部分,选择Jenkins’ own user database(使用Jenkins自带用户数据库);
- 点击Save保存配置。
3. 安装权限管理插件(推荐Role-based Authorization Strategy)
Jenkins默认权限模型较简单,需通过插件实现细粒度控制。以Role-based Authorization Strategy(基于角色的授权策略)为例:
- 进入Manage Jenkins → Manage Plugins;
- 切换至Available标签,搜索“Role-based Authorization Strategy”;
- 勾选插件并点击Install without restart(无需重启安装)。
4. 配置基于角色的权限策略
安装完成后,进入Manage Jenkins → Configure Global Security,在Authorization部分选择Role-Based Strategy,随后进入Manage Jenkins → Manage and Assign Roles进行角色管理:
- ① 管理全局角色(Global roles):
点击Manage Roles→Global roles标签,点击Add创建角色(如“Admin”“Developer”“Viewer”);
为角色分配权限(如“Overall: Administer”表示管理员权限,“Overall: Read”表示只读权限)。
- ② 管理项目角色(Project roles):
切换至Project roles标签,点击Add创建项目角色(如“Frontend-Project”“Backend-Project”);
使用正则表达式匹配项目名称(如frontend-.*
表示所有以“frontend-”开头的项目),并为角色分配权限(如“Build”“Cancel”“Read”)。
- ③ 管理节点角色(Node roles,可选):
若需控制用户对特定节点的访问,可切换至Node roles标签,创建节点角色并分配节点名称或标签(如linux-node
)。
5. 创建用户并分配角色
- 创建用户:进入Manage Jenkins → Manage Users,点击Add User,填写用户名、密码等信息,点击Save。
- 分配角色:进入Manage Jenkins → Manage and Assign Roles→Assign Roles标签,选择用户并在对应角色前打勾(如将“frontend-dev”用户分配至“Developer”全局角色和“Frontend-Project”项目角色)。
6. 可选:调整Jenkins运行用户(优化权限)
默认情况下,Jenkins以jenkins
系统用户运行。若需让Jenkins以特定用户(如jenkins-admin
)运行,可修改配置文件:
sudo vim /etc/default/jenkins
找到JENKINS_USER=jenkins
,修改为JENKINS_USER=jenkins-admin
,保存后执行:
sudo chown -R jenkins-admin:jenkins-admin /var/lib/jenkins /var/cache/jenkins /var/log/jenkins
sudo systemctl restart jenkins
7. 验证权限设置
- 使用不同用户登录Jenkins,尝试执行管理操作(如创建任务、修改配置)或访问项目,确认权限是否符合预期;
- 若权限未生效,可检查插件是否启用(Manage Jenkins → Manage Plugins→Installed)、配置是否保存正确。
通过以上步骤,可在Ubuntu上为Jenkins配置完善的权限体系,确保不同用户仅能访问和操作其被授权的资源,提升系统安全性。