Jenkins配置:添加用户和管理权限
参考文章:http://www.cnblogs.com/zz0412/p/jenkins_jj_14.html
今天给大家说说使用Jenkins专有用户数据库的配置,和一些常用的权限配置。
在新安装好的jenkins中,默认是没有设置用户权限的,也就是说进入主页就是管理员权限。为了安全,我们需要配置用户权限。
1. 配置Jenkins权限,添加管理员账户
点击 左侧的 Manage Jenkins—>Configure Global Security进入如下界面:
(1)选中 “Enable security”;
a.在Security Realm中 选中”Jenkins’ own user database“ 并勾选 “Allow users to sign up”
b. 在 Authorization中,选择 “Matrix-based security”, 在 User/group to add 文本框中,输入admin,点击“Add”按钮,可以看到用户admin被添加到User/group表格中;
c. 在User/group表格中,给admin选择所有权限。
设置如上图,点击 Apply,点击 保存 按钮后,页面会跳转到 用户登录页面。页面右上角也会出现登录/注册的选项。
有的同学走到这儿 会有疑问"那用户和密码不是还没有设置吗?",当然没有设置用户名和密码。
执行如下操作:
点击 右上角 Sign Up, 进入 Sign up 页面
输入用户名 admin,密码 111111,确认密码,全名,E-mail 地址,点击 Sign up 按钮,页面会提示 Success,默认已经用admin用户登录了,而且admin是管理员,因为之前给admin选择了所有权限。
(1)用户需要在jenkins页面注册一个账户。方法:点击 右上角Sign up并填写相关信息,完成用户注册。(当然,注册后可以登录,但是没有其他权限)
(2)admin用户为该用户添加权限。方法:
a. 点击左侧的 Manage Jenkins—>Configure Global Security
b. 在 User/group to add 文本框中,输入cheers(刚才注册的用户名),点击“Add”按钮,用户被添加到User/group表格中。
c. 在到User/group表格中,找到对应的用户cheers,并选择相应的权限,然后Apply,保存。
到现在,用户添加成功了,用新的用户登录jenkins后,就可以看到 已经有相关操作权限了。
各种权限如下(在配置页面将鼠标放到该权限上即可查看帮助):
Overall(全局) | Credentials(凭证) | Slave(节点) | Job(任务) | View(视图) | |||||||||||||||||||||||
Administer | Read | RunScripts | UploadPlugins | ConfigureUpdateCenter | Create | Update | View | Delete | ManageDomains | Configure | Delete | Create | Disconnect | Connect | Build | Create | Delete | Configure | Read | Discover | Build | Workspace | Cancel | Create | Delete | Configure | Read |
管理员(最大) | 阅读 | 运行脚本 | 升级插件 | 配置升级中心 | 创建 | 更新 | 查看 | 删除 | 管理域 | 配置 | 删除 | 创建 | 断开连接 | 连接 | 构建 | 创建 | 删除 | 配置 | 阅读 | 重定向 | 构建 | 查看工作区 | 取消构建 | 创建 | 删除 | 配置 | 阅读 |
其中有一些比较特别的权限:
最大的权限是Overall的Administer,拥有该权限可以干任何事情。
最基本的权限是Overall的Read,用户必须赋予阅读的权限,不然什么都看不到。
Job的Discover权限是一个奇葩的权限,帮助说Discover比Read的级别更低。如果匿名用户(没有访问job的权限)直接访问一个Job的Url将重定向到登陆页面。(经测试,这个权限应该是被废弃了。)
Credentials的ManageDomains这个权限没有看懂干嘛的,有懂的大家一起交流哈!
ps:如果有个用户被赋予了Overall的Read,并没有被赋予Job的Read权限,那么该用户就无法访问job。原因:没有权限。
其他都是一些基本的权限,大家根据自己的需求选择。
小技巧:
(1)注册用户或者admin时,会有提示 用户已经存在,需要到 “/var/lib/jenkins/users”目录中将相应用户删掉(以linux为例)。
(2)如果是老的jenkins系统忘记admin的密码,参考 前一篇文章:
(3)每个用户后都有1-2个图标,第一个是反选功能(删除当前已选择的权限,选择其他所有权限),第二个是删除功能(删除该用户)
在Job中配置项目安全,如下图: