wiki:ldap

Installation

$ sudo apt-get update
$ sudo apt-get install slapd ldap-utils
sudo dpkg-reconfigure slapd

See also: https://www.digitalocean.com/community/tutorials/how-to-install-and-configure-openldap-and-phpldapadmin-on-ubuntu-16-04

Setup replication

SeeAlso? https://systemausfall.org/wikis/howto/LDAP-Replikation

Setup master

  • Add account for synchronization
echo "
# einen Account für die Replikationsabfrage hinzufuegen
dn: cn=syncagent,dc=pond
cn: syncagent
objectClass: top
objectClass: person
sn: syncagent" | ldapadd -D cn=admin,dc=pond -W
  • adopt config
ldapmodify -Y EXTERNAL -H ldapi:///

and enter in stdin:

# Sync-Modul aktivieren
dn: cn=module{0},cn=config
changetype: modify
add: olcModuleLoad
olcModuleLoad: syncprov.la

# fuege replikationsrelevante Attribute zum Index hinzu
dn: olcDatabase={1}mdb,cn=config
changetype: modify
add: olcDbIndex
olcDbIndex: entryUUID,entryCSN eq

# Zugriffsrechte für den sync-Account anlegen
dn: olcDatabase={0}config,cn=config
changetype: modify
add: olcAccess
olcAccess: to * by dn.base="cn=syncagent,dc=pond" read by * +0 break

# sync-Provider für die LDAP-Datenbank aktivieren
dn: olcOverlay=syncprov,olcDatabase={1}mdb,cn=config
changetype: add
objectClass: olcOverlayConfig
objectClass: olcSyncProvConfig
olcOverlay: syncprov

# sync-Provider für die LDAP-Konfiguration aktivieren
dn: olcOverlay=syncprov,olcDatabase={0}config,cn=config
changetype: add
objectClass: olcOverlayConfig
objectClass: olcSyncProvConfig
olcOverlay: syncprov
  • Set password for sync account
    ldappasswd -D cn=admin,dc=pond -W -s "SYNCAGENT_SECRET" "cn=syncagent,dc=pond"
    

Configure slave

  • read config with
    sudo ldapmodify -Y EXTERNAL -H ldapi:///
    

enter in stdin

# Sync-Modul aktivieren
dn: cn=module{0},cn=config
changetype: modify
add: olcModuleLoad
olcModuleLoad: syncprov.la

# fuege replikationsrelevante Attribute zum Index hinzu
dn: olcDatabase={1}mdb,cn=config
changetype: modify
add: olcDbIndex
olcDbIndex: entryUUID,entryCSN eq

# Datenbank-Replikation aktivieren
dn: olcDatabase={1}mdb,cn=config
changetype: modify
add: olcSyncrepl
olcSyncrepl: {0}rid=2 provider=ldap://192.168.178.44
  type=refreshOnly
  bindmethod=simple
  binddn="cn=syncagent,dc=pond"
  credentials=SYNCAGENT_SECRET
  interval="00:00:03:00"
  retry="30 10 300 +"
  timeout=1
  tls_reqcert=never
  schemachecking=off
  searchbase="dc=pond"

# Konfigurationsreplikation aktivieren
dn: olcDatabase={0}config,cn=config
changetype: modify
add: olcSyncrepl
olcSyncrepl: {0}rid=1 provider=ldap://192.168.178.44
  type=refreshOnly
  bindmethod=simple
  binddn="cn=syncagent,dc=pond"
  credentials=SYNCAGENT_SECRET
  interval="00:00:03:00"
  retry="30 10 300 +"
  timeout=1
  tls_reqcert=never
  schemachecking=off
  searchbase="cn=config"

Requesting entries

ldapsearch -b dc=pond -D uid=joerg,ou=people,dc=pond -W "objectClass=*"

Modifying entries

dn: cn=detc1a,ou=Condor,ou=Zones,dc=pribas,dc=com
changetype: modify
replace: seeAlso
seeAlso: cn=s13,ou=Global,ou=Hosts,dc=pribas,dc=com
-
ldapmodify -h cs-ldap-brem-p -D uid=joerg,ou=staff,ou=people,dc=pribas,dc=com -W -f detc1a.ldif
Last modified 4 months ago Last modified on May 2, 2018, 9:58:45 AM