Comment configurer le serveur LDAP maître-esclave sur Ubuntu avec la réplication de session.
Par exemple, If et ldap client modifient son mot de passe sur le serveur maître. Je veux que le nouveau mot de passe soit automatiquement synchronisé avec le serveur esclave
Maître esclave dans LDAP s'appelle fournisseur et consommateur. Vous ne spécifiez pas le serveur LDAP que vous utilisez, je suppose donc que nous parlons d’openLDAP.
Dans l'ancienne version d'openLDAP, la configuration était enregistrée dans des fichiers de configuration. De nos jours, tous les paramètres sont stockés dans le serveur LDAP lui-même. Vous devez donc créer la configuration et l’injecter sur le serveur LDAP afin que nous puissions commencer par créer ces fichiers. Cette instruction répliquera automatiquement toutes les entrées sur votre serveur esclave.
Disons que le nom de votre entreprise est acmé et que le domaine est com. et que votre administrateur de serveur LDAP actuel se trouve dans: cn = admin, dc = acme, dc = com
First Nous devons créer un utilisateur LDAP autorisé à lire toutes les entrées LDAP pour le répliquer sur le serveur consommateur.
créer le fichier "create_repl_user.ldif"
dn: cn=ldaps2,dc=acme,dc=com
objectClass: simpleSecurityObject
objectClass: organizationalRole
cn: ldaps2
description: LDAP server2 replicator
Deuxième nous devons activer le service de fournisseur sur le serveur LDAP maître et donner à l'utilisateur LDAP2 un accès en lecture à l'intégralité du serveur LDAP.
créer le fichier "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
Troisième: Nous devons activer la réplication d'un serveur spécifié vers notre consommateur LDAP. créez le fichier enable_sync_consumer.ldif en remplaçant le fournisseur de la ligne = "ldap: //votre nom d'utilisateurserveur.com: 389 /", avec l'adresse IP de votre serveur LDAP maître. et credentials = yourencryptedldap2spassword, avec le mot de passe que vous avez choisi pour votre utilisateur 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
Maintenant que nous avons créé les fichiers de configuration, nous devons les injecter au fournisseur et au serveur consommateur.
dans le serveur fournisseur, créez l'utilisateur de réplication:
run ldapadd -x -W -D cn=admin,dc=acme,dc=com -f create_repl_user.ldif
activer le service fournisseur:
run ldapadd -x -W -D cn=admin,dc=acme,dc=com -f enable_sync_prov.ldif
dans le serveur consommateur, ajoutez les paramètres de synchronisation consommateur:
run ldapadd -x -W -D cn=admin,dc=acme,dc=com -f enable_sync_consumer.ldif
excellent article, m'a beaucoup aidé à avancer, il y a cependant quelques erreurs dans les ldifs, à surveiller: enable_sync_prov.ldif
par dn = "cn = admin, dc = acme, dc = ncom write
devrait être
par dn = "cn = admin, dc = acme, dc = com" écrire
Ensuite, ldapadd/ldapmodify doit être exécuté sur la partie cn = admin, cn = config de l’arborescence et non sur cn = admin, dc = acme, dc = com.