OpenLDAP Manuelle Einrichtung (OLC): Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
Die Seite wurde neu angelegt: „= OpenLDAP Manuelle Einrichtung (OLC) = Diese Anleitung beschreibt die Einrichtung von OpenLDAP ohne den interaktiven Dialog von dpkg-reconfigure. Dies ist der…“
 
 
(3 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
= OpenLDAP Manuelle Einrichtung (OLC) =
= 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.
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>
dn: olcDatabase={1}mdb,cn=config
dn: olcDatabase={1}mdb,cn=config
changetype: modify
changetype: modify
Zeile 34: 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


=== 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 61: 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 75: Zeile 80:
objectClass: organizationalUnit
objectClass: organizationalUnit
ou: groups
ou: groups
</pre>
EOF
EOF



Aktuelle Version vom 2. April 2026, 04:40 Uhr

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