LDAP for Jenkins2

Материал из noname.com.ua
Перейти к навигацииПерейти к поиску

LDAP

Установка и базовая конфигурация

sudo apt-get update
sudo apt-get install slapd ldap-utils phpldapadmin mc vim strace tcpdump tcpflow 

Эта команда установить

  • OpenLDAP сервер
  • Консольный клиент для OpenLDAP
  • phpLDAPadmin для того что бы более удобно управлять записями в LDAP

Пароль при установке - r00tme
Если требуется перенастроить - то

dpkg-reconfigure slapd

В отличие от CentOS, под Ubuntu OpenLDAP частично сконфигурирован. Посмотреть настройки можно командой slapcat

slapcat
dn: dc=nodomain
objectClass: top
objectClass: dcObject
objectClass: organization
o: nodomain
dc: nodomain
structuralObjectClass: organization
entryUUID: 04ec921c-3941-1036-8b2b-39dffbd1cf0d
creatorsName: cn=admin,dc=nodomain
createTimestamp: 20161107142003Z
entryCSN: 20161107142003.564562Z#000000#000#000000
modifiersName: cn=admin,dc=nodomain
modifyTimestamp: 20161107142003Z

dn: cn=admin,dc=nodomain
objectClass: simpleSecurityObject
objectClass: organizationalRole
cn: admin
description: LDAP administrator
userPassword:: e1NTSEF9ZFUzZk1jRHVXT2RJSVZGY0lveWloK01mRVFQNTNqSzM=
structuralObjectClass: organizationalRole
entryUUID: 04ed4aea-3941-1036-8b2c-39dffbd1cf0d
creatorsName: cn=admin,dc=nodomain
createTimestamp: 20161107142003Z
entryCSN: 20161107142003.569291Z#000000#000#000000
modifiersName: cn=admin,dc=nodomain
modifyTimestamp: 20161107142003Z

Очевидно, что DC=nodomain это не совсем то что нужно

Запустить реконфигурацию, настроить домен cicd

slapcat
dn: dc=cicd
objectClass: top
objectClass: dcObject
objectClass: organization

Проверка подключения:

ldapsearch -h 10.20.0.100 -D "cn=admin,dc=cicd" -w r00tme -b "dc=cicd"
  • -h 10.20.0.100 - хост к которому подключаться
  • -D "cn=admin,dc=cicd" - Bind DN - "логин"
  • -w r00tme - пароль
  • -b "dc=cicd" - base for search, точка в дереве откуда начинать поиск.


PHP LDAP ADMIN

Установить следующие значения в файле /usr/share/phpldapadmin/config/config.php

  • Отключить предупреждения в темплейтах
$config->custom->appearance['hide_template_warning'] = true;
  • base - точка в дереве от котоой будет идти поиск объектов
$servers->setValue('server','base',array('dc=cicd'));
  • name - отображаемое имя сервера
$servers->setValue('server','name','CICD LDAP Server');
  • Фактический хост куда будет подключаться php ldap client (может быть 127.0.0.1 если все настраивается в пределах одного хоста)
$servers->setValue('server','host','10.20.0.100');
  • Логин по-умолчанию
$servers->setValue('login','bind_id','cn=admin,dc=cicd');

Создание объектов в LDAP

= Org Unit

cat 001_org_unit.ldif
dn: ou=cicd,dc=cicd
changetype: add
ou: CICD
objectClass: organizationalUnit
description: CICD OU for Jenkis/Git groups and permissions
ldapmodify -h 10.20.0.100 -D "cn=admin,dc=cicd"   -w "r00tme" <  001_org_unit.ldif
adding new entry "ou=cicd,dc=cicd"