56 comentarios en “PROYECTO: Instalar y configurar OpenLDAP en Debian Wheezy

  1. saludos alex, me sigue dando error al tratar de reiniciar slapd …me dice [FAIL] Starting OpenLDAP: slapd failed!…el syslog could not stst config file «/etc/ldap/schema/$» ……slapd destroy: freeing system resources…….slapd stopped…..connections_destroy: nothing to destroy…eso es lo que me indica hermanito…..gracias

    1. Hola, buenas tardes,

      En primer lugar, muy bueno el post…

      Y ahora, a mi también me da el error de la linea 132 ::.:: access to attrs=shadowLastChange,shadowMax

      Si comento esa línea, y ejecuto el slaptest -v -u, me dice que es correcta la configuración, pero si no la comento, me dice que es erronea.

      ¿Cuál puede ser el problema?.

      Saludos y gracias,

      Ramses

      1. Saludos Ramses

        tienes que prestar atención a los espacios al principio de las lineas, debería quedar así:


        access to attrs=shadowLastChange,shadowMax
            by self write
            by * read

        y NO:


        access to attrs=shadowLastChange,shadowMax
        by self write
        by * read

      2. Alex, una duda que me surge.

        Yo comenté esas líneas y seguí con la configuración, vamos a crear el grupo y el usuario.

        ¿Al haber solucionado y cambiado eso en el fichero slapd.conf tengo que partir desde el «rm -rf /var/lib/ldap/*» y borrar todo y crearlo de nuevo?

        Saludos y gracias

  2. excelente manual tutorial, amigo.. segui el paso a paso en debian 7 squeeze y esta andando a la perfeccion … solo una pregunta .. como hago para que al crear el usuario no me cree una carpeta /home/usuario dentro del servidor?? gracias de antemano

  3. Muy buen tutorial, lei los otros e igual me parecieron muy buenos, te felicito por tu blog, espero lo mantengas vivo agregando otros servicios, gracias por compartir tus conocimientos.

  4. Hola,
    me da este error:

    root@estevemc:/home/esteve# slaptest -v -u
    528284c9 /etc/ldap/slapd.conf: line 16: unknown directive outside backend info and database definitions.
    slaptest: bad configuration file!
    root@estevemc:/home/esteve#

    No entiendo que puede ser.

    Gracias por su tiempo y ayuda.

  5. Hola de nuevo!
    Ahora me da este error:

    root@debian:/home/esteve# slaptest -v -u
    5282bcab lt_dlopenext failed: (back_@hdb@) file not found
    slaptest: bad configuration file!
    root@debian:/home/esteve#

    Gracias!

      1. Hola, aqui pongo el contenido de tu archivo slapd.conf
        # This is the main slapd configuration file. See slapd.conf(5) for more
        # info on the configuration options.

        #######################################################################
        # Global Directives:

        # Features to permit
        #allow bind_v2

        # Schema and objectClass definitions
        include /etc/ldap/schema/core.schema
        include /etc/ldap/schema/cosine.schema
        include /etc/ldap/schema/nis.schema
        include /etc/ldap/schema/inetorgperson.schema
        include /etc/ldap/schema/samba.schema
        # Where the pid file is put. The init.d script
        # will not stop the server if you change this.
        pidfile /var/run/slapd/slapd.pid

        # List of arguments that were passed to the server
        argsfile /var/run/slapd/slapd.args

        # Read slapd.conf(5) for possible values
        loglevel none

        # Where the dynamically loaded modules are stored
        modulepath /usr/lib/ldap
        moduleload back_@hdb@

        # The maximum number of entries that is returned for a search operation
        sizelimit 500

        # The tool-threads parameter sets the actual amount of cpu’s that is used
        # for indexing.
        tool-threads 1

        #######################################################################
        # Specific Backend Directives for @BACKEND@:
        # Backend specific directives apply to this backend until another
        # ‘backend’ directive occurs
        backend @hdb@

        #######################################################################
        # Specific Backend Directives for ‘other’:
        # Backend specific directives apply to this backend until another
        # ‘backend’ directive occurs
        #backend

        #######################################################################
        # Specific Directives for database #1, of type @hdp@:
        # Database specific directives apply to this databasse until another
        # ‘database’ directive occurs
        database @hdb@

        # The base of your directory in database #1
        suffix «@dc=lpr,dc=local@»

        # rootdn directive for specifying a superuser on the database. This is needed
        # for syncrepl.
        rootdn «cn=admin,@dc=lpr,dc=local@»
        rootpw {SSHA}OhgWf2BetExm+iZm44LFKZLnyO5cv1J9

        # Where the database file are physically stored for database #1
        directory «/var/lib/ldap»

        # The dbconfig settings are used to generate a DB_CONFIG file the first
        # time slapd starts. They do NOT override existing an existing DB_CONFIG
        # file. You should therefore change these settings in DB_CONFIG directly
        # or remove DB_CONFIG and restart slapd for changes to take effect.

        # For the Debian package we use 2MB as default but be sure to update this
        # value if you have plenty of RAM
        dbconfig set_cachesize 0 2097152 0

        # Sven Hartge reported that he had to set this value incredibly high
        # to get slapd running at all. See http://bugs.debian.org/303057 for more
        # information.

        # Number of objects that can be locked at the same time.
        dbconfig set_lk_max_objects 1500
        # Number of locks (both requested and granted)
        dbconfig set_lk_max_locks 1500
        # Number of lockers
        dbconfig set_lk_max_lockers 1500

        # Indexing options for database #1
        index objectClass eq
        index objectClass eq,pres
        index ou,cn,sn,mail,givenname eq,pres,sub
        index uidNumber,gidNumber,memberUid eq,pres
        index loginShell eq,pres
        index uid pres,sub,eq
        index displayName pres,sub,eq
        index nisMapName,nisMapEntry eq,pres,sub
        index sambaSID eq
        index sambaPrimaryGroupSID eq
        index sambaDomainName eq
        index default sub
        index uniqueMember eq
        index sambaGroupType eq
        index sambaSIDList eq
        # Save the time that the entry gets modified, for database #1
        lastmod on

        # Checkpoint the BerkeleyDB database periodically in case of system
        # failure and to speed slapd shutdown.
        checkpoint 512 30

        # The userPassword by default can be changed
        # by the entry owning it if they are authenticated.
        # Others should not be able to see it, except the
        # admin entry below
        # These access lines apply to database #1 only
        access to attrs=userPassword,sambaNTPassword,sambaLMPassword,sambaPwdMustChange,sambaPwdLastSet
        by self write
        by anonymous auth
        by * none

        # Ensure read access to the base for things like
        # supportedSASLMechanisms. Without this you may
        # have problems with SASL not knowing what
        # mechanisms are available and the like.
        # Note that this is covered by the ‘access to *’
        # ACL below too but if you change that as people
        # are wont to do you’ll still need this if you
        # want SASL (and possible other things) to work
        # happily.
        access to dn.base=»» by * read
        access to attrs=shadowLastChange,shadowMax
        by self write
        by * read

        # The admin dn has full write access, everyone else
        # can read everything.
        access to *
        by * read

        # For Netscape Roaming support, each user gets a roaming
        # profile for which they have write access to
        #access to dn=».*,ou=Roaming,o=morsnet»
        # by dn=»@ADMIN@» write
        # by dnattr=owner write

        #######################################################################
        # Specific Directives for database #2, of type ‘other’ (can be @BACKEND@ too):
        # Database specific directives apply to this databasse until another
        # ‘database’ directive occurs
        #database

        # The base of your directory for database #2
        #suffix «dc=debian,dc=org»

        El error era:
        root@debian:/home/esteve# slaptest -v -u
        5282bcab lt_dlopenext failed: (back_@hdb@) file not found
        slaptest: bad configuration file!
        root@debian:/home/esteve#

        Gracias por la ayuda!

  6. si puedes ayudarme con esto, cuando estoy ingresando a la configuracion de lam, ingreso y me dice The following suffixes are missing in LDAP. LAM can create them for you.
    ou=group,dc=dc=omicronpc,dc=com

    de doy a create y me genera este error

    Failed to create entry!
    Server is unwilling to perform

    1. Saludos

      Tienes un error en la linea ou=group,dc=dc=omicronpc,dc=com, debe ser ou=group,dc=omicronpc,dc=com, el error esa que tiene dos dc seguidos «dc=dc=omicronpc» corrigelo y pruebas.

  7. Hola de nuevo,
    ahora me da este error después de comprobar que no hay ningún error en el archivo slapd.conf.

    root@debian:/home/esteve# slaptest -v -u
    config file testing succeeded
    root@debian:/home/esteve# /etc/init.d/slapd stop
    /etc/init.d/slapd: 4: /etc/default/slapd: SLAPD_CONF: not found
    root@debian:/home/esteve#

    No consigo entender el mensaje de error ni corregirlo.

    Gracias por tu ayuda!

  8. Alex, al agregar el cliente y darle «id prueba», dice «No such user», verifiqué en el servidor y al parecer en el /home/user del servidor no se crea el usuario que se agrega desde la interface web. Agregué las líneas “session required pam_mkhomedir.so” al final de los archivos /etc/pam.d/common-session y /etc/pam.d/common-session-noninteractive pero el resultado es el mismo. Le agradecería indicarme donde podría estar el error. Saludos Alexander.

  9. Saludos.

    Cuando me logueo por primera vez en LAM y me dice que si quiero que se creen los suffix por mi y le doy crear me aparece este mensaje:

    ¡Fallo al crear la entrada!
    Other (e.g., implementation specific) error

    ou=People,dc=lpr,dc=local

    ERROR
    ¡Fallo al crear la entrada!
    Other (e.g., implementation specific) error

    ou=group,dc=lpr,dc=local

    ERROR
    ¡Fallo al crear la entrada!
    Other (e.g., implementation specific) error

    ou=machines,dc=lpr,dc=local

    Que he hecho mal???

    Gracias de antemano @lex.

  10. Acabo de seguir el manual y me funcionó todo a la perfección. Muchas gracias por tan buen trabajo.

    ¿Podrías indicarme los links donde encuentro la configuración de SAMBA y los clientes?

    Mil gracias.

  11. hola, disculpa se que ya tiene rato posteado este tutorial, y es muy bueno, a mi me sale un error, que no se encuentra la ruta «/var/run/slapd/slapd.pid

  12. Hola buenas Alex02, antes de postear esto llevo bastantes días con esto, resulta que no puedo cambiar la contraseña desde windows xp, me dice «no tiene permisos para cambiar la contraseña»,,, sabrías pq puede ser?? perdona las moléstias, pero es que no cazo la solución… Salu2

  13. amigo tengo un problema luego de terminar de configurar todo el slap.conf
    detengo el servicio y ejecuto
    root@JARDIN-SERVER:~#rm -rf /var/lib/ldap/*
    copio el backup y cuando voy a levantar el servicio me indica error
    ya revise detalladamente el archivo y esta bien configurado pero no entiendo porq me inica error al momento de iniciar de nuevo el servicio

    me puedes decir que debo hacer para verificar cual es el error o si tengo que hacerlo todo de nuevo

    gracias muchas gracias viejo por lo que puedas ayudarme

  14. Excelente tutorial Alex, me aclaraste muchas dudas porque estuve con openSuSE antes de pasar a Debian y no entendía el sistema del directorio slapd.d con sus archivos y el slapd.conf con los @ALGO@. Pensas publicar alguno en el futuro explicando la nueva forma de configurar openldap? porque estaria bueno saber su funcionamiento. Gracias

  15. Hola este y los otros post siguientes están demasiado geniales, lo felicito. Podrías darme una mano con este problema que estoy teniedo?, el asunto es que al inicio de el post cuando uno hace dpkg-reconfigure pone el nombre del dns y luego el del dn, en el post ud pone ambos iguales, pero en mi caso ambos son diferentes y a la hora de revolver el backup que se hizo al principio me da el siguiente error que ni por la mente me pasa como corregir

    slapadd: line 1: database #1 (dc=dominios) not configured to hold «dc=ns,dc=mio,dc=com»; no database configured for that naming context
    _######## 44.54% eta none elapsed none spd 235.1 k/s
    Closing DB..

    aclaro en el archivo /etc/slap.conf siempre use dc=dominios en todo, no sé si me podrías ayudar indicandome si será que en el .conf alguno se refiere propiamente al dns y no al dn

  16. Hola muy bueno el post, pero me esta dando el siguiente error

    root@ldap-desarrollo:~# slaptest -v -u
    config file testing succeeded
    root@ldap-desarrollo:~# /etc/init.d/slapd stop
    /etc/init.d/slapd: 4: /etc/default/slapd: /etc/ldap/slapd.conf: Permission denied

    Que puede ser?

    1. Fijese en el archivo /etc/default/slapd
      en la línea SLAPD_CONF= fijese muy bien que no quede ningún espacio creo que ese es el error. Yo tuve que reinstalar todo el server mil veces hasta hasta darme cuenta que era eso

      Debe quedar así
      SLAPD_CONF=»/etc/ldap/slapd.conf»

      En el post está escrito esto, con espacios lo cual no está correcto

      SLAPD_CONF = «/etc/ldap/slapd.conf»

      pero si se da cuenta en la imagen aparece como debería, sin ningún espacio

  17. Si comento las líneas siguientes, todo esta bien, que puede ser el problema?

    access to
    attrs=userPassword,sambaNTPassword,sambaLMPassword,sambaPwdMustChange,sambaPwdLastSet
    by self write
    by anonymous auth
    by * none

    access to attrs=shadowLastChange,shadowMax
    by self write
    by * read

    access to attrs=shadowLastChange,shadowMax
    by self write
    by * read

    Desde ya muchas gracias.
    Saludos,

    Buenas tardes Alex!
    Antes que nada gracias por el excelente material. Te consulto sobre el siguiente error, he comparado el archivo que dejaste como muestra con el mío pero me da este error al verificar el archivo, me podrías dar una mano para verificar en que estoy fallando?
    Desde ya muchas gracias.
    Saludos,
    —————————————————————————————
    root@serverbr:/home/rperalta# slaptest -v -u
    53f3c370 /etc/ldap/slapd.conf: line 116: warning: no by clause(s) specified in access line.
    53f3c370 ::= access to [ by [ ] [ ] ]+
    ::= * | dn[.=] [filter=] [attrs=]
    ::= [val[/][.]=] |
    ::= [ , ]
    ::= | @ | ! | entry | children
    ::= [ * | anonymous | users | self | dn[.]= ]
    [ realanonymous | realusers | realself | realdn[.]= ]
    [dnattr=]
    [realdnattr=]
    [group[/[/]][.]=]
    [peername[.]=] [sockname[.]=]
    [domain[.]=] [sockurl[.]=]
    [dynacl/[/][.][=]]
    [ssf=] [transport_ssf=] [tls_ssf=] [sasl_ssf=]
    ::= exact | regex | base(Object)
    ::= base(Object) | one(level) | sub(tree) | children | exact | regex
    ::= exact | regex | base(Object) | one(level) | sub(tree) | children
    ::= exact | regex | ip | ipv6 | path
    ::= exact | regex | base(Object) | sub(tree)
    ::= [[real]self]{|}
    ::= none|disclose|auth|compare|search|read|{write|add|delete}|manage
    ::= {=|+|-}{0|d|x|c|s|r|{w|a|z}|m}+
    ::= [ stop | continue | break ]
    dynacl:
    =ACI =
    slaptest: bad configuration file!

  18. Excelente trabajo alex!!! como puedo hacer para configurar otro ldap de respaldo en caso de fallas con el servidor principal de autenticacion? instale dos ldap segun tus manuales y estoy trabajando en colocarlos maestro/maestro pero hasta ahora sin exito

  19. Todo me funciona correctamente. El único problema que he tenido a sido uno referente a php en el navegador a la hora de abrir LAM y que he resuelto de esta manera
    Extensión JSON :
    apt-get install php5-json //instalamos la extensión
    /etc/init.d/apache2 restart //reiniciamos el servidor apache.
    Gracias por todo un saludo

  20. hola alex
    Ya tengo todo configurado exlelentemente como dice el post y no me da ningun error al crear los usuarios , mi problema es que no me deja unir las pc con windows al dominio , me da error e hice los pasos que hay que agregar al registro , y no se que puede ser , quisiera que me ayudaras saludos

    1. Si en el openldap has puesto la $,, crea un reg con esto
      Windows Registry Editor Version 5.00

      ; Win7_Samba3DomainMember
      [HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\LanManWorkstation\Parameters]
      «DNSNameResolutionRequired»=dword:00000000
      «DomainCompatibilityMode»=dword:00000001

      ; Speedup settings
      [HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\System]
      «SlowLinkDetectEnabled»=dword:00000000
      «DeleteRoamingCache»=dword:00000001
      «WaitForNetwork»=dword:00000000
      «CompatibleRUPSecurity»=dword:00000001

      ; Can drive you nuts
      [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System]
      «EnableLUA»=dword:00000000

      Salu2.

Replica a alex02 Cancelar la respuesta