OpenLDAP Manuelle Einrichtung (OLC): Unterschied zwischen den Versionen
| Zeile 2: | Zeile 2: | ||
Diese Anleitung beschreibt die Einrichtung von OpenLDAP ohne den interaktiven Dialog von dpkg-reconfigure. Dies ist der "harte Weg" über LDIF-Dateien und das cn=config Backend. | Diese Anleitung beschreibt die Einrichtung von OpenLDAP ohne den interaktiven Dialog von dpkg-reconfigure. Dies ist der "harte Weg" über LDIF-Dateien und das cn=config Backend. | ||
| − | == System bereinigen | + | == System bereinigen == |
Um von vorne zu beginnen, müssen alle alten Konfigurationen und Datenbanken restlos entfernt werden. | Um von vorne zu beginnen, müssen alle alten Konfigurationen und Datenbanken restlos entfernt werden. | ||
* systemctl stop slapd | * systemctl stop slapd | ||
| Zeile 19: | Zeile 19: | ||
* chown ldap:ldap /var/lib/ldap/it213 | * chown ldap:ldap /var/lib/ldap/it213 | ||
| − | == On-Line Configuration | + | == On-Line Configuration anpassen == |
Die Konfiguration erfolgt im laufenden Betrieb über den lokalen Socket (ldapi) und das EXTERNAL-Protokoll. | Die Konfiguration erfolgt im laufenden Betrieb über den lokalen Socket (ldapi) und das EXTERNAL-Protokoll. | ||
| − | === | + | === Domain und Admin-DN festlegen === |
* cat <<EOF > backend.ldif | * cat <<EOF > backend.ldif | ||
<pre> | <pre> | ||
| Zeile 35: | Zeile 35: | ||
replace: olcDbDirectory | replace: olcDbDirectory | ||
olcDbDirectory: /var/lib/ldap/it213 | olcDbDirectory: /var/lib/ldap/it213 | ||
| + | </pre> | ||
EOF | EOF | ||
| − | + | ||
* ldapmodify -Y EXTERNAL -H ldapi:/// -f backend.ldif | * ldapmodify -Y EXTERNAL -H ldapi:/// -f backend.ldif | ||
| − | === | + | === Admin-Passwort setzen === |
Zuerst erzeugen wir einen Hash für das Passwort "123Start$". | Zuerst erzeugen wir einen Hash für das Passwort "123Start$". | ||
* slappasswd -s 123Start$ | * slappasswd -s 123Start$ | ||
| − | # Die Ausgabe (z.B. {SSHA}xyz...) kopieren und im nächsten | + | # Die Ausgabe (z.B. {SSHA}xyz...) kopieren und im nächsten Schritt einsetzen. |
* cat <<EOF > password.ldif | * cat <<EOF > password.ldif | ||
| + | <pre> | ||
dn: olcDatabase={1}mdb,cn=config | dn: olcDatabase={1}mdb,cn=config | ||
changetype: modify | changetype: modify | ||
replace: olcRootPW | replace: olcRootPW | ||
| − | olcRootPW: {SSHA} | + | olcRootPW: {SSHA}DEIN_HASH_HIER_EINSETZEN |
| + | </pre> | ||
EOF | EOF | ||
| Zeile 62: | Zeile 65: | ||
Nun befüllen wir den leeren Verzeichnisbaum mit den Basis-Containern (Organizational Units). | Nun befüllen wir den leeren Verzeichnisbaum mit den Basis-Containern (Organizational Units). | ||
* cat <<EOF > struktur.ldif | * cat <<EOF > struktur.ldif | ||
| + | <pre> | ||
dn: dc=it213,dc=int | dn: dc=it213,dc=int | ||
objectClass: top | objectClass: top | ||
| Zeile 76: | Zeile 80: | ||
objectClass: organizationalUnit | objectClass: organizationalUnit | ||
ou: groups | ou: groups | ||
| + | </pre> | ||
EOF | EOF | ||
Version vom 2. April 2026, 04:39 Uhr
OpenLDAP Manuelle Einrichtung (OLC)
Diese Anleitung beschreibt die Einrichtung von OpenLDAP ohne den interaktiven Dialog von dpkg-reconfigure. Dies ist der "harte Weg" über LDIF-Dateien und das cn=config Backend.
System bereinigen
Um von vorne zu beginnen, müssen alle alten Konfigurationen und Datenbanken restlos entfernt werden.
- systemctl stop slapd
- apt purge slapd ldap-utils
- rm -rf /var/lib/ldap/*
- rm -rf /etc/ldap/slapd.d/*
Installation ohne Automatik
Wir installieren die Pakete, unterdrücken aber die automatische Datenbank-Erstellung durch Debian.
- export DEBIAN_FRONTEND=noninteractive
- apt install slapd ldap-utils
Datenbank-Verzeichnis vorbereiten
Wir erstellen manuell das Verzeichnis für die Datenbank-Files der Domain it213.int.
- mkdir -p /var/lib/ldap/it213
- chown ldap:ldap /var/lib/ldap/it213
On-Line Configuration anpassen
Die Konfiguration erfolgt im laufenden Betrieb über den lokalen Socket (ldapi) und das EXTERNAL-Protokoll.
Domain und Admin-DN festlegen
- cat <<EOF > backend.ldif
dn: olcDatabase={1}mdb,cn=config
changetype: modify
replace: olcSuffix
olcSuffix: dc=it213,dc=int
-
replace: olcRootDN
olcRootDN: cn=admin,dc=it213,dc=int
-
replace: olcDbDirectory
olcDbDirectory: /var/lib/ldap/it213
EOF
- ldapmodify -Y EXTERNAL -H ldapi:/// -f backend.ldif
Admin-Passwort setzen
Zuerst erzeugen wir einen Hash für das Passwort "123Start$".
- slappasswd -s 123Start$
- Die Ausgabe (z.B. {SSHA}xyz...) kopieren und im nächsten Schritt einsetzen.
- cat <<EOF > password.ldif
dn: olcDatabase={1}mdb,cn=config
changetype: modify
replace: olcRootPW
olcRootPW: {SSHA}DEIN_HASH_HIER_EINSETZEN
EOF
- ldapmodify -Y EXTERNAL -H ldapi:/// -f password.ldif
Schemata importieren
Ohne Schemata kennt LDAP keine Attribute wie uidNumber oder posixAccount. Wir laden die wichtigsten Standards.
- ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/ldap/schema/cosine.ldif
- ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/ldap/schema/nis.ldif
- ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/ldap/schema/inetorgperson.ldif
Grundstruktur anlegen
Nun befüllen wir den leeren Verzeichnisbaum mit den Basis-Containern (Organizational Units).
- cat <<EOF > struktur.ldif
dn: dc=it213,dc=int objectClass: top objectClass: dcObject objectClass: organization o: it213 dc: it213 dn: ou=users,dc=it213,dc=int objectClass: organizationalUnit ou: users dn: ou=groups,dc=it213,dc=int objectClass: organizationalUnit ou: groups
EOF
- ldapadd -x -D cn=admin,dc=it213,dc=int -w 123Start$ -f struktur.ldif
Kontrolle
Prüfung, ob der Baum korrekt angelegt wurde:
- ldapsearch -x -b dc=it213,dc=int