OpenLDAP (CentOS7)
LDAP (Lightweight Directory Access Protocol) è un protocollo per l’interrogazione e la modifica dei servizi di directory, intesi come raggruppamento di informazioni viste come record di dati ed organizzati in modo gerarchico.
Installiamo e configuriamo OpenLDAP sul nostro server; prima di tutto installiamo i packages essenziali:
# yum install -y openldap openldap-clients openldap-servers
Creiamo la struttura che conterrà il database ldap:
# mkdir -p /var/lib/ldap # chown -R ldap.ldap /var/lib/ldap # chmod 700 /var/lib/ldap
Scegliamo la password amministrativa per il database LDAP e generiamone l’hash:
# slappasswd New password : passw0rd Re-enter new password : passw0rd {SSHA}axx0WbqYl+jtANWPe6mbldBsbjvpdSkb
Aggiungiamo l’utente amministratore con la sua password (anzi, con l’hash della sua password) alla configurazione ldap; editiamo il file /etc/openldap/slapd.d/cn=config/olcDatabase={2}hdb.ldif ed modifichiamolo nel seguente modo:
...olcSuffix: dc=my-domain,dc=comolcSuffix: dc=anthesia,dc=lan ...olcRootDN: cn=Manager,dc=my-domain,dc=comolcRootDN: cn=Manager,dc=anthesia,dc=lan ... olcRootPW: {SSHA}axx0WbqYl+jtANWPe6mbldBsbjvpdSkb ...
NON usare l’utente root come amministratore dell’albero ldap (cn=root,dc=anthesia,dc=lan), in quanto OpenLDAP avrà dei problemi.
Modifichiamo l’accesso all’albero LDAP per dare all’utente cn=Manager,dc=anthesia,dc=lan l’accesso come root; editiamo il file /etc/openldap/slapd.d/cn=config/olcDatabase={1}monitor.ldif:
# olcAccess: {0}to * by dn.base="gidNumber=0+uidNumber=0,cn=peercred,cn=external ,cn=auth" read by dn.base="cn=Manager,dc=my-domain,dc=com" read by * none olcAccess: {0}to * by dn.base="gidNumber=0+uidNumber=0,cn=peercred,cn=external ,cn=auth" read by dn.base="cn=Manager,dc=anthesia,dc=lan" read by * none
Avviamo ed abilitiamo il servizio:
# systemctl enable slapd # systemctl start slapd
Creiamo manualmente la struttura radice del nostro albero LDAP; i nodi dell’albero LDAP vengono chiamate “entries” e possono rappresentare utenti, unità organizzative, domain controller o altro. Gli attributi di ogni entry sono determinati dallo schema LDAP, cioè un file dove vengono descritti gli attributi che quella entry può/deve avere. Per creare il nostro albero LDAP, dobbiamo cominciare dalla radice; tale radice viene chiamata “root entry”, che è un particolare tipo di entry chiamata domain controller (DC). Creeremo per il nostro scopo una entry domain controller chiamata dc=anthesia,dc=lan; per fare questo, creiamo il file /tmp/anthesia.ldif:
dn: dc=anthesia,dc=lan objectClass: dcObject objectClass: organization dc: anthesia o : Anthesia
Aggiungiamo il contenuto di questo file al nostro albero LDAP:
# ldapadd -f /tmp/anthesia.ldif -D cn=Manager,dc=anthesia,dc=lan -w passw0rd
Se è tutto andato bene, il nostro albero LDAP è stato creato (anzi, la nostra DC) e l’amministratore di tale albero è l’utente cn=Manager,dc=anthesia,dc=lan.
Facciamo una query all’albero per vedere se tutto funziona:
# ldapsearch -x -LLL -b dc=anthesia,dc=lan dn: dc=anthesia,dc=lan objectClass: dcObject objectClass: organization dc: anthesia o: Anthesia
Il nostro OpenLDAP server è dunque operativo e funzionante.