RHCSA -Serien Einrichten der LDAP -basierten Authentifizierung in RHEL 7 - Teil 14
- 2691
- 47
- Madleen Vater
Wir werden diesen Artikel beginnen, indem wir einige skizzieren LDAP Grundlagen (was es ist, wo es verwendet wird und warum) und zeigen, wie ein LDAP -Server eingerichtet wird und einen Client so konfiguriert Red Hat Enterprise Linux 7 Systeme.
RHCSA -Serie: Setup LDAP -Server und Client -Authentifizierung - Teil 14Wie wir sehen werden, gibt es einige andere mögliche Anwendungsszenarien, aber in diesem Leitfaden werden wir uns ganz auf ganz konzentrieren LDAP-basiert Authentifizierung. Beachten Sie außerdem, dass wir aufgrund der Weite des Themas nur die Grundlagen hier behandeln werden, aber Sie können sich auf die in der Zusammenfassung beschriebenen Dokumentation beziehen, um mehr detailliertere Details zu erhalten.
Aus dem gleichen Grund werden Sie feststellen, dass ich beschlossen habe, mehrere Hinweise auf Menschenseiten von LDAP -Tools auszuschalten, um der Kürze willen, aber die entsprechenden Erklärungen befinden sich in der Ferne eines FingerspitzenMann ldapadd, Zum Beispiel).
Trotzdem fangen wir an.
Unsere Testumgebung
Unser Testumfeld besteht aus zwei Rhel 7 Kisten:
Server: 192.168.0.18. Fqdn: rhel7.Mydomain.com Klient: 192.168.0.20. Fqdn: ldapclient.Mydomain.com
Wenn Sie möchten, können Sie den in Teil 12 installierten Maschine verwenden: Automatisieren Sie RHEL 7 -Installationen mit Kickstart als Client.
Was ist LDAP?
LDAP steht für Leichtes Verzeichniszugriffsprotokoll und besteht in einer Reihe von Protokollen, die es einem Client ermöglichen, über ein Netzwerk, zentral gespeicherte Informationen (z. von verschiedenen Orten oder einer großen Anzahl von Endnutzern zur Verfügung (ein weiteres Beispiel wäre ein Verzeichnis von Hausadressen und Telefonnummern aller Mitarbeiter in einem Unternehmen).
Wenn Sie solche (und mehr) Information zentral behalten, können Sie von allen, denen die Berechtigungen zur Verwendung erteilt werden, leichter gewartet und zugänglich werden.
Das folgende Diagramm bietet ein vereinfachtes Diagramm von LDAP, und wird unten ausführlicher beschrieben:
LDAP -DiagrammErläuterung des obigen Diagramms im Detail.
- Ein Eintrag In einem LDAP.
- Ein Attribut ist eine Informationen, die mit einem Eintrag verknüpft ist (z. B. Adressen, verfügbare Kontakt -Telefonnummern und E -Mail -Adressen).
- Jedes Attribut wird ein oder mehrere zugewiesen Werte bestehend in einer platz getrennten Liste. Ein Wert, der pro Eintrag eindeutig ist.
Gehen wir mit den Server- und Client -Installationen fort.
Installieren und Konfigurieren eines LDAP -Servers und des Clients
In Rhel 7, LDAP wird durch implementiert von OpenLDAP. Verwenden Sie zum Installieren des Servers und des Clients die folgenden Befehle:
# yum update && yum Installieren Sie OpenLdap OpenLdap-Clients OpenLdap-Servers # yum update && yum Installieren
Sobald die Installation abgeschlossen ist, gibt es einige Dinge, die wir uns ansehen. Die folgenden Schritte sollten allein auf dem Server durchgeführt werden, sofern nicht ausdrücklich festgestellt wird:
1. Stellen Sie sicher Selinux stellt sich nicht in die Quere, indem er Folgendes aktiviert Booleschen anhaltend sowohl auf dem Server als auch auf dem Client:
# setsbool -p degly_ypbind = 0 authlogin_nsswitch_use_ldap = 0
Wo ALLGESTELLTE_YPBIND ist für LDAP-basierte Authentifizierung erforderlich und authlogin_nsswitch_use_ldap kann von einigen Anwendungen benötigt werden.
2. Aktivieren und beginnen Sie den Service:
# Systemctl aktivieren Slapd.Service # SystemCtl Start Slapd.Service
Denken Sie daran, dass Sie den Service auch mit SystemCTL deaktivieren, neu starten oder stoppen können:
# Systemctl Deaktivieren Sie Slapd.Service # SystemCtl Neustart Slapd.Service # SystemCtl Stopp Slapd.Service
3. Seit der Slapd Der Service wird als LDAP -Benutzer ausgeführt (mit dem Sie überprüfen können ps -e -o pid, uname, comm | Grep Slapd), ein solcher Benutzer sollte die besitzen /var/lib/ldap Verzeichnis, damit der Server Einträge ändern können, die durch Verwaltungswerkzeuge erstellt werden, die nur als Root ausgeführt werden können (mehr dazu in einer Minute).
Kopieren Sie die Beispieldatenbankkonfigurationsdatei für den Eigentümer dieses Verzeichnisses rekursiv Slapd hinein:
# cp/usr/share/openldap-servers/db_config.Beispiel/var/lib/ldap/db_config # chown -r ldap: ldap/var/lib/ldap
4. Richten Sie einen OpenLDAP -administrativen Benutzer ein und weisen Sie ein Kennwort zu:
# slappasswd
Wie im nächsten Bild gezeigt:
LDAP Admin -Passwort festlegenund erstellen eine Ldif Datei (ldaprootpasswd.ldif) mit dem folgenden Inhalt:
DN: olcdatabase = 0 config, cn = config Changetype: Ändern Sie hinzufügen: olcrootpw olcrootpw: ssha Passwort
Wo:
- PASSWORT ist die zuvor erhaltene Hashed -Zeichenfolge.
- cn = config Zeigt globale Konfigurationsoptionen an.
- olcdatabase Zeigt einen bestimmten Datenbankinstanznamen an und kann normalerweise darin gefunden werden /etc/openldap/slapd.d/cn = config.
In Bezug auf den zuvor bereitgestellten theoretischen Hintergrund die ldaprootpasswd.ldif
Die Datei fügt dem LDAP -Verzeichnis einen Eintrag hinzu. In diesem Eintrag stellt jede Zeile ein Attribut dar: Wertpaar (wobei DN, Changetyp, Add und Olcrootpw die Attribute und die Zeichenfolgen rechts von jedem Dickdarm sind, sind ihre entsprechenden Werte).
Möglicherweise möchten Sie dies berücksichtigen, während wir weiter vorgehen, und bitte beachten Sie, dass wir dieselben gebräuchlichen Namen verwenden (cn =)
Während des Restes dieses Artikels hängt jeder Schritt von der vorherigen ab.
5. Fügen Sie nun den entsprechenden LDAP -Eintrag hinzu, indem Sie die angeben Uri In Bezug auf den LDAP -Server, auf dem nur die Felder Protokoll/Host/Port zulässig sind.
# ldapadd -h ldapi: /// -f ldaprootpasswd.ldif
Die Ausgabe sollte ähnlich sein wie mit:
LDAP -Konfigurationund importieren einige grundlegende LDAP -Definitionen aus dem /etc/openldap/Schema
Verzeichnis:
# für Def im Cosinus.ldif nis.ldif inetorgperson.ldif; do ldapadd -h ldapi: /// -f/etc/openldap/schema/$ def; ErledigtLDAP -Definitionen
6. Lassen Sie LDAP Ihre Domain in seiner Datenbank verwenden.
Ein anderes erstellen Ldif Datei, die wir anrufen werden ldapdomain.ldif
, Ersetzen Sie mit dem folgenden Inhalt Ihre Domäne (in der Domänenkomponente dc =) und das Passwort, je nach Bedarf:
DN: olcdatabase = 1 Monitor, cn = config Changetype: Modify Ersetzen Sie: olcaccess olcaccess: 0 bis * von DN.Base = "gidNumber = 0+uidNumber = 0, cn = Peercred, CN = extern, cn = auth" von DN gelesen.Base = "CN = Manager,DC = MyDomain,dc = com "Lesen von * None DN: olcdatabase = 2 HDB, CN = CONFIG -Changetyp: Modify Ersetzen Sie: olcsuffix olcsuffix: DC = MyDomain,dc = com dn: olcdatabase = 2 hdb, cn = config Changetype: modifizieren Sie ersetzen Sie: olcrootdn olcrootdn: cn = Manager,DC = MyDomain,dc = com dn: olcdatabase = 2 hdb, cn = config Changetype: modifizieren Sie hinzufügen: olcrootpw olcrootpw: ssha password dn: olcdatabase = 2 hdb, cn = config Changetyp: add: olcaccess olcacess: 0 0 0 0 0 0 0 0 an attrs = userpassword, Shadowlastchange von dn = "cn = Manager,DC = MyDomain,dc = com "Schreiben von anonymem Auth von Self Schreiben von * None olcaccess: 1 bis DN.Base = "" von * lesen olcaccess: 2 to * von dn = "cn = Manager, dc = mydomain, dc = com" Schreiben von * read
Laden Sie es dann wie folgt: wie folgt:
# ldapmodify -h ldapi: /// -f ldapdomain.ldifLDAP -Domänenkonfiguration
7. Jetzt ist es Zeit, unserem LDAP -Verzeichnis einige Einträge hinzuzufügen. Attribute und Werte werden durch einen Dickdarm getrennt (:) :)
In der folgenden Datei werden wir nennen Baseldapdomain.ldif
:
dn: dc = mydomain, dc = com ObjectClass: Top -Objektklasse: DCObject ObjectClass: Organisation O: Mydomain com DC: MyDomain DN: CN = Manager, DC = MyDomain, DC = Com ObjectClass: OrganizationalRole Cn: Manager Beschreibung: Verzeichnismanager DN: ou = people, dc = mydomain, dc = com ObjectClass: organisationUnit ou: people dn: ou = gruppe, dc = mydomain, dc = com ObjectClass: organisationUnit ou: gruppe
Fügen Sie die Einträge zum LDAP -Verzeichnis hinzu:
# ldapadd -x -d cn = Manager, dc = mydomain, dc = com -w -f Baselddomain.ldifFügen Sie LDAP -Domänenattribute und -werte hinzu
8. Erstellen Sie einen LDAP -Benutzer angerufen ldapuser (Adduser ldapuser) und erstellen Sie die Definitionen für eine LDAP -Gruppe in ldapgroup.ldif
.
# Adduser ldapuser # vi ldapgroup.ldif
Fügen Sie den folgenden Inhalt hinzu.
DN: CN = Manager, OU = Group, DC = MyDomain, DC = Com ObjectClass: Top -Objektklasse: Possixgroup GidNumber: 1004
Wo Gidnumber ist die gid in /etc/Gruppe für ldapuser) und laden Sie es:
# ldapadd -x -w -d "CN = Manager, DC = MyDomain, DC = com" -f ldapGroup.ldif
9. Fügen Sie eine LDIF -Datei mit den Definitionen für den Benutzer LDAPUSER hinzu (ldapuser.ldif
):
dn: uid = ldapuser, ou = people, dc = mydomain, dc = com ObjectClass: Top -Objektklasse: Account ObjectClass: Possixaccount Objektklasse: Shadowaccount CN: ldapuser uid: ldapuser uidnumber: 1004 gidnumber: 1004 homedirectory: /home /ldapus enderword: SSHA Fin0YQZBDUDI0FPPQQQ9UUDWMJZQY28S3M LOGINSHELL: /BIN /BASH GECOS: LDAPUSER SHADowlastchange: 0 ShadowMax: 0 ShadowWarning: 0
und laden Sie es:
# ldapadd -x -d cn = Manager, dc = mydomain, dc = com -w -f ldapuser.ldifLDAP -Benutzerkonfiguration
Ebenso können Sie den gerade erstellten Benutzereintrag löschen:
# ldapdelete -x -w -d Cn = Manager, DC = MyDomain, dc = com "uid = ldapuser, ou = people, dc = mydomain, dc = com"
10. Kommunikation durch die Firewall zulassen:
# Firewall-CMD --add-Service = LDAP
11. Last, aber nicht zuletzt ermöglichen es dem Client, sich mit LDAP zu authentifizieren.
Um uns in diesem letzten Schritt zu helfen, werden wir die verwenden Authconfig Dienstprogramm (eine Schnittstelle zur Konfiguration der Systemauthentifizierungsressourcen).
Unter Verwendung des folgenden Befehls wird das Home -Verzeichnis für den angeforderten Benutzer erstellt, wenn es nach der Authentifizierung gegen den LDAP -Server nicht vorhanden ist, ist erfolgreich:
# authconfig --enableldap --enableldapAuth -LdapServer = rhel7.Mydomain.com -ldapbasedn = "dc = mydomain, dc = com" -enablemkhomedir - -updateLDAP -Client -Konfiguration
Zusammenfassung
In diesem Artikel haben wir erklärt, wie die grundlegende Authentifizierung mit einem LDAP -Server eingerichtet werden kann. Um das im vorliegende Handbuch beschriebene Setup weiter zu konfigurieren, finden Sie in Kapitel 13 - LDAP.
Fühlen Sie sich frei, Fragen zu hinterlassen, die Sie möglicherweise im folgenden Kommentarformular verwenden.
- « So montieren Sie Google Drive unter Linux mit dem Client Google Drive ocamlfuse
- Lampe (Linux, Apache, Mariadb und PHP) auf Fedora 22 installieren »