Мне нужно знать, как вручную кодировать LDAP managerPassword, который управляет аутентификацией в hudson:
<securityRealm class="hudson.security.LDAPSecurityRealm">
<server>ldap.example.org</server>
<rootDN>dc=example,dc=org</rootDN>
<userSearchBase>ou=People</userSearchBase>
<userSearch>uid={0}</userSearch>
<groupSearchBase>ou=Groups</groupSearchBase>
<managerDN>cn=admin,dc=example,dc=org</managerDN>
<managerPassword>{HOW DO I ENCODE THIS?}</managerPassword>
</securityRealm>
Этот вопрос здесь уже поднимался: http://jenkins.361315.n4.nabble.com/How-to-encode-the-LDAP-managerPassword-td2295570.html
Ответ заключался в настройке поля managerPassword через веб-интерфейс Hudson. Проблема заключается в том, что для настройки LDAP необходимо пройти аутентификацию в hudson, что мы не можем сделать, потому что наша аутентификация LDAP в настоящее время нарушена (несоответствие пароля между LDAP и конфигурацией hudson).
Может кто-нибудь объяснить, как вручную закодировать пароль менеджера LDAP?
Спасибо
Значение пароля закодировано в base64. Вы можете закодировать его онлайн: www.base64encode.org и расшифруйте его здесь: www.base64decode.org.
Я нашел как это сделать. Это просто base64. Но консоль linux base64 добавляет символы заполнения, в то время как в jenkins config.xml хранится без него. Поэтому мне пришлось использовать perl base64:
perl -e 'use MIME::Base64; print encode_base64('password');'
Попробуйте использовать slappasswd
. Это должно дать вам что-то вроде rootpw {SSHA}vv2y+i6V6esazrIv70xSSnNAJE18bb2u
.
В Debian: apt-get install slapd
.