Strumenti Utente

Strumenti Sito


services:ldap

LDAP - Storing utenti

Ldap è costituito da un albero, per convenzione ogni nodo si può indicare usando una stringa che rappresenta il cammino dalla radice al nodo.

La radice dell'albero Ldap del LILiK è dc=lilik,dc=it

Questo vuol dire che la foglia “Mario Rossi” viene rappresentata da qualcosa simile alla stringa dc=lilik,dc=it,name=mario,surname=rossi.

L'albero Ldap del LILiK

I nodi che rappresentano gli utenti sono di due tipi: virtualMailAccount e posixAccount

VirtualMailAccount

Sono nodi della forma

mail=nomeutente@lilik.it,vd=lilik.it,o=hosting,dc=lilik,dc=it

quindi figli del nodo

vd=lilik.it,o=hosting,dc=lilik,dc=it

e sono usati per implementare le caselle di posta degli utenti.

posixAccount

Sono nodi della forma

uid=nomeutente,o=People,dc=lilik,dc=it

quindi figli del nodo

o=People,dc=lilik,dc=it

e sono usati per implementare gli utenti posix delle macchine.

Pam puó essere configurato per permettere ai posixAccount l'accesso alla macchina come veri e propri utenti di sistema.

Altri due tipi di nodi ci servono per implementare alcuni tipi di permessi: groupOfNames e posixGroup

  • groupOfNames Sono nodi della forma cn=nomegruppo,o=Group,dc=lilik,dc=it quindi figli del nodo o=Group,dc=lilik,dc=it. Contengono un elenco di nodi di ldap, permettendo di raggruppare i nodi sotto un unico gruppo. Ad esempio solo gli utenti appartenenti al gruppo cn=wiki,o=Group,dc=lilik,dc=it possono accedere in scrittura alla wiki.
  • posixGroup Sono nodi della forma cn=nomegruppo,o=Group,dc=lilik,dc=it quindi figli del nodo o=Group,dc=lilik,dc=it. Contengono una lista di uid. Pam puó essere configurato per vedere i posixGroup come veri e propri gruppi del sistema.

Implementazione

Su ogni macchina fisica (con virtualizzazione) gira una macchina virtuale con ldap configurato in replica N-Way Multi-Master che assicura la sincronizzazione fra tutti i nodi master. L'hostname della VM di ldap è così composto: ldap(terzo byte dell'indirizzo della macchina host).lilik.it
Es: la VM ldap sulla macchina fisica 10.0.3.1 ha come hostname ldap3.lilik.it

Su ldap.lilik.it, che punta a gandalf.lilik.it, c'è un load balancing fra i seguenti server:

  • ldap1.lilik.it
  • ldap2.lilik.it
  • ldap7.lilik.it

Il load balancing così configurato assicura che una richiesta ldap su ldap.lilik.it sia servita da uno dei nodi ldap del pool senza discontinuità di servizio in caso di down di alcuni nodi ldap

L'interfaccia web di LDAP, phpLDAPadmin, è raggiungibile all'indirizzo: http://ldapX.lilik.it/phpldapadmin

Vedi anche Ldap in Multi-Master N-Way

Nuovo albero

È il 2016, cambiamo albero (di natale).

La root dc=lilik,dc=it.

L'admin dn=admin,dc=lilik,dc=it.

Per cominciare

L'articolo quickstart di OpenLDAP fornisce le fasi per lavorare con LDAP

A partire dal file /usr/local/etc/openldap/slapd.ldif possiamo definire il database di LDAP

    dn: olcDatabase=mdb,cn=config
    objectClass: olcDatabaseConfig
    objectClass: olcMdbConfig
    olcDatabase: mdb
    OlcDbMaxSize: 1073741824
    olcSuffix: dc=example,dc=com
    olcRootDN: cn=Manager,dc=example,dc=com
    olcRootPW: secret
    olcDbDirectory: /usr/local/var/openldap-data
    olcDbIndex: objectClass eq

Questo file viene usato da slapd tramite il comando su root -c /usr/local/sbin/slapadd -F /usr/local/etc/cn=config -l /usr/local/etc/openldap/slapd.ldif

Avvia Slapd

Per avviare lo Standalone LDAP Daemon (SLAPD) usa il comando su root -c /usr/local/libexec/slapd -F /usr/local/etc/cn=config

Adesso il demone LDAP è avviato e risponde alle ricerche tramite ldapsearch

Aggiungere dati a LDAP

Per aggiungere dati ad LDAP usiamo il comando ldapadd che prende come input un file formattato come ldif

Un esempio è il seguente

example.ldif
    dn: dc=example,dc=com
    objectclass: dcObject
    objectclass: organization
    o: Example Company
    dc: example
 
    dn: cn=Manager,dc=example,dc=com
    objectclass: organizationalRole
    cn: Manager

Usando il comando dapadd -x -D “cn=Manager,dc=example,dc=com” -W -f example.ldif viene aggiunto questo record al database LDAP.

Controllare accessi

Se la configurazione non viene modificata ancora slapd permette l'accesso in lettura a tutti.

services/ldap.txt · Ultima modifica: 2017/02/15 14:58 da edoput