LDAP - Lightweight Directory Access Protocol


Installation Fedora Core / Red Hat

Pakete installieren, falls nicht schon geschehen.

[root@hammer]# rpm -ihv openldap-2.1.29-1.i386.rpm \
openldap-servers-2.1.29-1.i386.rpm nss_ldap-217-1.i386.rpm \
openldap-clients-2.1.29-1.i386.rpm

Um Benutzer, Gruppen etc. in das LDIF-Format zu konvertieren
werden die MigrationTools benötigt http://www.padl.com/


Im Beispiel verwendeter Server

LDAP Server: 192.168.1.2


Konfiguration - Server - /etc/openldap/slapd.conf

# ----------------------------------------------------
# /etc/openldap/slapd.conf - Start
# ----------------------------------------------------
#
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/ misc.schema
include /etc/openldap/schema/ redhat/autofs.schema

schemacheck off

# LDAPv2 Client Verbindungen erlauben.
#
allow bind_v2

pidfile /var/run/slapd.pid

# Um ein eigenes Zertifikat zu erstellen, bitte in das Verzeichnis
# /usr/share/ssl/certs wechseln und make slapd.pem ausführen.
# Der LDAP Benutzer muss Leserechte für die Datei slapd.pem haben.
#
TLSCACertificateFile /usr/share/ssl/certs/ca-bundle.crt
TLSCertificateFile /usr/share/ssl/certs/slapd.pem
TLSCertificateKeyFile /usr/share/ssl/certs/slapd.pem

# ldbm Definitionen
#
database ldbm
suffix "dc=test-net,dc=de"
rootdn "cn=Manager,dc=test-net,dc=de"
#
# Um ein verschlüsseltes root Passwort zu generieren
# benutzen Sie bitte /usr/sbin/slappasswd -c CRYPT -s passwort
# das Ergebnis kopieren und in diese Datei einfügen
# rootpw {CRYPT}Ergebnis.
#
rootpw {CRYPT}CR.FKESiUdc1M

# Das Verzeichnis muss vor dem Ersten Start existieren.
#
directory /var/lib/ldap

# Indexe definieren
#
index objectClass eq,pres
index ou,cn,mail,surname,givenname eq,pres,sub
index uidNumber,gidNumber,loginShell eq,pres
index uid,memberUid eq,pres,sub
index nisMapName,nisMapEntry eq,pres,sub

# Zugriffsrechte definieren
#
access to attr=userPassword
by dn.base="cn=Manager,dc=test-net,dc=de" write
by self write
by anonymous auth
by * none

# Damit Benutzer in eigenem Verzeichnis Einträge
# hinzufügen, ändern oder löschen können.
#
access to dn="^.*,uid=([^,]+),ou=People,(.*)$"
by dn="uid=$1,ou=People,$2" write
by * none

access to *
by dn.base="cn=Manager,dc=test-net,dc=de" write
by self write
by * read

# ----------------------------------------------------
# /etc/openldap/slapd.conf - Ende
# ----------------------------------------------------

Konfiguration - Server - /etc/openldap/ldap.conf

# ----------------------------------------------------
# /etc/openldap/ldap.conf - Start
# ----------------------------------------------------
#
SIZELIMIT 12
TIMELIMIT 15
DEREF never
BASE dc=test-net,dc=de
URI ldaps://192.168.1.2
TLS_REQCERT allow

# ----------------------------------------------------
# /etc/openldap/ldap.conf - Ende
# ----------------------------------------------------

LDAP Server starten

[root@hammer]# /sbin/service ldap start

Starten des LDAP Servers bei nächstem Systemstart aktivieren.

[root@hammer]# /sbin/chkconfig --level 345 ldap on

Mit Hilfe der MigrationTools werden /etc/passwd
und /etc/group in das LDIF-Format konvertiert.
Zuerst müssen noch einige Variablen in der
Konfigurationsdatei "migrate_common.ph" angepasst werden.

$DEFAULT_MAIL_DOMAIN = "test.de";
$DEFAULT_BASE = "dc=test,dc=de";
$DEFAULT_MAIL_HOST = "mail.test.de";

# Für die Authentifizierung benötigte Dateien erstellen
#
[root@hammer /usr/MigrationTools-45]# ./migrate_base.pl > /etc/openldap/base.ldif
[root@hammer /usr/MigrationTools-45]# ./migrate_passwd /etc/passwd /etc/openldap/passwd.ldif
[root@hammer /usr/MigrationTools-45]# ./migrate_group.pl /etc/group /etc/openldap/group.ldif

Jetz die erstellten LDIF-Dateien dem LDAP-Server hinzufügen.

# Die Reihenfolge ist wichtig
#
[root@hammer]# /usr/bin/ldapadd -x -D "cn=Manager,dc=test,dc=de" -W -f /etc/openldap/base.ldif
[root@hammer]# /usr/bin/ldapadd -x -D "cn=Manager,dc=test,dc=de" -W -f /etc/openldap/group.ldif
[root@hammer]# /usr/bin/ldapadd -x -D "cn=Manager,dc=test,dc=de" -W -f /etc/openldap/passwd.ldif

Als LDAP-Passwort wird "passwort" eingegeben. Das Passwort
nachher unbedingt ändern wie in der slapd.conf beschrieben.

Firewall Port 636 öffnen für die Clients


Konfiguration - Client /etc/openldap/ldap.conf

# ----------------------------------------------------
# /etc/openldap/ldap.conf - Start
# ----------------------------------------------------
#
SIZELIMIT 12
TIMELIMIT 15
DEREF never
BASE dc=test-net,dc=de
URI ldaps://192.168.1.2
TLS_REQCERT allow

# ----------------------------------------------------
# /etc/openldap/ldap.conf - Ende
# ----------------------------------------------------

Konfiguration - Client /etc/ldap.conf

# ----------------------------------------------------
# /etc/ldap.conf - Start
# ----------------------------------------------------
#
# LDAP Server
#
host 192.168.1.2

# Suchbasis
#
base dc=test-net,dc=de

# Standard ist der Port 389
# Wir benutzen den sicheren Port 636
#
port 636

# LDAP Server Zertifikat nicht überprüfen
#
tls_checkpeer no

ssl on
pam_password md5

# ----------------------------------------------------
# /etc/openldap/ldap.conf - Ende
# ----------------------------------------------------


Konfiguration - Client /etc/nsswitch.conf

# ----------------------------------------------------
# /etc/nsswitch.conf - Start
# ----------------------------------------------------
#
passwd: files ldap
shadow: files ldap
group: files ldap

hosts: files dns
bootparams: nisplus [NOTFOUND=return] files

ethers: files
netmasks: files
networks: files
protocols: files ldap
rpc: files
services: files ldap

netgroup: files ldap

publickey: nisplus
automount: files ldap
aliases: files nisplus

# ----------------------------------------------------
# /etc/nsswitch.conf - Ende
# ----------------------------------------------------

Jetzt sollte eine Anmeldung ohne Probleme möglich sein.
Vergessen Sie bitte nicht das /home Verzeichnis der Benutzer zu exportieren.

Mehr Informationen finden Sie unter [ http://www.openldap.org ]

14.07.2004 © Edy Corak