LDAP for Jenkins2: различия между версиями
Материал из noname.com.ua
Перейти к навигацииПерейти к поискуSirmax (обсуждение | вклад) |
Sirmax (обсуждение | вклад) |
||
Строка 100: | Строка 100: | ||
==Создание объектов в LDAP== |
==Создание объектов в LDAP== |
||
− | === |
+ | ===Org Unit=== |
<PRE> |
<PRE> |
||
cat 001_org_unit.ldif |
cat 001_org_unit.ldif |
||
Строка 114: | Строка 114: | ||
ldapmodify -h 10.20.0.100 -D "cn=admin,dc=cicd" -w "r00tme" < 001_org_unit.ldif |
ldapmodify -h 10.20.0.100 -D "cn=admin,dc=cicd" -w "r00tme" < 001_org_unit.ldif |
||
adding new entry "ou=cicd,dc=cicd" |
adding new entry "ou=cicd,dc=cicd" |
||
+ | </PRE> |
||
+ | ===Groups=== |
||
+ | ====Admin group ==== |
||
+ | |||
+ | <PRE> |
||
+ | dn: cn=cicd administrators,ou=cicd,dc=cicd |
||
+ | changetype: add |
||
+ | cn: cicd_administrators |
||
+ | objectClass: posixGroup |
||
+ | gidNumber: 5000 |
||
+ | description: CI/CD administrators |
||
+ | </PRE> |
||
+ | |||
+ | <PRE> |
||
+ | ldapmodify -h 10.20.0.100 -D "cn=admin,dc=cicd" -w "r00tme" < 0002_cicd_admin.ldif |
||
+ | adding new entry "cn=cicd administrators,ou=cicd,dc=cicd" |
||
+ | </PRE> |
||
+ | ====Users group ==== |
||
+ | <PRE> |
||
+ | dn: cn=cicd administrators,ou=cicd,dc=cicd |
||
+ | changetype: add |
||
+ | cn: cicd_administrators |
||
+ | objectClass: posixGroup |
||
+ | gidNumber: 5000 |
||
+ | description: CI/CD administrators |
||
+ | |||
+ | </PRE> |
||
+ | <PRE> |
||
+ | root@jenkins:~/ldap_objects# ldapmodify -h 10.20.0.100 -D "cn=admin,dc=cicd" -w "r00tme" < 0002_cicd_users.ldif |
||
+ | adding new entry "cn=cicd users,ou=cicd,dc=cicd" |
||
</PRE> |
</PRE> |
Версия 18:38, 7 ноября 2016
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"
Groups
Admin group
dn: cn=cicd administrators,ou=cicd,dc=cicd changetype: add cn: cicd_administrators objectClass: posixGroup gidNumber: 5000 description: CI/CD administrators
ldapmodify -h 10.20.0.100 -D "cn=admin,dc=cicd" -w "r00tme" < 0002_cicd_admin.ldif adding new entry "cn=cicd administrators,ou=cicd,dc=cicd"
Users group
dn: cn=cicd administrators,ou=cicd,dc=cicd changetype: add cn: cicd_administrators objectClass: posixGroup gidNumber: 5000 description: CI/CD administrators
root@jenkins:~/ldap_objects# ldapmodify -h 10.20.0.100 -D "cn=admin,dc=cicd" -w "r00tme" < 0002_cicd_users.ldif adding new entry "cn=cicd users,ou=cicd,dc=cicd"