GNU/Linux >> LINUX-Kenntnisse >  >> Linux

So installieren und konfigurieren Sie OpenLDAP unter CentOS / RHEL Linux

LDAP steht für Lightweight Directory Access Protocol.

LDAP ist eine Lösung für den Zugriff auf zentral gespeicherte Informationen über das Netzwerk. Diese zentral gespeicherten Informationen werden in einem Verzeichnis organisiert, das dem X.500-Standard folgt.

Die Informationen werden hierarchisch gespeichert und organisiert, und der Vorteil dieses Ansatzes besteht darin, dass die Informationen in Containern gruppiert werden können und Clients bei Bedarf auf diese Container zugreifen können.

Die OpenLDAP-Hierarchie ist der DNS-Hierarchie fast ähnlich.

Die folgenden sind die zwei am häufigsten verwendeten Objekte in OpenLDAP:

  1. cn (allgemeiner Name) – Dies bezieht sich auf die Blatteinträge, die Endobjekte sind (zum Beispiel:Benutzer und Gruppen)
  2. dc (Domänenkomponente) – Dies bezieht sich auf einen der Containereinträge in der LDAP-Hierarchie. Wenn in einem Setup die LDAP-Hierarchie auf eine DNS-Hierarchie abgebildet wird, werden typischerweise alle DNS-Domains als DC-Objekte bezeichnet.

Wenn es beispielsweise einen Benutzer in der Hierarchie sam.thegeekstuff.com gibt, wird der vollständig definierte Name dieses Benutzers als cn=sam, dc=thegeekstuff, dc=com bezeichnet. Wie Sie bemerkt haben, wird im FDN (Fully Distinguished Name) ein Komma als Trennzeichen verwendet und kein Punkt, wie es bei DNS üblich ist.

Durch die Verwendung der verschiedenen LDAP-Eintragstypen können Sie eine hierarchische Verzeichnisstruktur aufbauen. Das ist der Grund, warum openLDAP so weit verbreitet ist. Sie können problemlos eine OpenLDAP-Hierarchie aufbauen, in der auf Objekte an anderen Standorten problemlos verwiesen wird, ohne sie auf lokalen Servern zu speichern. Dies macht OpenLDAP zu einem leichtgewichtigen Verzeichnis, insbesondere im Vergleich zu anderen Verzeichnisservern wie Microsofts Active Directory.

Sehen wir uns nun an, wie Sie eine einzelne Instanz eines LDAP-Servers einrichten, die von mehreren Clients in Ihrem Netzwerk zur Authentifizierung verwendet werden kann.

OpenLDAP-Pakete installieren

Verwenden Sie auf CentOS und RedHat yum install wie unten gezeigt, um die openldap-bezogenen Pakete zu installieren.

yum install -y openldap openldap-clients openldap-servers

Sie sollten die folgenden drei Pakete installieren:

  1. openldap-servers – Dies ist der Haupt-LDAP-Server
  2. openldap-clients – Enthält alle erforderlichen LDAP-Client-Dienstprogramme
  3. openldap – Dieses Paket enthält die LDAP-Unterstützungsbibliotheken

LDAP-Konfigurationsdateien

  • config.ldif – Die LDAP-Standardkonfiguration wird unter einer Datei in /etc/openldap/slapd.d/cn=config.ldif gespeichert, die im LDIF-Format erstellt wird. Dies ist das LDAP-Eingabeformat (LDIF), ein spezielles Format, mit dem Sie Informationen in das LDAP-Verzeichnis eingeben können.
  • olcDatabase{2}bdb.ldif – Sie können auch die Einstellungen wie Anzahl der Verbindungen, die der Server unterstützen kann, Timeouts und andere Datenbankeinstellungen in der Datei /etc/openldap/slapd.d/cn=config/olcDatabase{2 ändern }bdb.ldif. Dies ist die Datei, die auch die Parameter wie LDAP-Root-Benutzer und den Basis-DN enthält.

Erstellen Sie ein olcRootDN-Konto als Administrator

Es wird immer empfohlen, zuerst ein dediziertes Benutzerkonto mit allen Berechtigungen zum Ändern von Informationen in der LDAP-Datenbank zu erstellen.

Ändern Sie die Datei olcDatabase={2}bdb.ldif und ändern Sie den Eintrag olcRootDN. Das Folgende ist der Standardeintrag.

# grep olcRootDN /etc/openldap/slapd.d/cn=config/olcDatabase={2}bdb.ldif
olcRootDN: cn=Manager,dc=my-domain,dc=com

Ändern Sie die obige Zeile in einen Administratorbenutzer. In diesem Beispiel ist der Benutzer „ramesh“ der olcRootDN.

olcRootDN: cn=ramesh,dc=thegeekstuff,dc=com

OlcRootPW-Root-Passwort erstellen

Verwenden Sie nun den Befehl slappasswd, um einen Hash für das Root-Passwort zu erstellen, das Sie verwenden möchten. Sobald das Passwort generiert ist, öffnen Sie die Datei cn=config.ldif, fügen Sie den Parameter olcRootPW ein und kopieren Sie das gehashte Passwort wie unten gezeigt.

Führen Sie den folgenden Befehl aus und geben Sie ein Passwort an. Dadurch wird der Hash für das angegebene Passwort generiert.

# slappasswd
New password: SecretLDAPRootPass2015
Re-enter new password: SecretLDAPRootPass2015
{SSHA}1pgok6qWn24lpBkVreTDboTr81rg4QC6

Nehmen Sie die Hash-Ausgabe des obigen Befehls und fügen Sie sie wie unten gezeigt zum Parameter oclRootPW in der Datei config.ldif hinzu.

# vi /etc/openldap/slapd.d/cn=config.ldif
olcRootPW: {SSHA}1pgok6qWn24lpBkVreTDboTr81rg4QC6

OlcSuffix-Domänennamen erstellen

Richten Sie nun das olcSuffix ein und stellen Sie die gewünschte Domain ein. Ändern Sie einfach die Zeile, die mit olcSuffix beginnt, in der Datei olcDatabase={2}bdb.ldif wie unten gezeigt.

# vi /etc/openldap/slapd.d/cn=config/olcDatabase={2}bdb.ldif
olcSuffix: dc=thegeekstuff,dc=com

Überprüfen Sie die Konfigurationsdateien

Verwenden Sie den Befehl slaptest, um die Konfigurationsdatei wie unten gezeigt zu überprüfen. Dies sollte die Meldung „Test erfolgreich“ wie unten gezeigt anzeigen.

# slaptest -u
config file testing succeeded

Möglicherweise erhalten Sie während des obigen Befehls die folgenden Nachrichten, die Sie vorerst ignorieren können.

54a39508 ldif_read_file: checksum error on "/etc/openldap/slapd.d/cn=config/olcDatabase={1}monitor.ldif"
54a39508 ldif_read_file: checksum error on "/etc/openldap/slapd.d/cn=config/olcDatabase={2}bdb.ldif"

LDAP-Server starten

Starten Sie den LDAP-Server wie unten gezeigt.

# service slapd start
Checking configuration files for slapd: [WARNING]
config file testing succeeded
Starting slapd:                         [  OK  ]

Verifizieren Sie die LDAP-Suche

Um zu überprüfen, ob der LDAP-Server erfolgreich konfiguriert wurde, können Sie den folgenden Befehl verwenden und überprüfen, ob der Domäneneintrag vorhanden ist.

# ldapsearch -x -b "dc=thegeekstuff,dc=com"
# extended LDIF
#
# LDAPv3
# base <dc=thegeekstuff,dc=com> with scope subtree
# filter: (objectclass=*)
# requesting: ALL
#
# search result
search: 2
result: 32 No such object
# numResponses: 1

Basis-LDAP-Struktur in base.ldif

Die Verwendung von OU-Objekten (Organisationseinheit) kann Ihnen dabei helfen, der LDAP-Datenbank zusätzliche Struktur zu verleihen. Wenn Sie vorhaben, dem LDAP-Verzeichnis verschiedene Arten von Einträgen hinzuzufügen, z. B. Benutzer, Gruppen, Computer, Drucker und mehr, ist es einfacher, jeden Eintragstyp in einen eigenen Container zu stellen.

Um diese Organisationseinheiten zu erstellen, können Sie eine anfängliche LDIF-Datei erstellen, wie im folgenden Beispiel gezeigt. In diesem Beispiel können Sie mit dieser Datei den Basiscontainer dc=thegeekstuff,dc=com erstellen und zwei Organisationseinheiten mit den Namen Benutzer und Gruppen in diesem Container erstellen.

# cat base.ldif
dn: dc=thegeekstuff,dc=com
objectClass: dcObject
objectClass: organization
o: thegeekstuff.com
dc: thegeekstuff
dn: ou=users,dc=thegeekstuff,dc=com
objectClass: organizationalUnit
objectClass: top
ou: users
dn: ou=groups,dc=thegeekstuff,dc=com
objectClass: organizationalUnit
objectClass: top
ou: groups

Grundstruktur mit ldapadd importieren

Jetzt können wir die Basisstruktur mit dem Befehl ldapadd wie unten gezeigt in das LDAP-Verzeichnis importieren.

# ldapadd -x -W -D "cn=ramesh,dc=thegeekstuff,dc=com" -f base.ldif
Enter LDAP Password:
adding new entry "dc=thegeekstuff,dc=com"
adding new entry "ou=users,dc=thegeekstuff,dc=com"
adding new entry "ou=groups,dc=thegeekstuff,dc=com"

Überprüfen Sie die Basisstruktur mit ldapsearch

Verwenden Sie den folgenden ldapsearch-Befehl, um zu überprüfen, ob die Organisationseinheiten erfolgreich erstellt wurden.

# ldapsearch -x -W -D "cn=ramesh,dc=thegeekstuff,dc=com" -b "dc=thegeekstuff,dc=com" "(objectclass=*)"
Enter LDAP Password:

Die Ausgabe des obigen Befehls zeigt alle Objekte in der LDAP-Verzeichnisstruktur an.

# extended LDIF
#
# LDAPv3
# base <dc=thegeekstuff,dc=com> with scope subtree
# filter: (objectclass=*)
# requesting: ALL
#
# thegeekstuff.com
dn: dc=thegeekstuff,dc=com
objectClass: dcObject
objectClass: organization
o: thegeekstuff.com
dc: thegeekstuff
# users, thegeekstuff.com
dn: ou=users,dc=thegeekstuff,dc=com
objectClass: organizationalUnit
objectClass: top
ou: users
# groups, thegeekstuff.com
dn: ou=groups,dc=thegeekstuff,dc=com
objectClass: organizationalUnit
objectClass: top
ou: groups
# search result
search: 2
result: 0 Success
# numResponses: 4
# numEntries: 3

Im nächsten OpenLDAP-Artikel erklären wir, wie Sie neue Benutzer und Gruppen zum LDAP-Verzeichnis hinzufügen.


Linux
  1. CentOS / RHEL 7 :So installieren und konfigurieren Sie Telnet

  2. So installieren und konfigurieren Sie Samba in CentOS / RHEL

  3. CentOS / RHEL 4 :So installieren und konfigurieren Sie den FTP-Server (vsftpd)

  4. CentOS / RHEL 5 :So installieren und konfigurieren Sie den vsftpd-Server

  5. So installieren und konfigurieren Sie Telnet in RHEL / CentOS 5,6

So installieren und konfigurieren Sie HAProxy unter CentOS 8 / RHEL 8

So installieren und konfigurieren Sie Checkmk unter CentOS 8 / RHEL 8

So installieren und konfigurieren Sie Nagios Core unter CentOS 8 / RHEL 8

So installieren und konfigurieren Sie Denyhost in Centos 7 Linux

So installieren und konfigurieren Sie Jenkins unter CentOS 8 / RHEL 8

So installieren und konfigurieren Sie GlusterFS unter CentOS 7/CentOS 8