Dieses Handbuch setzt Vertrautheit mit UNIX-ähnlichen Betriebssystemen, X.500, LDAP und OpenLDAP voraus. Der Abschnitt Verzeichnissicherungen des OpenLDAP 2.4-Administratorhandbuchs vom 28. September 2016 enthält keine Wiederherstellungsverfahren. Dieser Leitfaden wird Ihnen helfen, es zu tun.
OpenLDAP sichern
Es gibt zwei Methoden zum Sichern von OpenLDAP. Eine besteht darin, die Back-End-Datenbank zu sichern, die andere darin, eine LDIF des Verzeichnisses zu sichern. Da es mehrere Backends gibt, können Sie mit LDIF die Konfiguration und die Daten mit denselben Tools und Verfahren sichern. Dieses Handbuch behandelt die LDIF-Methode. Das OpenLDAP-Administratorhandbuch scheint sich auf die Sicherung der zugrunde liegenden Datenbank auszurichten, die das Verzeichnis verwendet.
Um ein Backup zu erstellen, verwenden Sie den Befehl slapcat. slapcat gibt Ihre gesamten Verzeichnisse im LDIF-Format aus.
Sichern Sie das Konfigurationsverzeichnis
slapcat -n 0 -l config.ldif
Die "-l config.ldif"
weist slapcat an, in die Datei config zu schreiben.ldif. Das "-n 0"
bedeutet, dass slapcat eine LDIF für Datenbank 0 ausgeben sollte, die das Konfigurationsverzeichnis ist.
Sicherung der Datenverzeichnisse
Datenverzeichnisse werden auf die gleiche Weise gesichert, jedoch unter Verwendung der entsprechenden Datenbanknummer. Der folgende Befehl schreibt die Daten aus Datenbank 1 in die Datei data.ldif.
slapcat -n 1 -l data.ldif
Tun Sie dies für jedes Ihrer Verzeichnisse.
OpenLDAP wiederherstellen
Das erste, was Sie beim Wiederherstellen von OpenLDAP tun müssen, ist slapd zu stoppen.
service slapd stop
oder
pkill slapd
Wiederherstellen des Konfigurationsverzeichnisses
Die Wiederherstellung erfolgt mit slapadd. Wenn Sie Ihr Konfigurationsverzeichnis wiederherstellen, empfehle ich, es zu löschen oder umzubenennen und dann zuerst neu zu erstellen. Notieren Sie sich den Besitzer und die Gruppe des Verzeichnisses. Die folgende Tabelle zeigt den Speicherort des Konfigurationsverzeichnisses in verschiedenen Umgebungen:
OS | Konfigurationsverzeichnis |
---|---|
Debian/Ubuntu | /etc/ldap/slapd.d |
RHEL/CentOS | /etc/openldap/slapd.d | SuSE (Verwendet slapd.conf) | /etc/openldap/slapd.d |
FreeBSD | /usr/local/etc/openldap/slapd.d |
Kompiliert aus der Quelle | /usr/local/etc/openldap/slapd.d |
bash# ls -ld /etc/openldap/slapd.ddrwxr-xr-x 3 ldap ldap 4096 Jul 16 06:57 /etc/openldap/slapd.dbash# mv /etc/openldap/slapd.d /etc/openldap/slapd.d.`date '+%Y-%m-%d'`bash# mkdir /etc/openldap/slapd.d
Wenn Sie das Konfigurationsverzeichnis neu erstellt haben, stellen Sie es mit slapadd wieder her:
slapadd -n 0 -F /etc/openldap/slapd.d -l /backups/config.ldif
Die "-n"
und "-l"
bedeuten dasselbe wie slapcat. "-F /etc/openldap/slapd.d"
gibt an, dass /etc/openldap/slapd.d
Ihr Konfigurationsverzeichnis ist.
Ändern Sie nun den Besitz und die Berechtigungen des Konfigurationsverzeichnisses (Linux- und UNIX-Dateiberechtigungshandbuch) auf das, was es zuvor war.
chown -R ldap:ldap /etc/openldap/slapd.d
Wiederherstellen der Datenverzeichnisse
Bestimmen Sie zunächst die Speicherorte Ihrer Datenbankverzeichnisse. Wenn Sie das Online-Konfigurationsverzeichnis verwenden, befindet es sich im Attribut olcDbDirectory der olcDatabaseConfig-Klassenobjekte. Wenn Sie slapd verwenden.conf, sehen Sie sich die Verzeichniszeile unter dem Abschnitt Datenbankdefinitionen an.
Ich empfehle, die Verzeichnisse zuerst umzubenennen oder zu löschen und dann neu zu erstellen.
bash# ls -ld /var/lib/ldapdrwxr-xr-x 3 ldap ldap 4096 Jul 16 06:57 /var/lib/ldapbash# mv /var/lib/ldap /var/lib/ldap`date '+%Y-%m-%d'`bash# mkdir /var/lib/ldap
Wenn Sie damit fertig sind, verwenden Sie slapadd, um die Daten wiederherzustellen:
slapadd -n 1 -F /etc/openldap/slapd.d -l /backups/data.ldif
Ändern Sie nun den Besitz des Datenverzeichnisses (Linux- und UNIX-Dateiberechtigungshandbuch) in das vorherige.
chown -R ldap:ldap /var/lib/ldap
Nachdem Sie mit der Wiederherstellung fertig sind, starten Sie slapd und überprüfen Sie Ihr Verzeichnis.
Replizierte Verzeichnisse
Wenn Sie irgendeine Art von Replikation verwenden, fügen Sie -w zu Ihrem slapadd Befehl hinzu. Zum Beispiel:
slapadd -n 1 -F /config/directory/slapd.d -l /backups/data.ldif -w