OpenLDAP Manuelle Einrichtung (OLC): Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
Zeile 24: Zeile 24:
 
=== Schritt 1: Domain und Admin-DN festlegen ===
 
=== Schritt 1: Domain und Admin-DN festlegen ===
 
* cat <<EOF > backend.ldif
 
* cat <<EOF > backend.ldif
dn: olcDatabase={1}mdb,cn=config
+
<pre>
changetype: modify
+
dn: olcDatabase={1}mdb,cn=config
replace: olcSuffix
+
changetype: modify
olcSuffix: dc=it213,dc=int
+
replace: olcSuffix
-
+
olcSuffix: dc=it213,dc=int
replace: olcRootDN
+
-
olcRootDN: cn=admin,dc=it213,dc=int
+
replace: olcRootDN
-
+
olcRootDN: cn=admin,dc=it213,dc=int
replace: olcDbDirectory
+
-
olcDbDirectory: /var/lib/ldap/it213
+
replace: olcDbDirectory
EOF
+
olcDbDirectory: /var/lib/ldap/it213
 
+
EOF
 +
</pre>
 
* ldapmodify -Y EXTERNAL -H ldapi:/// -f backend.ldif
 
* ldapmodify -Y EXTERNAL -H ldapi:/// -f backend.ldif
  

Version vom 2. April 2026, 04:37 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 (Reset)

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 (OLC) anpassen

Die Konfiguration erfolgt im laufenden Betrieb über den lokalen Socket (ldapi) und das EXTERNAL-Protokoll.

Schritt 1: 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

Schritt 2: Admin-Passwort setzen

Zuerst erzeugen wir einen Hash für das Passwort "123Start$".

  • slappasswd -s 123Start$
  1. Die Ausgabe (z.B. {SSHA}xyz...) kopieren und im nächsten Befehl einsetzen.
  • cat <<EOF > password.ldif

dn: olcDatabase={1}mdb,cn=config changetype: modify replace: olcRootPW olcRootPW: {SSHA}DEIN_GENERIERTER_HASH 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