Esatto anche questo.
Vedo che anche nell'esempio che citi sotto non indichi mai la direttiva
"database meta".
Il meta, nonostante sia "virtuale", e' pur sempre un database di
OpenLDAP e quindi deve essere dichiarato come tale.
Le direttive "uri" devono stare sotto/dopo la direttiva "database meta".
Cosa intendi per direttiva "database meta"., nel mio caso come
dovrebbe essere dichiarata?
Ti ho perso quando dici "saranno sincronizzati
a due server remoti".
Chiarisci se stai dicendo che faranno da producer (master) o da
consumer (slave).
In pratica presso la sede del polo didattico mi trovo uno o due server
che si sincronizzano con i server in remoto e utilizzo questi server
che si trovano presso la sede del polo didattico per l'autenticazione.
funziona cosi:
server remoto--->syncrepl su server locale --->datababe ldap in
locale usato come backend dallo stesso server locale per
l'autenticazione in PDC di samba
Spero di essere stato chiaro e scusate ancora, non sono esperto su
ldap.
Qualora dovessi fare un'interrogazione di uno studente "proxa" sul server xxxxxx.xx, mentre se faccio un interrogazione di un utente,
allora "proxa" sul server yyyyy.yyy.
Detta cosi' e' un po' troppo semplice...
Con back_meta ottieni una fusione logica degli oggetti, quindi ottieni
un database virtuale che presenta sotto un unico suffix tutti gli
oggetti reperiti da fonti "esterne". Tu devi definire la regola su come
viene effettuata la conversione tra il dit sorgente e quello virtuale
presentato al client.
Venendo al tuo esempio, tu stai creando una radice chiamata
"dc=unipa,dc=it" e sotto questa radice stai inserendo tutti gli oggetti
che sugli altri server si trovano sotto "ou=Studenti,dc=unipa,dc=it"
(nel primo) e "ou=Utenti,dc=unipa,dc=it" (nel secondo).
il fatto che un utente venga trovato sul server degli studenti o quello
degli utenti e' diretta conseguenza di come il client ha fatto la
ricerca, o meglio di quale condizione di filtro ha impostato nella
search.
Chiaritemi ancora dei dubbi
- Su server back_meta fisicamente noni risiede nessun database?
Esatto
- Se così fosse e volessi invece che o entrambi i database o uno solamente risieda sul mio server allora dovrei fare
uri "ldap://127.0.0.1/ou=Studenti,dc=unipa,dc=it" "ldap://yyyyy.yyy/ou=Utenti,dc=unipa,dc=it"
giusto?
Esatto anche questo.
Vedo che anche nell'esempio che citi sotto non indichi mai la direttiva
"database meta".
Il meta, nonostante sia "virtuale", e' pur sempre un database di
OpenLDAP e quindi deve essere dichiarato come tale.
Le direttive "uri" devono stare sotto/dopo la direttiva "database meta".
- nella mia attuale configurazione utilizzo la clausola syncrepl
per replicare un database remoto e la clausola subordinate come artificio per poter aggiungere degli utenti in locale.
Di seguito la configurazione
##########################################################################
include /etc/openldap/schema/core.schema
include /etc/openldap/schema/cosine.schema
include /etc/openldap/schema/inetorgperson.schema
include /etc/openldap/schema/nis.schema
include /etc/openldap/schema/samba.schema
allow bind_v2
#referral ldap://root.openldap.org
pidfile /var/run/slapd/slapd.pid
argsfile /var/run/slapd/slapd.args
# modulepath /usr/sbin/openldap
# moduleload back_bdb.la
# moduleload back_ldap.la
# moduleload back_ldbm.la
# moduleload back_passwd.la
# moduleload back_shell.la
# TLSCACertificateFile /usr/share/ssl/certs/ca-bundle.crt
# TLSCertificateFile /usr/share/ssl/certs/slapd.pem
# TLSCertificateKeyFile /usr/share/ssl/certs/slapd.pem
# security ssf=1 update_ssf=112 simple_bind=64
database hdb
suffix "ou=Studenti,dc=unipa,dc=it"
directory /home/dati/studenti
rootdn "cn=xxxx,ou=Studenti,dc=unipa,dc=it"
rootpw xxxxxxx
subordinate ###### con questa direttiva dico che "ou=Studenti,dc=unipa,dc=it"
###### è subordinata a dc=unipa,dc=it e in questo modo in
###### dc=unipa,dc=it posso aggiungere degli utenti locali
index objectClass eq
index uid,uidNumber,gidNumber,memberUid eq
index cn,mail,surname,givenname eq,subinitial
index sambaSid eq
index sambaPrimaryGroupSID eq
index sambaDomainName eq
index entryUUID eq
syncrepl rid=1
provider=ldaps://xxx.xxx.it
type=refreshAndPersist
interval=00:00:00:30
searchbase="ou=Studenti,dc=unipa,dc=it"
filter="(objectClass=*)"
attrs="*,+"
scope=sub
schemachecking=off
retry="60 +"
bindmethod=simple
binddn="uid=xxx,ou=Studenti,dc=unipa,dc=it"
credentials=XXX
database hdb
suffix "dc=unipa,dc=it"
directory /var/lib/ldap/unipa
rootdn "cn=xxxx,dc=unipa,dc=it"
rootpw xxxx
sizelimit -1
cachesize 10000
#####################################################
A me in due altri server occorre realizzare
- il primo server dovrà avere un database che chiameremo utenti locali che potrebbe essere con questo suffix
suffix "ou=UtentiLocali,dc=unipa,dc=it"
e due "proxati" quindi non residenti sul server locale che saranno
"ou=Utenti,dc=unipa,dc=it"
"ou=Studenti,dc=unipa,dc=it"
e quì se non ho capito male la configurazione per proxare come dicevo all'inizio con in più una direttiva subordinate per il database locale
la configurazione dovrebbe essere
uri "ldap://xxxxxx.xx/ou=Studenti,dc=unipa,dc=it" "ldap://yyyyy.yyy/ou=Utenti,dc=unipa,dc=it"
database hdb
suffix "ou=UtentiLocali,dc=unipa,dc=it"
directory /home/dati/utentiLocali
rootdn "cn=xxxx,ou=UtentiLocali,dc=unipa,dc=it"
rootpw xxxxxxx
- sull'altro server gli stessi database "ou=UtentiLocali,dc=unipa,dc=it", "ou=Utenti,dc=unipa,dc=it" e "ou=Studenti,dc=unipa,dc=it"
dovranno invece risiedere sul server e gli ultimi due, Studenti e Utenti saranno sincronizzati con la direttiva syncrepl a due server remoti
in questo caso, se non ho capito male, dovrei fare un "glue" dei tre pezzi in questo modo
Ti ho perso quando dici "saranno sincronizzati a due server
remoti".
Chiarisci se stai dicendo che faranno da producer (master) o da
consumer (slave).
Ciao
M.
##########################################################
database hdb
suffix "ou=Studenti,dc=unipa,dc=it"
directory /home/dati/studenti
rootdn "cn=xxxx,ou=Studenti,dc=unipa,dc=it"
rootpw xxxxxxx
subordinate
index objectClass eq
index uid,uidNumber,gidNumber,memberUid eq
index cn,mail,surname,givenname eq,subinitial
index sambaSid eq
index sambaPrimaryGroupSID eq
index sambaDomainName eq
index entryUUID eq
syncrepl rid=1
provider=ldaps://xxx.xxx.it
type=refreshAndPersist
interval=00:00:00:30
searchbase="ou=Studenti,dc=unipa,dc=it"
filter="(objectClass=*)"
attrs="*,+"
scope=sub
schemachecking=off
retry="60 +"
bindmethod=simple
binddn="uid=xxx,ou=Studenti,dc=unipa,dc=it"
credentials=XXX
database hdb
suffix "ou=Utenti,dc=unipa,dc=it"
directory /home/dati/utenti
rootdn "cn=xxxx,ou=Utenti,dc=unipa,dc=it"
rootpw xxxxxxx
subordinate
index objectClass eq
index uid,uidNumber,gidNumber,memberUid eq
index cn,mail,surname,givenname eq,subinitial
index sambaSid eq
index sambaPrimaryGroupSID eq
index sambaDomainName eq
index entryUUID eq
syncrepl rid=1
provider=ldaps://xxx.xxx.it
type=refreshAndPersist
interval=00:00:00:30
searchbase="ou=Utenti,dc=unipa,dc=it"
filter="(objectClass=*)"
attrs="*,+"
scope=sub
schemachecking=off
retry="60 +"
bindmethod=simple
binddn="uid=xxx,ou=Utenti,dc=unipa,dc=it"
credentials=XXX
database hdb
suffix "ou=UtentiLocali,dc=unipa,dc=it"
directory /home/dati/utentiLocali
rootdn "cn=xxxx,ou=UtentiLocali,dc=unipa,dc=it"
rootpw xxxxxxx
Scusate se sono stato prolisso, ma ho parecchi dubbi e quindi vi ho voluto dare più elementi possibili, scusate eventuali strafalcioni
Grazie sempre
Luigi
25/03/2011 17.31, Marco Pizzoli ha scritto:
Era quello che ti suggerivo nella prima
risposta al tuo primo quesito su come "fondere" logicamente i 2
directory con cui stai avendo a che fare.
back_meta e' l'oggetto (database) OpenLDAP che ti consente di ottenere
una visione logica unica "sopra" a diversi oggetti alberi ldap,
strutturati potenzialmente in modo molto diverso. E' quello che ti
consente di implementare un meta-directory.
Ciao,
premetto che non ho esperienza diretta di samba con questa
configurazione, ma in scenari analoghi questa configurazione ti
garantisce soltanto il fail-over tra ldapserver multipli. Ergo, se il
primo elencato non risponde allora viene contattato il secondo.
Ma se il primo risponde, (sia che il dato esista sia che non esista) il
secondo non verra' mai contattato.
Gli altri sistemi client configurati per puntare a piu' server ldap, di
solito, lavorano cosi'.
Salve
Ho necessità che il mio server samba utilizzi più backend, in pratica
se non trova l'utente in un database ldap , interrogi il successivo, se
non ho capito male in samba doverei inserire la seguente direttiva
--
_______________________________________________________________________
Augello Luigi
Amministratore di Sistema Poli didattici di Agrigento,
Caltanissetta e Trapani
Università degli Studi di Palermo
tel 093420928
VoIP 09123865802
Questo messaggio contiene informazioni confidenziali
appartenenti a Gruppo Partners Associates ed è destinato unicamente ai
destinatari. La divulgazione o copia, anche parziale e non autorizzata,
è proibita. Gruppo Partners Associates non è responsabile se questo
messaggio viene modificato o falsificato. Se non siete i designati
riceventi di questo messaggio, cancellatelo immediatamente dal vostro
sistema e avvisate il mittente dell'errore dell'indirizzo di consegna e
della cancellazione del messaggio.
This e-mail contains confidential information belonging
to Gruppo Partners Associates and it is intended solely for the
address. The unauthorised disclosure or copying either whole or partial
of this e-mail, is prohibited. Gruppo Partners Associates shall not be
liable for this e-mail if modified or falsified. If you are not the
intended recipient of this e-mail, please delete it immediately from
your system and notify the sender of the wrong delivery and the mail
deletion.
--
Augello Luigi
Amministratore di Sistema Poli didattici di Agrigento, Caltanissetta e
Trapani
Università degli Studi di Palermo
tel 093420928
VoIP 09123865802
--
_________________________________________
Non è forte chi non cade, ma chi cadendo ha la forza di rialzarsi.
Jim Morrison
--
Augello Luigi
Amministratore di Sistema Poli didattici di Agrigento, Caltanissetta e
Trapani
Università degli Studi di Palermo
tel 093420928
VoIP 09123865802
--
_________________________________________
Non è forte chi non cade, ma chi cadendo ha la forza di rialzarsi.
Jim Morrison
--
_______________________________________________________________________
Augello Luigi
Amministratore di Sistema Poli didattici di Agrigento,
Caltanissetta e Trapani
Università degli Studi di Palermo
tel 093420928
VoIP 09123865802