Debian Squeeze LDAP helyreállítás, replikáció

Néha előfordulhat, hogy valamilyen oknál fogva helyre kell állítani az LDAP-t vagy a rendszert átköltöztetjük máshova.

Ehhez szükségünk van az adatbázisunkra, amit egy működő rendszer esetén
a következő parancsal tudunk kinyerni egy ldif fájlba:

slapcat -l ldap.ldif

A konfig fájlok természetesen ugye megvannak, így kezdjünk is hozzá.

1.

Állítsuk le az ldap szervert:

/etc/init.d/slapd.stop

2.

Ha már az új cn=config szerkezetű fájljaink vannak a cél rendszeren és mi is ilyeneket birtoklunk, akkor egyszerűen írjuk felük őket és akkor máris az új beállításink lesznek érvényben.
Ha a régi slapd.conf fájlt szeretnénk használni, akkor törüljük a slapd.d mappát mindenestől és másoljuk simán a slapd.conf-ot az /etc/ldap mappa gyökerébe.
Amennyiben viszont slapd.conf-unk van és már az új szerkezetet szeretnénk használni, akkor először is csinálunk egy slapd.d mappát a az /etc/ldap mappába(vagy ha van, akkor a slapd.d tartalmát törüljük csak ki). Ezután pedig adjuk ki a következő parancsot:

slaptest -f slapd.conf -F slapd.d

Ha a mappában benne van a slapd.conf törüljük különben ez fog érvényes lenni nem az új fájlok.

3.

Ezután az adatbázist hozzuk létre a mentésünkből. A /var/lib/ldap mappának a tartalmát törüljük és töltsük fel a jó adatbázist:

slapadd -l ldap.ldif

Ha nincs ldif-ünk, akkor átmásolhatjuk a régi szerverről is az adatbázis fájlokat, de akkor azért érdemes ugyanolyan ldap verziónál és ugyanolyan konfig fájloknál maradni és ha működik, akkor felfrissíteni.

4.

Adjunk jogokat a fájlokra, hogy az openldap jogában fussanak különben nem fog működni.

chown -R openldap:openldap /etc/ldap/*

chown -R openldap:openldap /var/lib/ldap/*

5.

Elindíthatjuk a szervert:
/etc/init.d/slapd start

Ezután választ kell adni az ldapsearch -x parancsra.

Előfordul, hogy több szerverünk is van amiken ugyanazokat a felhasználói információkat szeretnénk elérni. Vagy egyszerűen csak szeretnénk ha redundáns lenne a címtárunk. Többféle lehetőség van, mi a mirrormod -os replikációt fogjuk használni. Ami egyszerűen tükrözni fogja az adatbázist a szerverek között. Ha valamelyiken megváltozik valakinek a jelszava, akkor az összese többin is megfog változni. Lehet állítani a frissítés idejét, hogy azonnal vagy mennyi időközönként történjen, így nem terheli folyamatosan a szervert.

A slapd.conf végére írhatjuk a következő paramétereket. A serverID a szervert azonosítja minden szerveren más azonosítóra van szükség. Be kell tölteni a modult syncprov modult a szinkronizáláshoz. Minden szerveren, minden egyes szervert fel kell venni, hogy eltudják érni egymást a replikáció során. Írjuk be az ldap jelszavát és a frissítési gyakoriságot is meghatározhatjuk. Engedélyezzük a tükrözéses módot.

serverID 1

moduleload syncprov

overlay syncprov
syncprov-checkpoint 100 10
syncprov-sessionlog 100

syncrepl rid=001
provider=ldap://10.0.0.1
bindmethod=simple
binddn="cn=replica,dc=ceg,dc=hu"
credentials="jelszó"
searchbase="dc=ceg,dc=hu"
schemachecking=on
type=refreshAndPersist
retry="60 +"

syncrepl rid=002
provider=ldap://10.0.0.2
bindmethod=simple
binddn="cn=replica,dc=ceg,dc=hu"
credentials="jelszó"
searchbase="dc=ceg,dc=hu"
schemachecking=on
type=refreshAndPersist
retry="60 +"

mirrormode on

Aki figyelt észrevett egy érdekességet, hogy még nincs replica felhasználónk. Hozzunk létre egy fájlt a következő tartalommal:

dn: cn=replicator,dc=ceg,dc=hu
cn: replicator
objectClass: top
objectClass: organizationalRole
objectClass: simpleSecurityObject
userPassword: {SSHA}JXkMpPzYB5N4W8ZhH9FpCuodrzcD2WGv
description: LDAP replicator

Az userPassword sorba ne ezt másoljuk be hanem adjuk ki slappasswd -h {SSHA} parancsot. Majd írjuk be az ldap jelszavát és a kapott jelszót másoljuk be ide.

Adjuk hozzá a replica felhasználót a következő paranccsal, majd adjuk meg az ldap jelszavát is.
ldapmodify -a -x -D 'cn=admin,dc=akarmi,dc=intra' -W -f replicator.ldif

Ezután a többi szerverünkön is megcsinálhatjuk ugyanezeket a metódusokat, vagy ha az adatbázist és a konfigurációs fájlokat másoljuk át, az is megfelelő út lehet. Kipróbálni egyszerűen csak változtassunk meg valamit az egyiken és nézzük meg a másikon, hogy ott megváltozott-e.

replica user készítése

openldap admin manual
replikáció

2013.02.24.