Как настроить Master-Slave LDAP-сервер в Ubuntu с репликацией сеанса.
Например, если if и ldap клиент меняет свой пароль на главном сервере. Я хочу, чтобы новый пароль был автоматически синхронизирован с подчиненным сервером
Отличная статья, очень помогла мне переслать, в ldif есть несколько ошибок, за которыми нужно следить: enable_sync_prov.ldif
by dn = "cn = admin, dc = acme , dc = ncom write
blockquote>должно быть
с помощью dn = "cn = admin, dc = acme, dc = com" write
blockquote>Тогда ldapadd / ldapmodify должен выполняться на cn = admin, cn = config части дерева, а не на cn = admin, dc = acme, dc = com.
Ведущий раб в ldap называется поставщиком и потребителем. Вы не указываете, какой сервер ldap вы используете, поэтому я предполагаю, что мы говорим об openLDAP.
В старых конфигурациях openLDAP сохранялись в файлах conf. В настоящее время все настройки хранятся на самом сервере ldap. Таким образом, вам нужно создать конфигурацию и внедрить ее на сервер ldap, поэтому мы начнем с создания этих файлов. Эта инструкция автоматически скопирует все записи на ваш подчиненный сервер.
Допустим, ваша компания называется acme, а домен com. и что ваш текущий администратор сервера ldap находится в: cn = admin, dc = acme, dc = com
Сначала нам нужно создать пользователя ldap, которому разрешено читать все записи ldap реплицировать его на потребительский сервер.
создать файл «create_repl_user.ldif»
dn: cn=ldaps2,dc=acme,dc=com
objectClass: simpleSecurityObject
objectClass: organizationalRole
cn: ldaps2
description: LDAP server2 replicator
Второй нам нужно включить службу провайдера на главном сервере ldap и предоставить пользователю ldaps2 доступ на чтение ко всему серверу ldap .
создать файл «enable_sync_prov.ldif»
dn: olcDatabase={1}hdb,cn=config
changetype: modify
delete: olcAccess
olcAccess: {0}to attrs=userPassword,shadowLastChange
by self write
by anonymous auth
by dn="cn=admin,dc=acme,dc=com write
by * none
-
add: olcAccess
olcAccess: {0}to attrs=userPassword,shadowLastChange
by self write
by dn="cn=admin,dc=acme,dc=com" write
by dn="cn=ldaps2,dc=acme,dc=com" read
by anonymous auth
by * none
-
add: olcDbIndex
olcDbIndex: entryUUID eq
-
add: olcDbIndex
olcDbIndex: entryCSN eq
dn: cn=module{0},cn=config
changetype: modify
add: olcModuleLoad
olcModuleLoad: {1}syncprov
dn: olcOverlay=syncprov,olcDatabase={1}hdb,cn=config
changetype: add
objectClass: olcOverlayConfig
objectClass: olcSyncProvConfig
olcOverlay: {0}syncprov
olcSpCheckpoint: 100 10
olcSpSessionlog: 100
Третий : нам нужно разрешить репликацию с указанного сервера нашему потребителю ldap. создайте файл enable_sync_consumer.ldif, заменив строку provider = "ldap: //yourldapservername.com: 389 /" на ip вашего главного сервера ldap. и credentials = yourencryptedldap2spassword с паролем, который вы выбрали для своего пользователя ldap2s.
dn: cn=config
changetype: modify
replace: olcLogLevel
olcLogLevel: stats
dn: olcDatabase={1}hdb,cn=config
changetype: modify
delete: olcAccess
olcAccess: {0}to attrs=userPassword,shadowLastChange
by self write
by anonymous auth
by dn="cn=admin,dc=acme,dc=com" write
by * none
-
add: olcAccess
olcAccess: {0}to attrs=userPassword,shadowLastChange
by anonymous auth
by * none
-
delete: olcAccess
olcAccess: {2}to *
by self write
by dn="cn=admin,dc=acme,dc=com" write
by * read
-
add: olcAccess
olcAccess: {2}to *
by * read
-
replace: olcRootDN
olcRootDN: cn=manager
-
delete: olcRootPW
-
add: olcDbIndex
olcDbIndex: entryCSN eq
-
add: olcDbIndex
olcDbIndex: entryUUID eq
-
add: olcDbIndex
olcDbIndex: uid eq
-
add: olcDbIndex
olcDbIndex: cn eq
-
add: olcDbIndex
olcDbIndex: ou eq
-
add: olcDbIndex
olcDbIndex: dc eq
add: olcSyncrepl
olcSyncrepl: rid=123
provider="ldap://yourldapservername.com:389/"
type=refreshAndPersist
retry="60 30 300 +"
searchbase="dc=acme,dc=com"
bindmethod=simple
binddn="cn=ldaps2,dc=acme,dc=com"
credentials=yourencryptedldap2spassword
Теперь, когда мы создали файлы конфигурации, нам нужно внедрить их на сервер поставщика и потребителя.
на сервере поставщика создать пользователя репликации:
run ldapadd -x -W -D cn=admin,dc=acme,dc=com -f create_repl_user.ldif
. Включите службу провайдера:
run ldapadd -x -W -D cn=admin,dc=acme,dc=com -f enable_sync_prov.ldif
на сервере потребителя добавьте настройки синхронизации потребителя:
run ldapadd -x -W -D cn=admin,dc=acme,dc=com -f enable_sync_consumer.ldif