weiqi7777

jenkins同步服务器账号

0
阅读(2327)

Jenkins上,可以创建用户,并对每个用户,进行权限设置,从而可以有不同的操作权限。

如果jenkins安装在linux服务器上,想让linux服务器的用户,自动的同步到jenkins的用户上,难道要手动的一个用户一个用户的创建?

其实在Jenkins中,是可以通过设置,将linux服务器用户,同步到jenkins的用户中。

在系统管理中,有configure global security。配置全局安全设置。

clip_image002[4]

    在访问控制的安全域,选项中,有4个设置。每个设置,都有授权策略。

clip_image004[4]

    默认为是第一种,也就是在jenkins上的专有用户,默认是admin,可以访问Jenkins。其他的用户不能访问。如果勾上了允许用户注册,那么大家可以在jenkins网页上,注册用户。

下面的授权策略,是设置针对于用户,设置不同组件的相应权限。

其中overall的设置优先级最高,一旦read设置,相当于后面所有的组件的read权限针对于该用户是开启的。如果Adminster设置,相当于该用户有超级用户权限,后面组件所有权限对于该用户是开启的,也就是可以做任何事情。

 

安全域,设置为unix用户/组数据库。这样,就可以同步服务器的用户到jenkins的用户上。

授权策略,可以根据自己的需要,进行设置。如以下,选择的是项目矩阵授权策略。

clip_image006[4]

   在添加用户/组的输入框中,输入要更改权限的 用户或者组。选择添加。

  对于用户组,可以在用户组,前加@,表示添加的是用户组,而不是用户。如以下,就是添加的用户组,jun.lu。因此对于一个用户组,有多个用户,设置用户组,就对多个用户同时设置了。

clip_image008[4]

 

   添加完毕后,就可以进行设置权限了。

  但是在我的jenkins上,添加后,jenkins却不识别这个用户。提示这个用户或用户组,不存在。

clip_image010[4]

   通过查阅网络资源,定位问题在PAM这个上。但是对这个东西,不了解,也不会配置,所以目前也解决不了这个问题。问题,其实是在于,jenkins不能获取到服务器上的账号密码信息,所以不能进行账号和密码的同步。

clip_image012[4]

   但是在公司的服务器上,jenkins是可以通过这个方式,来同步服务器用户到jenkins上的。

clip_image014[4]

   如果,有谁知道怎么解决这个问题的,麻烦告知一下。

 

   这样设置后,服务器中的用户,就可以通过自己的账号和密码,在jenkins上进行登录了。