Was ich so treibe...

Uli's IT-Blog - Konzeption, Entwicklung, Betrieb

Einrichten eines LDAP-Servers unter Ubuntu-12.04

Rechner aktualisieren

Zunächst sollte der Rechner aktualisiert werden.

Rechner aktualisieren
1
2
sudo apt-get update
sudo apt-get dist-upgrade

LDAP-Pakete installieren

LDAP-Pakete installieren
1
2
sudo apt-get install slapd ldap-utils cpu whois
# LDAP-Administrator-Passwort: uli

LDAP-Schemas definieren

Standard-Schemas:

LDAP-Schemas definieren
1
2
3
sudo ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/ldap/schema/cosine.ldif
sudo ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/ldap/schema/nis.ldif
sudo ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/ldap/schema/inetorgperson.ldif

Zusatz-Schema:

LDAP-Zusatzschema definieren
1
sudo ldapadd -Y EXTERNAL -H ldapi:/// -f /tmp/backend_dp.ldif

Das Zusatzschema gibt’s hier

LDAP-Daten importieren

Es müssen entweder die Grunddaten importiert werden oder aber der Datenbestand eines anderen LDAP-Servers.

Grunddaten importieren

Grunddaten importieren
1
2
3
sudo service slapd stop
sudo slapadd -c -l /root/base.ldif
sudo service slapd start

Datenbestand importieren

Dieser Schritt ist optional. Er dient primär der Übernahme eines Datenbestandes von einem bestehenden LDAP-Server.

LDAP-Daten importieren
1
2
3
sudo service slapd stop
sudo slapadd -c -l 94.out.ldif  # 94.out.ldif ist eine ältere LDAP-Sicherung
sudo service slapd start

Hilfsskripte installieren

Wir haben einige Hilfsskripte, die die Arbeit mit dem LDAP-Verzeichnis erleichtern:

  • /usr/local/bin/ldap-create-user.sh … legt einen LDAP-Benutzer an (basiert auf “cpu”)
  • /usr/local/bin/ldap-delete-user.sh … löscht einen LDAP-Benutzer (basiert auf “cpu”)
  • /usr/local/bin/ldap-modify-slapcat.sh … setzt die LDAP-Kennworte aller Benutzer in einem LDAP-Export auf “keines”
  • /etc/cpu/cpu.conf … Konfigurationsdatei für “cpu”, enthält u.a. das Admin-Kennwort von LDAP

Web-Anwendung für Kennwort-Änderung installieren

Unsere Web-Anwendung soll mit dem Apache2 betrieben werden, also spielen wir den Apache2 ein und konfigurieren ihn auch gleich.

Apache2 installieren und konfigurieren
1
2
3
4
5
6
7
8
sudo apt-get install apache2 # Web-Server Apache-2.2.22 einspielen
sudo cp /etc/apache2/sites-available/default /etc/apache2/sites-available/changepass
sudo jmacs  /etc/apache2/sites-available/changepass
# Einige Anpassungen vornehmen...
# - CGI: ldap/cgi-bin -> cgi-bin/ldap
sudo a2dissite default
sudo a2ensite changepass
sudo service apache2 restart

Die Web-Anwendung benötigt noch einige Perl-Module.

Perl-Module installieren
1
2
sudo apt-get install libconfig-tiny-perl
sudo apt-get install libnet-ldap-perl

Zuletzt: Web-Anwendung einspielen. Folgende Dateien werden dabei benötigt:

  • /etc/changepass.conf
  • /etc/apache2/sites-available/changepass
  • /usr/lib/cgi-bin/ldap/changepass
  • /var/www/index.html
  • /var/www/ldap/changepass.css

LDAP in Firewall freischalten

Sofern die UFW-Firewall installiert und aktiviert ist, muß der LDAP-Port freigeschaltet werden.

LDAP in Firewall freischalten
1
2
3
sudo ufw allow 389/tcp
sudo ufw allow 80/tcp
sudo ufw status

Tipps und Tricks

LDAP-Daten sichern und zurückspielen

Sichern

LDAP-Daten sichern
1
sudo slapcat -l /tmp/slapcat.ldif

Zurückspielen

LDAP-Daten zur
1
2
3
4
5
sudo service slapd stop
sudo rm -rf /var/lib/ldap/*
sudo slapadd -c -l /tmp/slapcat.ldif
sudo chown -R openldap.openldap /var/lib/ldap/*
sudo service slapd start

Neustart mit einem leeren LDAP-Bestand

Neustart mit leerem LDAP-Bestand
1
2
3
sudo service slapd stop
sudo rm -rf /var/lib/ldap/*
sudo service slapd start

Comments