OpenLDAP Manuelle Einrichtung (OLC): Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
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 (Reset) ==
+
== 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 (OLC) anpassen ==
+
== 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.
  
=== Schritt 1: Domain und Admin-DN festlegen ===
+
=== 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
</pre>
+
 
 
* ldapmodify -Y EXTERNAL -H ldapi:/// -f backend.ldif
 
* ldapmodify -Y EXTERNAL -H ldapi:/// -f backend.ldif
  
=== Schritt 2: Admin-Passwort setzen ===
+
=== 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 Befehl einsetzen.
+
# 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}DEIN_GENERIERTER_HASH
+
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$
  1. 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