389 Directory Server è un server LDAP aziendale open source super veloce.
In questo tutorial, spiegheremo come installare e configurare il client LDAP su Linux che parlerà con il tuo server di directory 389.
Installa EPEL
Sul tuo computer client, assicurati di avere configurato il repository EPEL, poiché scaricheremo i pacchetti relativi a ldap da EPEL.
Innanzitutto, scarica l'ultimo pacchetto EPEL dal sito Web del progetto fedora:
# wget http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-10.noarch.rpm
Quindi, installa EPEL rpm sul tuo computer client.
# rpm -ivh epel-release-7-10.noarch.rpm
Verifica /etc/hosts
Assicurati che il tuo file hosts sia configurato correttamente.
In questo esempio, la seguente è la configurazione del file /etc/hosts corrente. In questo esempio, abbiamo il server di directory 389 installato su deploy
# 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
Se non conosci il server di directory 389, fai riferimento al nostro tutorial precedente in cui abbiamo spiegato in dettaglio come installare il server di directory LDAP 389 su Linux.
Installa le librerie del client LDAP
Per le librerie client LDAP, è necessario installare i seguenti pacchetti:
- openldap – Contiene librerie di supporto LDAP
- openldap-devel.x86_64 – Contiene librerie di sviluppo LDAP e file di intestazione
- nss-pam-ldapd – Questo è il modulo nsswitch che usa i server di directory
Installa i pacchetti sopra usando yum come mostrato di seguito:
# yum install nss-pam-ldapd.x86_64 openldap.x86_64 openldap-devel.x86_64
Oltre a installare i tre pacchetti precedenti, a seconda della configurazione del sistema corrente, yum potrebbe anche installare i seguenti pacchetti dipendenti:
- cyrus-sasl
- cyrus-sasl-devel
- nscd
Configura le risorse di autenticazione client LDAP
Per configurare le risorse di autenticazione del client LDAP, possiamo utilizzare uno qualsiasi dei seguenti strumenti:
- authconfig – Lo strumento da riga di comando per configurare le risorse di autenticazione
- authconfig-tui – Uno strumento basato su GUI per configurare le risorse di autenticazione
Per avviare la versione della GUI, eseguire il seguente comando:
# authconfig-tui
Verrà visualizzata la seguente interfaccia utente:
Utilizzare i tasti freccia e selezionare la casella di controllo "Usa autenticazione LDAP" come mostrato di seguito. Per selezionare una casella di controllo, premi la barra spaziatrice.

Nella schermata successiva, imposta il tuo server LDAP e il DN di base di conseguenza. Questi valori dovrebbero corrispondere all'installazione del server di directory 389. Fare riferimento al nostro tutorial di installazione del server di directory 389 per maggiori dettagli su questo.

Avvia i servizi relativi a Name Services per il client LDAP
Per prima cosa assicurati che il demone client LDAP di nslcd Naming Services sia attivo e funzionante. Se questo non è attivo, avvialo di conseguenza.
# 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.. .. ..
Quindi, avvia il demone di memorizzazione nella cache del servizio nscd Name come mostrato di seguito usando il comando 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. .. ..
Imposta la configurazione SSSD e PAM LDAP
Eseguire il comando authconfig seguente per configurare la configurazione dell'autenticazione SSSD come mostrato di seguito. Questo ti assicurerà anche di ottenere la home directory dell'utente di conseguenza per il client LDAP.
# authconfig --enableldapauth --enablemkhomedir \ --enablesysnetauth --enablelocauthorize \ --ldapserver=ldap://deploy.thegeekstuff.com \ --ldapbasedn="dc=thegeekstuff,dc=com" --update
Si noti che il servizio SSSD verrà abilitato e avviato durante da authconfig quando due delle seguenti condizioni sono soddisfatte:
/etc/sssd/sssd.conf il file esiste, o almeno è già configurato utilizzando il supporto SSSD implicito
L'autenticazione SSSD è abilitata, il che significa che il modulo pam_sss.so è referenziato nella configurazione PAM
SSSD è abilitato per l'identità dell'utente, il che significa che il file nsswitch.conf fa riferimento a sss
Esegui il seguente comando authconfig per impostare la configurazione PAM come mostrato di seguito.
# authconfig --enableldap --enableldapauth \ --enablemkhomedir --enablesysnetauth \ --enablelocauthorize \ --ldapserver="deploy.thegeekstuff.com" \ --ldapbasedn="dc=deploy,dc=thegeekstuff,dc=com" \ --update
Di seguito sono riportati alcuni dei file che verranno interessati durante la modifica di authconfig:
- /etc/nscd.conf
- /etc/nslcd.conf
- /etc/openldap/ldap.conf
- /etc/pam.d/system-auth
- /etc/pam.d/password-auth-ac
- /etc/nsswitch.conf
Le seguenti opzioni vengono utilizzate nel comando authconfig sopra:
- –enableldapauth configurerà le funzioni di autenticazione tramite /etc/pam.d/system-auth
- – le opzioni di enableldap configureranno i servizi di informazioni utente in /etc/nsswitch.conf
- L'opzione –enablesysnetauth consentirà l'autenticazione degli account di sistema con uid <500. L'opzione
- –enablelocauthorize consentirà di ignorare il controllo dei servizi di autenticazione di rete per l'autorizzazione
- –l'opzione di aggiornamento farà in modo che tutti i file di configurazione vengano modificati in base alle opzioni della riga di comando specificate