为了加强我们 Jenkins CI 服务器的安全性(在 Ubuntu 14.04 上运行 1.614),我昨天配置了 LDAP 插件。昨天一切似乎都很好,我能够登录并手动配置和运行一些构建。
然而,今天早上,没有人——包括我自己——能够登录。
我们被告知要查看服务器控制台输出 - 但是,/var/log/jenkins/jenkins.log
中没有任何记录。 .我找到了 How do I view the Jenkins server console output on the local filesystem? - 但在 /usr/lib/jenkins/
中没有这样的日志文件(我的 Jenkins 主目录)。
我已经在 https://wiki.jenkins-ci.org/display/JENKINS/LDAP+Plugin 尝试了简单的故障排除 groovy 脚本,但每个查询返回:
Checking the name 'wibble'...
It is NOT a group, reason: No such property: Jenkins for class: RemoteClass
It is NOT a user, reason: No such property: Jenkins for class: RemoteClass
我的安全配置:
<useSecurity>true</useSecurity>
<authorizationStrategy class="hudson.security.AuthorizationStrategy$Unsecured"/>
<securityRealm class="hudson.security.LDAPSecurityRealm" plugin="ldap@1.11">
<server>server.ip.address</server>
<rootDN>dc=domain,dc=location,dc=au</rootDN>
<inhibitInferRootDN>false</inhibitInferRootDN>
<userSearchBase>dc=domain,dc=location,dc=au</userSearchBase>
<userSearch>sAMAccountName={0}</userSearch>
<groupSearchBase>ou=groups</groupSearchBase>
<groupSearchFilter>(& (cn={0}) (objectclass=group) )</groupSearchFilter>
<groupMembershipStrategy class="jenkins.security.plugins.ldap.FromGroupSearchLDAPGroupMembershipStrategy">
<filter>(&(objectCategory=group)(member={0}))</filter>
</groupMembershipStrategy>
<managerDN>cn=administrator,cn=users,dc=domain,dc=location,dc=au</managerDN>
<managerPasswordSecret>wurble-bop-de-boo</managerPasswordSecret>
<disableMailAddressResolver>false</disableMailAddressResolver>
<displayNameAttributeName>displayname</displayNameAttributeName>
<mailAddressAttributeName>mail</mailAddressAttributeName>
<userIdStrategy class="jenkins.model.IdStrategy$CaseInsensitive"/>
<groupIdStrategy class="jenkins.model.IdStrategy$CaseInsensitive"/>
</securityRealm>
一夜之间没有进行任何配置更改,我们将这些相同的凭据/设置用于来自大约 3 或 4 个不同应用程序的其他 LDAP 集成,并且它们都运行良好。
最佳答案
在“配置全局安全性”页面上简单地添加或修改用户后,我遇到了类似的问题。我认为正如@davidrv87 所说:Chrome 会自动填充一些隐藏的“用户名”和“密码”字段并破坏您的 LDAP 设置。
结果
在主 Jenkins config.xml
文件,错误的设置在 <securityRealm>
下显示为新的子节点:
<securityRealm class="hudson.security.LDAPSecurityRealm" plugin="ldap@1.11">
+ <managerDN>myusername</managerDN>
+ <managerPasswordSecret>uT5S1rfROmNBuEsw8z=</managerPasswordSecret>
如何修复
~jenkins/config.xml
managerDN
和 managerPasswordSecret
节点(线)。 现在 LDAP 登录应该又可以工作了!
关于jenkins - 无法在 Jenkins 中使用 LDAP 登录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30448640/