Marco Gaiarin wrote:
> Mandi! Marco D'Ettorre
>   In chel di` si favelave...
> 
>> http://www.openldap.org/doc/admin23/slapdconfig.html#Access%20Control
> 
> L'avevo visto ma non mi aveva detto nulla.
> 
>> man slapd.access
> 
> Oh, hai la soluzione sotto il naso e non lo sai, scusate, questa mi era
> proprio sfuggita.
> 
> Solo che ancora qualcosa non mi quadra. Non ho provato, ma a naso io
> dovrei scrivere:
> 
>       by group/posixGroup/memberUid.exact=ced,ou=Group,dc=sv,dc=lnf,dc=it
> 
> Solo che questa cosa a me torna solo 'gaio', 'walter', ... e credo che
> sia necessario da questo costruire una dn.
> 
> Aia. Vedo:
> 
>       http://www.openldap.org/lists/openldap-software/200411/msg00439.html
> 
> dimmi che dal 2004 qualcosa รจ cambiato... ;-(((

Non e' cambiato niente perche' non c'e' niente da cambiare: il gruppo
POSIX e' una cosa che riguarda il sistema operativo, mentre LDAP conosce
solo il gruppo LDAP, ovvero il groupOfNames o la sua variante tarocca
groupOfUniqueNames (da evitare).  Il groupOfNames e' il gruppo LDAP per
eccellenza in quanto contiene i membri sotto forma di DN, ovvero l'unico
nome LDAP delle entries, mentre il gruppo POSIX contiene i memberUid,
cioe' degli identificativi che per LDAP non hanno nessun significato.
E' pur vero che se nel tuo albero censisci gli utenti di un solo dominio
POSIX (cosa che non esiste, ma facciamo finta di si'), allora e'
probabile che tu possa definire una corrispondenza univoca memberUid =>
DN (magari non il contrario, DN => memberUid, ma questo e' quesi
irrilevante).  Allora, se vuoi farti del male e usare i gruppi POSIX per
le regole di accesso, puoi usare i set (non documentati in
slapd.access(5), ma nelle FAQ:
<http://www.openldap.org/faq/data/cache/1133.html>; occhio che ancora
nella 2.3.38 c'e' un baco, fisato nella 2.3.39), oppure provare il
modulo ultra-sperimentale contrib/slapd-modules/acl/posixgroup.c

Nel caso dei set, in pratica devi usare il memberUid per costruire il DN
con cui fare i confronti (piuttosto inefficiente); per esempio, la
regola che confronta l'identita' del client con i membri di un gruppo
POSIX il cui DN sia "cn=POSIX,cn=Groups", assumendo che i DN degli
utenti si costruiscano con "uid=" + memberUid + ",cn=Users", e':

access to *
    by set="([uid=]+[cn=POSIX,cn=Groups]/memberUid+[,cn=Users]) & user"
    read

In oni caso, tieni presente che usare i gruppi POSIX per l'accesso LDAP
e' in generale la risposta sbagliata ad una domanda mal posta.

Ciao, p.



Ing. Pierangelo Masarati
OpenLDAP Core Team

SysNet s.r.l.
via Dossi, 8 - 27100 Pavia - ITALIA
http://www.sys-net.it
---------------------------------------
Office:  +39 02 23998309
Mobile:  +39 333 4963172
Email:   [EMAIL PROTECTED]
---------------------------------------


_______________________________________________
OpenLDAP mailing list
OpenLDAP@sys-net.it
https://www.sys-net.it/mailman/listinfo/openldap


Rispondere a