Lightweight Directory Access Protocol (LDAP)

LDAP - Erste Schritte - Installation - Konfiguration

 

Hier wird nur ein kleines Teil des Verzeichnisdienstes (LDAP) beschrieben. Der Dienst wird installiert und konfiguriert vor allem für Mail-Client z.B. Thunderbird-Adressbuch und auch für Samba, einem Fileserver.


Die wichtigste Keywords in Active Directory LDAP

 

cn: Common Name
ou: Organisational Unit
dc: Domain Component


Einige andere Keywords


l: Location (Standort)
o: Organisation
st: Staat/Provinz/Bundesland
c: Country

 

Nicht alle Container innerhalb einer ADS-Domäne sind OU-Objekte. Einige sind CN-Objekte wie z.B. "Users", "Computers", und "Builtin".

 

Wir beginnen selbstverständlich mit der Installation des Betriebssystems

Es wird Grundinstallation von openSuSE 11.2 vorgenommen. Danach noch die folgende Pakete nachinstallieren

 

  • openldap2
  • nss_ldap
  • pam_ldap

 

Den Dienst ldap dauerhaft in Yast unter System Services (Runlevel) aktivieren (einschalten)

  • Die Firewall ausschalten. Erst wenn alles funktioniert wird die wieder eingeschaltet.
  • Computername: ldapserver
  • Domäne:  site
  • IP-Adresse: 192.168.0.210 Maske: 255.255.255.0
  • Gateway: 192.168.0.1
  • DNS: 192.168.0.200

gewünschte Domäne: monoplan.de

gewünschtes Passwort: secret

 

Um die Zeichenkette des gewünschten Passwortes in verschlüsselter Form zu erfahren. schreiben Sie in dem Shell-Fenster den folgenden Befehl: slappasswd. Danach zweimal das Passwort eingeben. Die konvertierte Zeichenkette in Datei /etc/openldap/slapd.conf unter rootpw eintragen.
Wichtig: Wenn das Paket: yast2-ldap-server installiert wurde, ist diese Datei ungültig. Den LDAP-Server muss man im YaST konfigurieren. Auch wenn dieses Paket wieder deinstalliert wird, ist die Datei /etc/openldap/slapd.conf immer noch ungültig. Will man denoch die Datei benutzen, muss man die Datei /etc/sysconfig/openldap anpassen.

 

 

## ohne YaST Konfiguration, wenn yast-ldap-server
## nicht installiert ist

## Path:           Network/LDAP
## Description:    Basic Configuration of the
## OpenLDAP Directory Server
OPENLDAP_START_LDAP="yes"
OPENLDAP_START_LDAPS="no"
OPENLDAP_START_LDAPI="no"
OPENLDAP_SLAPD_PARAMS=""
OPENLDAP_USER="ldap"
OPENLDAP_GROUP="ldap"
OPENLDAP_CHOWN_DIRS="yes"
OPENLDAP_LDAP_INTERFACES=""
OPENLDAP_LDAPS_INTERFACES=""
OPENLDAP_LDAPI_INTERFACES=""
OPENLDAP_REGISTER_SLP="yes"
OPENLDAP_KRB5_KEYTAB=""
OPENLDAP_CONFIG_BACKEND=""
## mit YaST Konfiguration, wenn yast-ldap-server
## installiert ist

## Path:           Network/LDAP
## Description:    Basic Configuration of the
## OpenLDAP Directory Server
OPENLDAP_START_LDAP="yes"
OPENLDAP_START_LDAPS="no"
OPENLDAP_START_LDAPI="yes"
OPENLDAP_SLAPD_PARAMS=""
OPENLDAP_USER="ldap"
OPENLDAP_GROUP="ldap"
OPENLDAP_CHOWN_DIRS="yes"
OPENLDAP_LDAP_INTERFACES=""
OPENLDAP_LDAPS_INTERFACES=""
OPENLDAP_LDAPI_INTERFACES=""
OPENLDAP_REGISTER_SLP="no"
OPENLDAP_KRB5_KEYTAB=""
OPENLDAP_CONFIG_BACKEND="ldap"

 

1.

Die Datei /etc/openldap/slapd.conf entsprechend unserem bedürfnissen anpassen. In der Datei die Zeilen suffix, rootdn, und rootpw ändern.

#
# See slapd.conf(5) for details on configuration options.
# This file should NOT be world readable.
#
include  /etc/openldap/schema/core.schema
include  /etc/openldap/schema/cosine.schema
include  /etc/openldap/schema/inetorgperson.schema
include  /etc/openldap/schema/nis.schema
include  /etc/openldap/schema/yast.schema
include  /etc/openldap/schema/samba3.schema

pidfile  /var/run/slapd/slapd.pid
argsfile /var/run/slapd/slapd.args

access to dn.base=""
        by * read

access to dn.base="cn=Subschema"
        by * read

access to attrs=userPassword,userPKCS12
        by self write
        by * auth

access to attrs=shadowLastChange
        by self write
        by * read

access to *
        by * read


database bdb
suffix  "dc=monoplan,dc=de"
checkpoint      1024    5
cachesize       10000
rootdn  "cn=Manager,dc=monoplan,dc=de"
# Cleartext passwords, especially for the rootdn, should
# be avoid.  See slappasswd(8) and slapd.conf(5) for details.
# Use of strong authentication encouraged.
rootpw   {SSHA}j6qX/iSEfm8b/PIqP8/ed2dlIBqx6O6A
# The database directory MUST exist prior to running slapd AND
# should only be accessible by the slapd and slap tools.
# Mode 700 recommended.
directory /var/lib/ldap
# Indices to maintain
index objectClass             eq
index cn                            pres,sub,eq
index sn                            pres,sub,eq
index uid                           pres,sub,eq
index displayName            pres,sub,eq
index uidNumber               eq
index gidNumber               eq
index memberUID             eq
index sambaSID                eq
index sambaPrimaryGroupSID     eq
index sambaDomainName           eq
index default                      sub

2.

die Datei /etc/openldap/ldap.conf anpassen.

BASE         dc=monoplan,dc=de
URI           ldap://localhost
TLS_REQCERT       allow

3.

Unter http://ldapadmin.sourceforge.net/ finden Sie ein Windows Programm LDAPAdmin. Mit dem Programm können Sie die Verbindung zu dem LDAP-Server testen bzw. einige Daten eintragen. Sie können das Programm auf einem Windows Client installieren und die Verbindung aufbauen. 
Bei diesem Zustand des LDAP-Servers bekommen Sie aber nach der Verbindung eine Fehlermeldung, dass kein Objekt gefunden wurde. In nächstem Schritt werden wir einige Objekte einfügen.

 

Ldap-Admin Einstellungen

4.

Die Daten in LDAP können wir auf zwei verschiedene Weise eintragen bzw. pflegen. Bei der ersten Methode werden LDAP shell-Befehle verwendet. Einige werden auch hier beschrieben. Die Zweite Mothode ganz bequem per Web-Interface. Dazu lesen Sie den Abschnitt Samba mit LDAP.
Hier machen wir weiter mit den Shell-LDAP Befehlen.

5.

Zuerst erstellen wir ein Datei mit dem Namen z.B. ou.ldif und mit dem folgenden Inhalt

dn: dc=monoplan,dc=de
objectClass: organization
objectClass: dcObject
dc: monoplan
o: monoplan

dn: ou=users,dc=monoplan,dc=de
objectClass: organizationalUnit
ou: users

dn: ou=groups,dc=monoplan,dc=de
objectClass: organizationalUnit
ou: groups

dn: ou=computers,dc=monoplan,dc=de
objectClass: organizationalUnit
ou: computers

dn: ou=domains,dc=monoplan,dc=de
objectClass: organizationalUnit
ou: domains

 

 

danach können wir die Objekte mit dem Befehl ldapadd in den Verzeichnisdienst einfügen

Ldapserver:/ # ldapadd -x -D cn=Manager,dc=monoplan,dc=de -W -f ou.ldif

6.

Es kann man weitere Ldap-Befehle wie ldapmodify, ldapdelete, ldapexop, ldapmodrdn, ldapsearch, ldapchangepwd, ldapdiff verwenden oder ganz einfach weiter mit dem Windows Programm Ldap Admin arbeiten.
Wenn die Benutzer eingetragen werden, kann man den Server als LDAP E-Mail Adressbuch verwenden.