OpenLDAP ist eine Open-Source-Implementierung des Lightweight Directory Access Protocol, das vom OpenLDAP-Projekt entwickelt wurde. LDAP ist ein Internetprotokoll, das E-Mail- und andere Programme verwenden, um Kontaktinformationen von einem Server abzurufen. Es wird unter der öffentlichen OpenLDAP-Lizenz veröffentlicht; Es ist für alle wichtigen Linux-Distributionen, AIX, Android, HP-UX, OS X, Solaris, Windows und z/OS verfügbar.
Es fungiert in gewisser Weise als relationale Datenbank und kann zum Speichern beliebiger Informationen verwendet werden. LDAP ist nicht darauf beschränkt, die Informationen zu speichern; Es wird auch als Backend-Datenbank für „Single Sign-On“ verwendet, bei der ein Passwort für einen Benutzer von vielen Diensten gemeinsam genutzt wird.
In diesem Tutorial konfigurieren wir OpenLDAP für die zentrale Anmeldung, bei der die Benutzer das einzelne Konto verwenden, um sich bei mehreren Servern anzumelden.
Dieser Beitrag behandelt nur die OpenLDAP-Konfiguration ohne SSL. Wenn Sie OpenLDAP mit SSL konfigurieren möchten, folgen Sie dem folgenden Link, nachdem Sie diesen Beitrag abgeschlossen haben.
LESEN :Wie man OpenLDAP mit SSL auf CentOS 7 / RHEL 7 konfiguriert
Umgebung
Hostname | IP-Adresse | Betriebssystem | Zweck |
---|---|---|---|
server.itzgeek.local | 192.168.1.10 | CentOS 7 | LDAP-Server |
client.itzgeek.local | 192.168.1.20 | CentOS 7 | LDAP-Client |
Voraussetzungen
1. Stellen Sie sicher, dass beide LDAP-Server „server.itzgeek.local“ (192.168.1.10) und LDAP-Client „client.itzgeek.local“ (192.168.1.20) zugänglich sind.
2. Machen Sie auf jeder Maschine einen Host-Eintrag in /etc/hosts
zur Namensauflösung.
192.168.1.10 server.itzgeek.local server 192.168.1.20 client.itzgeek.local client
ODER
Wenn Sie statt der IP-Adresse einen Hostnamen verwenden möchten, konfigurieren Sie den DNS-Server mithilfe des Artikels So konfigurieren Sie den DNS-Server unter CentOS 7/RHEL 7 .
Hier werde ich die IP-Adresse für die gesamte Konfiguration verwenden.
Wenn Sie vorhaben, einen LDAP-Server mit Replikation zu erstellen, überspringen Sie dieses Tutorial und besuchen Sie OpenLDAP Multi-Master-Replikation unter Linux konfigurieren .OpenLDAP-Pakete installieren
Installieren Sie die folgenden LDAP-RPM-Pakete auf dem LDAP-Server (server.itzgeek.local ).
yum -y install openldap compat-openldap openldap-clients openldap-servers openldap-servers-sql openldap-devel
Starten Sie den LDAP-Dienst und aktivieren Sie ihn für den automatischen Start des Dienstes beim Systemstart.
systemctl start slapd systemctl enable slapd
Überprüfen Sie das LDAP.
netstat -antup | grep -i 389
Ausgabe:
tcp 0 0 0.0.0.0:389 0.0.0.0:* LISTEN 1520/slapd tcp6 0 0 :::389 :::* LISTEN 1520/slapd
LESEN :netstat-Befehl nicht gefunden auf CentOS 7 / RHEL 7 – Quick Fix
LDAP-Admin-Passwort einrichten
Führen Sie den folgenden Befehl aus, um ein LDAP-Root-Passwort zu erstellen. Wir werden dieses LDAP-Admin-Passwort (Root-Passwort) in diesem Artikel verwenden.
Ersetzen Sie ldppassword durch Ihr Passwort.
slappasswd -h {SSHA} -s ldppassword
Der obige Befehl generiert einen verschlüsselten Hash des eingegebenen Passworts, den Sie in der LDAP-Konfigurationsdatei verwenden müssen. Notieren Sie sich das also und bewahren Sie es beiseite.
Ausgabe:
{SSHA}d/thexcQUuSfe3rx3gRaEhHpNJ52N8D3
OpenLDAP-Server konfigurieren
Konfigurationsdateien für OpenLDAP-Server befinden sich in /etc/openldap/slapd.d/
. Um mit der Konfiguration von LDAP zu beginnen, müssten wir die Variablen „olcSuffix“ aktualisieren “ und „olcRootDN “.
olcSuffix – Datenbank-Suffix, das ist der Domänenname, für den der LDAP-Server die Informationen bereitstellt. In einfachen Worten, es sollte in Ihren
Domainnamen geändert werden.
olcRootDN – Root Distinguished Name (DN)-Eintrag für den Benutzer, der uneingeschränkten Zugriff hat, um alle Administrationsaktivitäten auf LDAP durchzuführen, wie ein Root-Benutzer.
olcRootPW – LDAP-Admin-Passwort für den obigen RootDN.
Die obigen Einträge müssen in/etc/openldap/slapd.d/cn=config/olcDatabase={2}hdb.ldif
aktualisiert werden Datei. Die manuelle Bearbeitung der LDAP-Konfiguration wird nicht empfohlen, da Sie Änderungen verlieren, wenn Sie den Befehl ldapmodify ausführen. Bitte erstellen Sie eine .ldif Datei.
vi db.ldif
Fügen Sie die folgenden Einträge hinzu.
Ersetzen Sie das verschlüsselte Passwort ( {SSHA}d/thexcQUuSfe3rx3gRaEhHpNJ52N8D3 ) mit dem Passwort, das Sie im vorherigen Schritt generiert haben.
dn: olcDatabase={2}hdb,cn=config changetype: modify replace: olcSuffix olcSuffix: dc=itzgeek,dc=local dn: olcDatabase={2}hdb,cn=config changetype: modify replace: olcRootDN olcRootDN: cn=ldapadm,dc=itzgeek,dc=local dn: olcDatabase={2}hdb,cn=config changetype: modify replace: olcRootPW olcRootPW: {SSHA}d/thexcQUuSfe3rx3gRaEhHpNJ52N8D3
Wenn Sie mit der ldif-Datei fertig sind, senden Sie die Konfiguration an den LDAP-Server.
ldapmodify -Y EXTERNAL -H ldapi:/// -f db.ldif
Nehmen Sie Änderungen an /etc/openldap/slapd.d/cn=config/olcDatabase={1}monitor.ldif vor (nicht manuell bearbeiten) Datei, um den Überwachungszugriff nur auf das LDAP-Stammverzeichnis zu beschränken (ldapadm ) Benutzer nicht an andere.
vi monitor.ldif
Verwenden Sie die folgenden Informationen.
dn: olcDatabase={1}monitor,cn=config changetype: modify replace: olcAccess olcAccess: {0}to * by dn.base="gidNumber=0+uidNumber=0,cn=peercred,cn=external, cn=auth" read by dn.base="cn=ldapadm,dc=itzgeek,dc=local" read by * none
Nachdem Sie die Datei aktualisiert haben, senden Sie die Konfiguration an den LDAP-Server.
ldapmodify -Y EXTERNAL -H ldapi:/// -f monitor.ldif
LDAP-Datenbank einrichten
Kopieren Sie die Konfigurationsdatei der Beispieldatenbank nach /var/lib/ldap
und aktualisieren Sie die Dateiberechtigungen.
cp /usr/share/openldap-servers/DB_CONFIG.example /var/lib/ldap/DB_CONFIG chown ldap:ldap /var/lib/ldap/*
Addiere den Cosinus und nis LDAP-Schemata.
ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/cosine.ldif ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/nis.ldif ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/inetorgperson.ldif
Generieren Sie base.ldif
Datei für Ihre Domain.
vi base.ldif
Verwenden Sie die folgenden Informationen. Sie können es Ihren Anforderungen entsprechend ändern.
dn: dc=itzgeek,dc=local dc: itzgeek objectClass: top objectClass: domain dn: cn=ldapadm ,dc=itzgeek,dc=local objectClass: organizationalRole cn: ldapadm description: LDAP Manager dn: ou=People,dc=itzgeek,dc=local objectClass: organizationalUnit ou: People dn: ou=Group,dc=itzgeek,dc=local objectClass: organizationalUnit ou: Group
Erstellen Sie die Verzeichnisstruktur.
ldapadd -x -W -D "cn=ldapadm,dc=itzgeek,dc=local" -f base.ldifDer Befehl ldapadd fordert Sie zur Eingabe des Passworts von ldapadm (LDAP-Root-Benutzer) auf.
Ausgabe:
Enter LDAP Password: adding new entry "dc=itzgeek,dc=local" adding new entry "cn=ldapadm ,dc=itzgeek,dc=local" adding new entry "ou=People,dc=itzgeek,dc=local" adding new entry "ou=Group,dc=itzgeek,dc=local"Seiten:1 2