LDAP: Difference between revisions

From HateotU
(Created page with "==OpenLDAP installieren== ===Notwendige Pakete installieren=== pkg install openldap-server openldap-client ===Grundlegende Konfiguration des OpenLDAP-Servers=== Um den Serv...")
 
No edit summary
 
Line 3: Line 3:
===Notwendige Pakete installieren===
===Notwendige Pakete installieren===
  pkg install openldap-server openldap-client
  pkg install openldap-server openldap-client
===Einträge in der /etc/rc.conf ergänzen===
Um den Dienst automatisch zu starten:
slapd_enable="YES"
Falls LDAPS als Protokoll verwendet werden soll (Port 636):
slapd_flags='-h "ldapi://%252fvar%252frun%252fopenldap%252fldapi/ ldaps://0.0.0.0/"'
Falls LDAP als Protokoll verwendet werden soll (optional mit STARTTLS) (Port 389):
  slapd_flags='-h "ldapi://%252fvar%252frun%252fopenldap%252fldapi/ ldaps://0.0.0.0/"'


===Grundlegende Konfiguration des OpenLDAP-Servers===
===Grundlegende Konfiguration des OpenLDAP-Servers===
Line 48: Line 56:
  TLSCertificateKeyFile /usr/local/etc/openldap/ssl/cert.key
  TLSCertificateKeyFile /usr/local/etc/openldap/ssl/cert.key
  TLSCACertificateFile /usr/local/etc/openldap/ssl/ca/ca.crt
  TLSCACertificateFile /usr/local/etc/openldap/ssl/ca/ca.crt
===Starten des Dienstes===
service slapd start
===Erstellen der initialen Struktur===
Die intiale Struktur wird zuerst in einer LDIF-Datei definiert, und dann mit ldapadd auf den Server übertragen. Die LDIF hat folgenden Inhalt:
dn: dc=hateotu, dc=de                                                                                                                                                                                                               
dc: hateotu
o: HateotU
objectclass: organization
objectclass: dcObject
dn: ou=People,dc=hateotu,dc=de
ou: People
objectClass: top
objectClass: organizationalUnit
description: Parent object of all UNIX accounts
dn: ou=Groups,dc=hateotu,dc=de
ou: Groups
objectClass: top
objectClass: organizationalUnit
description: Parent object of all UNIX groups
Somit wird die DC hateotu angelegt, unter der sich die OUs für People (Benutzer) und Groups (Gruppen) befinden. Um diese Strukturen auf dem Server anzulegen, muss folgender Befehl ausgeführt werden:
ldapadd -x -D "<rootdn>" -W -f </pfad/zum/ldif/file>

Latest revision as of 16:27, 9 November 2017

OpenLDAP installieren

Notwendige Pakete installieren

pkg install openldap-server openldap-client

Einträge in der /etc/rc.conf ergänzen

Um den Dienst automatisch zu starten:

slapd_enable="YES"

Falls LDAPS als Protokoll verwendet werden soll (Port 636):

slapd_flags='-h "ldapi://%252fvar%252frun%252fopenldap%252fldapi/ ldaps://0.0.0.0/"'

Falls LDAP als Protokoll verwendet werden soll (optional mit STARTTLS) (Port 389):

 slapd_flags='-h "ldapi://%252fvar%252frun%252fopenldap%252fldapi/ ldaps://0.0.0.0/"'

Grundlegende Konfiguration des OpenLDAP-Servers

Um den Server zu konfigurieren, muss die Datei /usr/local/etc/openldap/slapd.conf bearbeitet werden:

vim /usr/local/etc/openldap/slapd.conf

In der Datei müssen folgende Dinge konfiguriert werden:

  • Einbinden der Schema-Dateien
include         /usr/local/etc/openldap/schema/core.schema
include         /usr/local/etc/openldap/schema/cosine.schema
include         /usr/local/etc/openldap/schema/inetorgperson.schema
include         /usr/local/etc/openldap/schema/nis.schema
  • Einbinden der Module
moduleload      back_mdb
moduleload      back_ldap
  • Konfiguration des Datenbank-Backends
database        mdb
  • Konfiguration des Suffix:
suffix          "dc=hateotu,dc=de"
  • Konfiguration der Root-Logins:
rootdn          "cn=root,dc=hateotu,dc=de"
RootPW {SSHA}GAWRlePpW9lWwxun1HD3w1XZ1VXxuzPd
  • Konfiguration des Hash-Algorithmus für Passwörter:
password-hash   {ssha}
  • Konfiguration der Dateien für PID und Argumente:
pidfile         /var/run/openldap/slapd.pid
argsfile        /var/run/openldap/slapd.args
  • Pfad der Backend-Module, die dynamisch geladen werden sollen:
modulepath      /usr/local/libexec/openldap
  • Einstellungen für Logs:
logfile /var/log/ldap/slapd.log
loglevel 256
  • (optional: TLS):
TLSCipherSuite HIGH:MEDIUM:+TLSv1:!SSLv2:+SSLv3
TLSCertificateFile /usr/local/etc/openldap/ssl/cert.crt
TLSCertificateKeyFile /usr/local/etc/openldap/ssl/cert.key
TLSCACertificateFile /usr/local/etc/openldap/ssl/ca/ca.crt

Starten des Dienstes

service slapd start

Erstellen der initialen Struktur

Die intiale Struktur wird zuerst in einer LDIF-Datei definiert, und dann mit ldapadd auf den Server übertragen. Die LDIF hat folgenden Inhalt:

dn: dc=hateotu, dc=de                                                                                                                                                                                                                 
dc: hateotu
o: HateotU
objectclass: organization
objectclass: dcObject

dn: ou=People,dc=hateotu,dc=de
ou: People
objectClass: top
objectClass: organizationalUnit
description: Parent object of all UNIX accounts

dn: ou=Groups,dc=hateotu,dc=de
ou: Groups
objectClass: top
objectClass: organizationalUnit
description: Parent object of all UNIX groups

Somit wird die DC hateotu angelegt, unter der sich die OUs für People (Benutzer) und Groups (Gruppen) befinden. Um diese Strukturen auf dem Server anzulegen, muss folgender Befehl ausgeführt werden:

ldapadd -x -D "<rootdn>" -W -f </pfad/zum/ldif/file>