23.05.2015
Über OpenLDAP
OpenLDAP ist ein kostenloses Open-Source-Light Weight Directory Access-Protokoll entwickelt durch das OpenLDAP-Projekt . Es ist ein plattformunabhängiges Protokoll, so dass es auf allen Linux / Unix-ähnliche Systeme, Windows, AIX, Solaris und Android läuft.
OpenLDAP beinhaltet:
- slapd - Stand-alone-LDAP Daemon (Server)
- Bibliotheken der Umsetzung des LDAP-Protokolls, und
- Utilities, Tools und Beispiel-Clients.
In diesem Tutorial wollen wir sehen, wie die Installation und Konfiguration von OpenLDAP in Ubuntu / Debian-Server abläuft. Wegen des Mangels an Ressourcen und Zeit, wurde dieses How-to nur in Ubuntu 15.04 getestet. Allerdings sollten die folgenden Schritte auf Debian 8.7 und früheren Versionen von Ubuntu, Ubuntu zu arbeiten, einschließlich 14,10 / 14,04 / 13,10 / 13,04 / 12,10 etc. Wenn Sie während der Installation von OpenLDAP in anderen Distributionen, können Sie lassen Sie mich wissen irgendwelche Probleme, Ich werde prüfen und aktualisieren diese wie-ASAP.
Nun, lassen Sie uns einrichten LDAP-Server beginnen.
Hier Details meines LDAP-Server:
Operating System : Ubuntu 15.04
Hostname : server.linuxuser.local
IP Address : 192.168.1.195
Ersetzen Sie die oben genannten Werte mit Ihren eigenen.
Installation und Konfiguration von OpenLDAP
Zunächst lassen Sie uns sehen, wie man OpenLDAP in DEB basierten Systemen installiert
1. Installieren Sie OpenLDAP
Geben Sie folgenden Befehl im Terminal zu OpenLDAP installieren.
Wechseln Sie zu Root-Benutzer:
sudo su
Oder
su
Führen Sie den folgenden Befehl aus, um OpenLDAP installieren.
apt-get install slapd ldap-utils
Während der Installation werden Sie aufgefordert, das Kennwort für den LDAP-Admin-Konto eingerichtet werden.Geben Sie hier Ihr Admin-Passwort und bestätigen es im nächsten Schritt.
OpenLDAP ist nun installiert. Lassen Sie uns zur Konfiguration übergehen.
2. Konfigurieren Sie OpenLDAP
Bearbeiten "/etc/ldap/ldap.conf" Datei,
vi /etc/ldap/ldap.conf
Finden, entfernen und ersetzen “BASE” und “URI-Werte mit Ihren Domain-Namen und IP-Adresse wie unten dargestellt.
#
LDAP Defaults
See ldap.conf(5) for details
This file should be world readable but not world writable.
BASE dc=linuxuser,dc=local
URI ldap://192.168.1.195
#SIZELIMIT 12
#TIMELIMIT 15
#DEREF never
TLS certificates (needed for GnuTLS)
TLS_CACERT /etc/ssl/certs/ca-certificates.crt
Speichern und schließen Sie die Datei.
Als nächstes sollten wir die slapd mit den aktualisierten Werten neu zu konfigurieren.
dpkg-reconfigure slapd
- OpenLDAP Server Konfiguration auslassen? Wählen Sie “Nein” und drücken Sie die Eingabetaste.
- Geben Sie den DNS-Domänennamen an. Z.B. linuxuser.local
- Geben Sie den Name der Organisation (also den Namen Ihres Unternehmens). Z.B. linuxuser
- Geben Sie den LDAP-Admin-Passwort, das Sie im vorherigen Schritt erstellt haben.
- Geben Sie das Kennwort ein. LDAP-Admin Passwort vergeben
- Wählen Sie das Datenbank-Backend. Ich wähle die Standardeinstellungen HDB.
- Wählen Sie, ob Sie die Datenbank automatisch gelöscht wird oder behalten Sie sie bis slapd entfernt ist.Hier möchte ich meine alten Datenbank behalten, daher klicke ich Nein .
- Wählen Sie Ja, um alte Datenbank zu verschieben. Hier Ja
- LDAPv2-Protokoll erlauben? Wählen Sie Nein, und drücken Sie Enter.
Das war’s. Wir haben erfolgreich OpenLDAP konfiguriert. Lassen weitermachen und prüfen Sie, ob es funktioniert hat oder nicht.
Test LDAP Server
Führen Sie den folgenden Befehl ein, um OpenLDAP zu testen:
ldapsearch -x
Beispielausgabe:
# extended LDIF
# LDAPv3
base <dc=linuxuser,dc=local> (default) with scope subtree
filter: (objectclass=*)
requesting: ALL
linuxuser.local
dn: dc=linuxuser,dc=local
objectClass: top
objectClass: dcObject
objectClass: organization
o: linuxuser
dc: linuxuser
admin, linuxuser.local
dn: cn=admin,dc=linuxuser,dc=local
objectClass: simpleSecurityObject
objectClass: organizationalRole
cn: admin description: LDAP administrator
search result
search: 2 ** result: 0 Success**
numResponses: 3
numEntries: 2
Wenn Sie den “Erfolg” Nachricht in Ihrer Ausgabe zu sehen, dann Herzlichen Glückwunsch! LDAP-Server funktioniert !!
LDAP Server Administration
Verwaltung von LDAP-Server im Befehlsmodus ist etwas schwierig und umständlich.
Da wir uns nicht an alle LDAP-Befehle erinnern können, werden wir einen einfaches GUI-Tool namens “phpldapadmin” zur Konfiguration und Verwaltung von LDAP-Server verwenden.
Installieren phpLDAPadmin
phpLDAPadmin ist eine web-basierte LDAP Administrationstool zur Verwaltung von LDAP-Server.
Durch die Verwendung von phpLDAPadmin, können Sie Ihre LDAP-Struktur durchsuchen, LDAP-Schema anzeigen, Suchanfragen durchführen, erstellen, löschen, kopieren und LDAP Einträge bearbeiten.
Sie können sogar Einträge zwischen Servern kopieren.
Geben Sie den folgenden Befehl, um phpldapadmin zu installieren:
apt-get install phpldapadmin
Erstellen Sie einen symbolischen Link für phpldapadmin Verzeichnis.
ln -s /usr/share/phpldapadmin/ /var/www/html/phpldapadmin
Auf Ubuntu 14.10 und niedrigeren Versionen ausführen:
ln -s /usr/share/phpldapadmin/ /var/www/phpldapadmin
Bearbeiten der "/etc/phpldapadmin/config.php” Datei,
vi /etc/phpldapadmin/config.php
Stellen Sie die korrekte Zeitzone ein. Um das zu tun, zu finden und kommentieren Sie die folgende Zeile um und stellen Sie so Ihre Zeitzone ein.
[…]
$config->custom->appearance[’timezone’] = ‘Europe/Berlin’;
[…]
Blättern Sie nach unten weiter und ersetzen Sie den Domain-Namen mit Ihren eigenen Werten.
Um dies zu erreichen, finden Sie unter “Define your LDAP servers in this section”
Abschnitt in der Konfigurationsdatei und bearbeiten Sie die folgenden Zeilen um, wie unten dargestellt.
$servers = new Datastore();
$servers->newServer(’ldap_pla’);
$servers->setValue(‘server’,’name’,’linuxuser LDAP Server’);
$servers->setValue(‘server’,‘host’,‘192.168.1.195’);
$servers->setValue(‘server’,‘base’,array(‘dc=linuxuser,dc=local’));
$servers->setValue(’login’,‘bind_id’,‘cn=admin,dc=linuxuser,dc=local’);
[…]
Starten Sie den Apache-Dienst.
systemctl restart apache2
Auf Ubuntu 14.10 und älteren Versionen laufen:
service apache2 restart
Stellen Sie sicher, dass Sie Apache-Server-Port **“80”**geöffnet haben und die LDAP-Standard-Port “389” in der Firewall / Router-Konfiguration steht.
ufw allow 80
Beispielausgabe:
Rules updated
Rules updated (v6)
ufw allow 389
Beispielausgabe:
Regeln aktualisiert
Regeln aktualisiert (v6)
Die oben genannten Schritte sind für Debian -Systeme nicht notwendig.
Test phpLDAPadmin
Öffnen Sie Ihren Webbrowser und navigieren Sie zu: “http://192.168.1.195/phpldapadmin” .
Der folgende Bildschirm sollte angezeigt werden.
Klicken Sie auf “Login” auf der linken Seite. Geben Sie den LDAP-Admin-Passwort, das Sie während der Installation OpenLDAP erstellt haben, und klicken Sie auf “Authenticate”.
Nun wird der Hauptkonsolen Bildschirm phpldapadmin geöffnet.
Sie können die LDAP-Domain sehen “linuxuser.local” sowie andere Details auf der linken Seite.
Von hier aus können Sie weitere Objekte, wie zB Organisationseinheit Benutzer und Gruppen hinzufügen usw.
Erstellen von Objekten
1. Erstellen der Organisationseinheit (OU):
Können einige Beispiel-Objekte aus der phpldapadmin Konsole erstellen. Zunächst werden wir eine Organisationseinheit zu erstellen.
Klicken Sie auf das "+" Zeichen in der Nähe der Zeile “dc = linuxuser” und klicken Sie auf den “Neuen Eintrag erzeugen” Link.
Blättern Sie nach unten und wählen “Allgemein: Organisationseinheit”.
Geben Sie den Namen der Organisationseinheit (Ex.sales) und klicken Sie “Create Object” .
Klicken Sie abschließend auf “Erzeuge einen neuen Eintrag” .
Sie können nun die neu erstellte OU im Haupt LDAP Abschnitt auf der linken Seite finden.
2. Erstellen Sie Gruppen:
Klicken Sie auf das sales OU auf der linken Seite und danach auf “Create a child entry” Link.
Im nächsten Fenster wählen Sie “Generic: Posix Group” .
Geben Sie den Namen der Gruppe ein und klicken Sie auf Create Object.
Zum Beispiel,gebe ich hier den Namen der Gruppe als “sales-Gruppe” ein.
Klicken Sie auf Erzeuge einen neuen Eintrag, um die Änderungen zu speichern.
Jetzt können Sie sehen, dass die neu erstellte Gruppe namens “sales-group” unter den sales OU.
3. Erstellen Sie Benutzer:
Lassen Sie uns nun einen neuen Benutzer unter sales-group erstellen.
Klicken Sie auf sales-group auf der linken Seite.
Wählen Sie Create a child entry.
Im nächsten Fenster wählen Sie “Allgemein: Benutzerkonto” .
Geben Sie die Benutzerdaten, wie beispielsweise Vorname, GID-Nummer, Name, Login-Shell, Benutzerpasswort und Benutzer-ID usw.,
wie in der folgenden Bildschirm dargestellt ist und klicken Sie auf Erzeuge einen neuen Eintrag.
Zum Beispiel werden dadurch hier ein Benutzer namens “piuser” erstellet.
Und klicken Sie auf “Erzeuge einen neuen Eintrag”, um die Änderungen zu speichern.
Nun wird der neu erstellten Benutzer “piuser” nun auch unter der “sales-Gruppe” Objekt gefunden..
Darüber hinaus können Sie überprüfen, ob die neu erstellte Objekte auch wirklich mit den Commands existieren
ldapsearch -x
Beispielausgabe:
# extended LDIF
LDAPv3
base <dc=linuxuser,dc=local> (default) with scope subtree
filter: (objectclass=*)
requesting: ALL
linuxuser.local
dn: dc=linuxuser,dc=local
objectClass: top
objectClass: dcObject
objectClass: organization
o: linuxuser
dc: linuxuser
admin, linuxuser.local
dn: cn=admin,dc=linuxuser,dc=local
objectClass: simpleSecurityObject
objectClass: organizationalRole
cn: admin
description: LDAP administrator
sales, linuxuser.local
dn: ou=sales,dc=linuxuser,dc=local
objectClass: organizationalUnit
objectClass: top ou: sales
sales-group, sales, linuxuser.local
dn: cn=sales-group,ou=sales,dc=linuxuser,dc=local
gidNumber: 500
cn: sales-group
objectClass: posixGroup
objectClass: top
piuser, sales-group, sales, linuxuser.local
dn: cn=piuser,cn=sales-group,ou=sales,dc=linuxuser,dc=local
cn:: sales-group gidNumber: 500
homeDirectory: /home/users/piuser
sn: piuser
loginShell: /bin/sh
objectClass: inetOrgPerson
objectClass: posixAccount
objectClass: top
uidNumber: 1000
uid: piuser
search result
search: 2
result: 0 Success
numResponses: 6
numEntries: 5
Sogar ungeübte Benutzer können innerhalb einer Stunde einfach einen Arbeits LDAP-Server aufsetzen. Jetzt ist der OpenLDAP Server betriebsbereit.