[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Privilegios en OpenLDAP



Hola, me estoy liando bastante con los privilegios de los usuarios en 
OpenLDAP.  He leído manuales pero no logro aclararme del todo y sobre todo no 
consigo que me funcione lo que pretendo:

Este sería mi árbol:

----------------------------------------------------------------
- dc=localhost
     - cn=admin
     - ou=sugarcrm
          - uid=reader
          - uid=writer 
          - ou=contacts
                - cn=Pepito Gonzalez
                - cn=Laura Rodrigo
                - cn=Manolo del Bombo
                - cn=Felipe Mojena
----------------------------------------------------------------

Lo que quiero es sencillo:

- cn=admin,dc=localhost:
Permiso de escritura sobre TODO.

- uid=reader,dc=sugarcrm,dc=localhost:
Permiso de lectura en "ou=sugarcrm,dc=localhost" y recursivo.

- uid=writer,dc=sugarcrm,dc=localhost:
Permiso de escritura en "ou=sugarcrm,dc=localhost" y recursivo.

- Resto:
No me interesa de momento, pero dejémoslo en lectura para todo.


La única forma de la que he conseguido ese comportamiento es la siguiente 
(slapd.conf):
---------------------------------------------------------------------------------------------------
## Acceso de escritura y lectura a "sugarcrm":
access to dn.subtree="ou=sugarcrm,dc=localhost"
       by dn="uid=writer,ou=sugarcrm,dc=localhost" write
       by dn="uid=reader,ou=sugarcrm,dc=localhost" read
       by dn="cn=admin,dc=localhost" write   <-- NO ME GUSTA


# The admin dn has full write access, everyone else
# can read everything.
access to *
        by dn="cn=admin,dc=localhost" write
        by * read
---------------------------------------------------------------------------------------------------

Como veis, necesito poner:
  by dn="cn=admin,dc=localhost" write
para que "admin" tenga permiso de lectura y escritura en "sugarcrm".

¿Acaso habría que poner antes lo referente a "admin" que lo referente 
a "sugarcrm"? Lo he probado y entonces resulta que no tengo permiso de 
escritura con "writer" en "sugarcrm".


Según he leído en caso de que un acceso cumpla dos directivas en slapd.conf 
entonces funciona la primera que encuentra, lo cual creo que explica lo que 
me sucede tanto en el caso que describo como si pongo lo de "admin" antes que 
lo de "sugarcrm".
En ese caso parece lógico que tenga que añadir la línea:
   by dn="cn=admin,dc=localhost" write
en la sección de "sugarcrm", ¿es así?


Agradecería mucho si alguien puede corregirme o aclararme un poco lo que 
ocurre. Muchas gracias.


-- 
Iñaki

Por el bien de todos respetemos las normas de la lista:
http://wiki.debian.org/NormasLista



Reply to: