389 Directory Server ist ein superschneller Open-Source-LDAP-Server für Unternehmen.
In diesem Tutorial erklären wir, wie Sie den LDAP-Client unter Linux installieren und konfigurieren, der mit Ihrem 389-Verzeichnisserver kommuniziert.
EPEL installieren
Stellen Sie auf Ihrem Client-Computer sicher, dass Sie das EPEL-Repository eingerichtet haben, da wir die LDAP-bezogenen Pakete von EPEL herunterladen werden.
Laden Sie zuerst das neueste EPEL-Paket von der Fedora-Projektwebsite herunter:
# wget http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-10.noarch.rpm
Als nächstes installieren Sie EPEL RPM auf Ihrem Client-Rechner.
# rpm -ivh epel-release-7-10.noarch.rpm
Überprüfen Sie /etc/hosts
Stellen Sie sicher, dass Ihre Hosts-Datei richtig eingerichtet ist.
In diesem Beispiel ist das Folgende die aktuelle /etc/hosts-Dateikonfiguration. In diesem Beispiel haben wir den 389-Verzeichnisserver bei der Bereitstellung installiert
# cat /etc/hosts 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 192.168.101.10 deploy.thegeekstuff.com deploy
Wenn Sie neu beim 389-Verzeichnisserver sind, lesen Sie unser vorheriges Tutorial, in dem wir ausführlich erklärt haben, wie der LDAP-389-Verzeichnisserver unter Linux installiert wird.
Installieren Sie die LDAP-Client-Bibliotheken
Für die LDAP-Clientbibliotheken müssen wir die folgenden Pakete installieren:
- openldap – Dies enthält LDAP-Unterstützungsbibliotheken
- openldap-devel.x86_64 – Enthält LDAP-Entwicklungsbibliotheken und Header-Dateien
- nss-pam-ldapd – Dies ist das nsswitch-Modul, das Verzeichnisserver verwendet
Installieren Sie die obigen Pakete mit yum wie unten gezeigt:
# yum install nss-pam-ldapd.x86_64 openldap.x86_64 openldap-devel.x86_64
Abgesehen von der Installation der drei oben genannten Pakete kann yum abhängig von Ihrer aktuellen Systemkonfiguration auch die folgenden abhängigen Pakete installieren:
- cyrus-sasl
- cyrus-sasl-devel
- nscd
Konfigurieren Sie LDAP-Client-Authentifizierungsressourcen
Um die LDAP-Client-Authentifizierungsressourcen zu konfigurieren, können wir eines der folgenden Tools verwenden:
- authconfig – Das Befehlszeilentool zum Konfigurieren von Authentifizierungsressourcen
- authconfig-tui – Ein GUI-basiertes Tool zum Konfigurieren der Auth-Ressourcen
Um die GUI-Version zu starten, führen Sie den folgenden Befehl aus:
# authconfig-tui
Dadurch wird die folgende Benutzeroberfläche angezeigt:
Verwenden Sie die Pfeiltasten und aktivieren Sie das Kontrollkästchen „Use LDAP Authentication“, wie unten gezeigt. Um ein Kontrollkästchen auszuwählen, drücken Sie die Leertaste.
Stellen Sie im nächsten Bildschirm Ihren LDAP-Server und Basis-DN entsprechend ein. Diese Werte sollten Ihrer Installation des 389-Verzeichnisservers entsprechen. Weitere Einzelheiten dazu finden Sie in unserem Tutorial zur Installation des 389-Verzeichnisservers.
Name Services-bezogene Dienste für LDAP-Client starten
Stellen Sie zunächst sicher, dass der nslcd Naming Services LDAP-Client-Daemon betriebsbereit ist. Wenn dies nicht der Fall ist, starten Sie es entsprechend.
# systemctl start nslcd # systemctl status nslcd ? nslcd.service - Naming services LDAP client daemon. Loaded: loaded (/usr/lib/systemd/system/nslcd.service; enabled; vendor preset: disabled) Active: active (running) since Sun 2017-10-08 15:15:58 UTC; 7min ago Process: 2624 ExecStart=/usr/sbin/nslcd (code=exited, status=0/SUCCESS) Main PID: 2625 (nslcd) CGroup: /system.slice/nslcd.service +-2625 /usr/sbin/nslcd Oct 08 15:15:58 192.168.101.10 systemd[1]: Starting Naming services LDAP client daemon.... Oct 08 15:15:58 192.168.101.10 systemd[1]: PID file /var/run/nslcd/nslcd.pid not readable (yet?) after start. Oct 08 15:15:58 192.168.101.10 nslcd[2625]: version 0.8.13 starting Oct 08 15:15:58 192.168.101.10 nslcd[2625]: accepting connections Oct 08 15:15:58 192.168.101.10 systemd[1]: Started Naming services LDAP client daemon.. .. ..
Als nächstes starten Sie den nscd Name Service Caching Daemon wie unten gezeigt mit dem Befehl systemctl.
# systemctl start nscd # systemctl status nscd ? nscd.service - Name Service Cache Daemon Loaded: loaded (/usr/lib/systemd/system/nscd.service; disabled; vendor preset: disabled) Active: active (running) since Sun 2017-10-08 15:27:23 UTC; 3s ago Process: 2693 ExecStart=/usr/sbin/nscd $NSCD_OPTIONS (code=exited, status=0/SUCCESS) Main PID: 2694 (nscd) CGroup: /system.slice/nscd.service +-2694 /usr/sbin/nscd Oct 08 15:27:23 192.168.101.10 nscd[2694]: 2694 monitoring file `/etc/hosts` (4) Oct 08 15:27:23 192.168.101.10 nscd[2694]: 2694 monitoring directory `/etc` (2) Oct 08 15:27:23 192.168.101.10 nscd[2694]: 2694 monitoring file `/etc/resolv.conf` (5) Oct 08 15:27:23 192.168.101.10 nscd[2694]: 2694 monitoring directory `/etc` (2) Oct 08 15:27:23 192.168.101.10 nscd[2694]: 2694 monitoring file `/etc/services` (6) Oct 08 15:27:23 192.168.101.10 nscd[2694]: 2694 monitoring directory `/etc` (2) Oct 08 15:27:23 192.168.101.10 nscd[2694]: 2694 disabled inotify-based monitoring for file `/etc/netgroup': No such file or directory Oct 08 15:27:23 192.168.101.10 nscd[2694]: 2694 stat failed for file `/etc/netgroup'; will try again later: No such file or directory Oct 08 15:27:23 192.168.101.10 nscd[2694]: 2694 Access Vector Cache (AVC) started Oct 08 15:27:23 192.168.101.10 systemd[1]: Started Name Service Cache Daemon. .. ..
SSSD- und PAM-LDAP-Konfiguration einrichten
Führen Sie den folgenden authconfig-Befehl aus, um die SSSD-Authentifizierungskonfiguration wie unten gezeigt einzurichten. Dadurch wird auch sichergestellt, dass Sie das Benutzer-Home-Verzeichnis für den LDAP-Client entsprechend erhalten.
# authconfig --enableldapauth --enablemkhomedir \ --enablesysnetauth --enablelocauthorize \ --ldapserver=ldap://deploy.thegeekstuff.com \ --ldapbasedn="dc=thegeekstuff,dc=com" --update
Bitte beachten Sie, dass der SSSD-Dienst von der authconfig aktiviert und gestartet wird, wenn zwei der folgenden Bedingungen erfüllt sind:
Die Datei /etc/sssd/sssd.conf existiert oder ist zumindest bereits mit der impliziten SSSD-Unterstützung konfiguriert
SSSD-Authentifizierung ist aktiviert, was bedeutet, dass auf das Modul pam_sss.so in der PAM-Konfiguration verwiesen wird
SSSD ist für die Benutzeridentität aktiviert, was bedeutet, dass die Datei nsswitch.conf auf sss verweist
Führen Sie den folgenden authconfig-Befehl aus, um die PAM-Konfiguration wie unten gezeigt einzurichten.
# authconfig --enableldap --enableldapauth \ --enablemkhomedir --enablesysnetauth \ --enablelocauthorize \ --ldapserver="deploy.thegeekstuff.com" \ --ldapbasedn="dc=deploy,dc=thegeekstuff,dc=com" \ --update
Im Folgenden sind einige der Dateien aufgeführt, die während der authconfig-Änderung betroffen sind:
- /etc/nscd.conf
- /etc/nslcd.conf
- /etc/openldap/ldap.conf
- /etc/pam.d/system-auth
- /etc/pam.d/password-auth-ac
- /etc/nsswitch.conf
Die folgenden Optionen werden im obigen authconfig-Befehl verwendet:
- –enableldapauth konfiguriert Authentifizierungsfunktionen über /etc/pam.d/system-auth
- –enableldap-Optionen konfigurieren Benutzerinformationsdienste in /etc/nsswitch.conf
- –enablesysnetauth-Option ermöglicht die Authentifizierung von Systemkonten mit UID <500.
- –enablelocauthorize-Option ermöglicht es, die Überprüfung von Netzwerkauthentifizierungsdiensten auf Autorisierung zu umgehen Die Option
- –update stellt sicher, dass alle Konfigurationsdateien basierend auf den angegebenen Befehlszeilenoptionen geändert werden