OpenLDAP è un'implementazione open source di Lightweight Directory Access Protocol sviluppata dal progetto OpenLDAP. LDAP è un protocollo Internet utilizzato dalla posta elettronica e da altri programmi per cercare le informazioni di contatto da un server. È rilasciato con licenza pubblica OpenLDAP; è disponibile per tutte le principali distribuzioni Linux, AIX, Android, HP-UX, OS X, Solaris, Windows e z/OS.
Funziona come un database relazionale in determinati modi e può essere utilizzato per memorizzare qualsiasi informazione. LDAP non si limita a memorizzare le informazioni; viene anche utilizzato come database di back-end per il "single sign-on" in cui una password per un utente è condivisa tra molti servizi.
In questo tutorial, configureremo OpenLDAP per l'accesso centralizzato in cui gli utenti utilizzano il singolo account per accedere a più server.
Questo post copre solo la configurazione OpenLDAP senza SSL. Se desideri configurare OpenLDAP con SSL, segui il link sottostante dopo aver completato questo post.
LEGGI :Come configurare OpenLDAP con SSL su CentOS 7 / RHEL 7
Ambiente
Nome host | Indirizzo IP | OS | Scopo |
---|---|---|---|
server.itzgeek.local | 192.168.1.10 | CentOS 7 | Server LDAP |
client.itzgeek.local | 192.168.1.20 | CentOS 7 | Client LDAP |
Prerequisiti
1. Assicurati che entrambi i server LDAP "server.itzgeek.local" (192.168.1.10) e client LDAP "client.itzgeek.local" (192.168.1.20) sono accessibili.
2. Immettere una voce host su ciascuna macchina in /etc/hosts
per la risoluzione dei nomi.
192.168.1.10 server.itzgeek.local server 192.168.1.20 client.itzgeek.local client
O
Se prevedi di utilizzare un nome host anziché un indirizzo IP, configura il server DNS utilizzando l'articolo su Come configurare il server DNS su CentOS 7 / RHEL 7 .
Qui userò l'indirizzo IP per tutta la configurazione.
Se hai intenzione di creare un server LDAP con la replica, salta questo tutorial e visita Configura la replica multimaster OpenLDAP su Linux .Installa i pacchetti OpenLDAP
Installa i seguenti pacchetti RPM LDAP sul server LDAP (server.itzgeek.local ).
yum -y install openldap compat-openldap openldap-clients openldap-servers openldap-servers-sql openldap-devel
Avvia il servizio LDAP e abilitalo per l'avvio automatico del servizio all'avvio del sistema.
systemctl start slapd systemctl enable slapd
Verifica l'LDAP.
netstat -antup | grep -i 389
Risultato:
tcp 0 0 0.0.0.0:389 0.0.0.0:* LISTEN 1520/slapd tcp6 0 0 :::389 :::* LISTEN 1520/slapd
LEGGI :comando netstat non trovato su CentOS 7 / RHEL 7 – Quick Fix
Imposta password amministratore LDAP
Esegui il comando seguente per creare una password di root LDAP. Useremo questa password di amministratore LDAP (root) in tutto questo articolo.
Sostituisci ldppassword con la tua password.
slappasswd -h {SSHA} -s ldppassword
Il comando precedente genererà un hash crittografato della password inserita che è necessario utilizzare nel file di configurazione LDAP. Quindi prendine nota e tienilo da parte.
Risultato:
{SSHA}d/thexcQUuSfe3rx3gRaEhHpNJ52N8D3
Configura il server OpenLDAP
I file di configurazione dei server OpenLDAP si trovano in /etc/openldap/slapd.d/
. Per iniziare con la configurazione di LDAP, dovremmo aggiornare le variabili "olcSuffix " e "olcRootDN “.
olcSuffix – Suffisso database, è il nome di dominio per il quale il server LDAP fornisce le informazioni. In parole semplici, dovrebbe essere cambiato nel tuo
nome di dominio.
olcRootDN – Voce Root Distinguished Name (DN) per l'utente che dispone dell'accesso illimitato per eseguire tutte le attività di amministrazione su LDAP, come un utente root.
olcRootPW – Password amministratore LDAP per il RootDN sopra.
Le voci precedenti devono essere aggiornate in/etc/openldap/slapd.d/cn=config/olcDatabase={2}hdb.ldif
file. La modifica manuale della configurazione LDAP non è consigliata poiché perderai le modifiche ogni volta che esegui il comando ldapmodify. Crea un .ldif file.
vi db.ldif
Aggiungi le voci sottostanti.
Sostituisci la password crittografata ( {SSHA}d/thexcQUuSfe3rx3gRaEhHpNJ52N8D3 ) con la password che hai generato nel passaggio precedente.
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
Una volta che hai finito con il file ldif, invia la configurazione al server LDAP.
ldapmodify -Y EXTERNAL -H ldapi:/// -f db.ldif
Apporta modifiche a /etc/openldap/slapd.d/cn=config/olcDatabase={1}monitor.ldif (non modificare manualmente) per limitare l'accesso del monitor solo alla radice ldap (ldapadm ) utente non ad altri.
vi monitor.ldif
Usa le informazioni di seguito.
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
Dopo aver aggiornato il file, invia la configurazione al server LDAP.
ldapmodify -Y EXTERNAL -H ldapi:/// -f monitor.ldif
Configura il database LDAP
Copiare il file di configurazione del database di esempio in /var/lib/ldap
e aggiorna i permessi del file.
cp /usr/share/openldap-servers/DB_CONFIG.example /var/lib/ldap/DB_CONFIG chown ldap:ldap /var/lib/ldap/*
Aggiungi il coseno e nis Schemi LDAP.
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
Genera base.ldif
file per il tuo dominio.
vi base.ldif
Utilizzare le informazioni di seguito. Puoi modificarlo in base alle tue esigenze.
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
Costruisci la struttura della directory.
ldapadd -x -W -D "cn=ldapadm,dc=itzgeek,dc=local" -f base.ldifIl comando ldapadd ti chiederà la password di ldapadm (utente root LDAP).
Risultato:
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"Pagine:1 2