Page 2 of 5

Re: Serveur OpenLDAP Nas4Free

Posted: 26 Dec 2014 20:32
by velivole18
Bonsoir,

A priori, en lisant bien l'interface webgui du service "Accès|LDAP", il y a par exemple les Suffixe utilisateur et groupe pour (dixit) "Suffixe utilisé lors de l'ajout d'utilisateurs au répertoire LDAP, e.g. ou=Users" et "Suffixe utilisé lors de l'ajout d'utilisateurs au répertoire LDAP, e.g. ou=Groups".

Donc si je comprends bien, en ajoutant un user/group dans l'IHM Nas4Free du webgui, ça devrait le rajouter dans OpenLdap et on devrait le voir en faisant sur la console de la jail un "ldapsearch", à condition que le schéma en place convienne à Nas4Free, en tout cas en ce qui concerne la racine et un ou 2 niveaux plus bas.

En fait, je ne sais pas ce que demande Nas4Free en terme de schéma.
Des exemples sur internet montre comment ajouter un user au 3ème niveau sous la racine + une notion de site.
Pour Nas4free, pas besoin, et pas de notion de site.
Là c'est plutôt un pb de Ldap.

Je réfléchis et continue mes tests.

Cordialement.

Re: Serveur OpenLDAP Nas4Free

Posted: 27 Dec 2014 10:34
by laster13
Bonjour,

J'active la console mais je n'arrive pas à me connecter. Pourrais tu me faire un screen de ta console pour que je puisse comparer et interpoler avec mes données stp?

Merci

Re: Serveur OpenLDAP Nas4Free

Posted: 27 Dec 2014 11:48
by velivole18
Bonjour,

Voici le screenshot.
J'ai planté mon serveur Nas4Free tout entier hier soir.
Comment, je ne sais pas, mais en manipulant ma jail, le serveur s'est mis à rebooter d'un seul coup.
Bon, je remets tout en ordre aujourd'hui.
En fait, pour le test de Ldap, une machine virtuelle avec Debian, Ubuntu, Fedora ou je ne sais pas quoi d'autres ... et un serveur Ldap de monté permettrait de faire le test de connexion entre Nas4Free et OpenLdap.
Ensuite on pourrait reproduire en jail ce qui fonctionne avec un OS extérieur.

Je poursuis cet après-midi.

Cordialement.

Re: Serveur OpenLDAP Nas4Free

Posted: 27 Dec 2014 13:32
by laster13
Bonjour,

Bon j'ai bloqué un moment sur l'erreur suivante

Code: Select all

ldap_connect_system: Failed to retrieve password from secrets.tdb
En fouillant sur le net je suis tombé sur ce site qui explique comment regler le problème
http://blogpmenier.dynalias.net/docext/smbldap-centos/

Je fais donc

Code: Select all

smbpasswd -W
et voila ce que cela donne (je précise que je tape cette commande en dehors de la jail)

Code: Select all

nas4free ~/ root~$ smbpasswd -W
Setting stored password for "cn=Manager,dc=famille,dc=local" in secrets.tdb
New SMB password:
Retype new SMB password:
j'ai tapé le même mot de passe que celui que j'avais crée pour slap.conf

et voila mon log... Je te laisse regarder, tout ne me semble pas nickel

Code: Select all

Dec 27 13:25:47	nmbd[55647]:	[2014/12/27 13:25:47.512228, 0] nmbd/nmbd_become_lmb.c:397(become_local_master_stage2)
Dec 27 13:25:47	nmbd[55647]:	*****
Dec 27 13:25:47	nmbd[55647]:	Samba name server NAS4FREE is now a local master browser for workgroup WORKGROUP on subnet 192.168.0.21
Dec 27 13:25:47	nmbd[55647]:	*****
Dec 27 13:25:47	nmbd[55647]:	[2014/12/27 13:25:47.516091, 0] nmbd/nmbd_become_lmb.c:397(become_local_master_stage2)
Dec 27 13:25:47	nmbd[55647]:	*****
Dec 27 13:25:47	nmbd[55647]:	Samba name server NAS4FREE is now a local master browser for workgroup WORKGROUP on subnet 192.168.0.100
Dec 27 13:25:47	nmbd[55647]:	*****
Dec 27 13:25:47	nmbd[55647]:	[2014/12/27 13:25:47.519783, 0] nmbd/nmbd_become_lmb.c:397(become_local_master_stage2)
Dec 27 13:25:47	nmbd[55647]:	*****
Dec 27 13:25:47	nmbd[55647]:	Samba name server NAS4FREE is now a local master browser for workgroup WORKGROUP on subnet 192.168.0.101
Dec 27 13:25:47	nmbd[55647]:	*****
Dec 27 13:25:47	nmbd[55647]:	[2014/12/27 13:25:47.523431, 0] nmbd/nmbd_become_lmb.c:397(become_local_master_stage2)
Dec 27 13:25:47	nmbd[55647]:	*****
Dec 27 13:25:47	nmbd[55647]:	Samba name server NAS4FREE is now a local master browser for workgroup WORKGROUP on subnet 192.168.0.102
Dec 27 13:25:47	nmbd[55647]:	*****
Dec 27 13:25:47	nmbd[55647]:	[2014/12/27 13:25:47.544118, 0] nmbd/nmbd_become_lmb.c:397(become_local_master_stage2)
Dec 27 13:25:47	nmbd[55647]:	*****
Dec 27 13:25:47	nmbd[55647]:	Samba name server NAS4FREE is now a local master browser for workgroup WORKGROUP on subnet 192.168.0.103
Dec 27 13:25:47	nmbd[55647]:	*****
Dec 27 13:25:47	nmbd[55647]:	[2014/12/27 13:25:47.547840, 0] nmbd/nmbd_become_lmb.c:397(become_local_master_stage2)
Dec 27 13:25:47	nmbd[55647]:	*****
Dec 27 13:25:47	nmbd[55647]:	Samba name server NAS4FREE is now a local master browser for workgroup WORKGROUP on subnet 192.168.0.104
Dec 27 13:25:47	nmbd[55647]:	*****
Dec 27 13:25:47	nmbd[55647]:	[2014/12/27 13:25:47.551425, 0] nmbd/nmbd_become_lmb.c:397(become_local_master_stage2)
Dec 27 13:25:47	nmbd[55647]:	*****
Dec 27 13:25:47	nmbd[55647]:	Samba name server NAS4FREE is now a local master browser for workgroup WORKGROUP on subnet 192.168.0.105
Dec 27 13:25:47	nmbd[55647]:	*****
Dec 27 13:25:47	nmbd[55647]:	[2014/12/27 13:25:47.555048, 0] nmbd/nmbd_become_lmb.c:397(become_local_master_stage2)
Dec 27 13:25:47	nmbd[55647]:	*****
Dec 27 13:25:47	nmbd[55647]:	Samba name server NAS4FREE is now a local master browser for workgroup WORKGROUP on subnet 192.168.0.106
Dec 27 13:25:47	nmbd[55647]:	*****
Dec 27 13:25:48	root:	pam service executed
Dec 27 13:25:48	root:	ldap service executed
Dec 27 13:25:48	root:	nsswitch service started
Dec 27 13:25:48	nmbd[55647]:	[2014/12/27 13:25:48.403248, 0] nmbd/nmbd.c:66(terminate)
Dec 27 13:25:48	nmbd[55647]:	Got SIGTERM: going down...
Dec 27 13:25:48	nmbd[56631]:	[2014/12/27 13:25:48.608591, 0] nmbd/nmbd_become_dmb.c:294(become_domain_master_browser_bcast)
Dec 27 13:25:48	nmbd[56631]:	become_domain_master_browser_bcast:
Dec 27 13:25:48	nmbd[56631]:	Attempting to become domain master browser on workgroup WORKGROUP on subnet 192.168.0.21
Dec 27 13:25:48	nmbd[56631]:	[2014/12/27 13:25:48.609049, 0] nmbd/nmbd_become_dmb.c:307(become_domain_master_browser_bcast)
Dec 27 13:25:48	nmbd[56631]:	become_domain_master_browser_bcast: querying subnet 192.168.0.21 for domain master browser on workgroup WORKGROUP
Dec 27 13:25:48	nmbd[56631]:	[2014/12/27 13:25:48.609321, 0] nmbd/nmbd_become_dmb.c:294(become_domain_master_browser_bcast)
Dec 27 13:25:48	nmbd[56631]:	become_domain_master_browser_bcast:
Dec 27 13:25:48	nmbd[56631]:	Attempting to become domain master browser on workgroup WORKGROUP on subnet 192.168.0.100
Dec 27 13:25:48	nmbd[56631]:	[2014/12/27 13:25:48.609609, 0] nmbd/nmbd_become_dmb.c:307(become_domain_master_browser_bcast)
Dec 27 13:25:48	nmbd[56631]:	become_domain_master_browser_bcast: querying subnet 192.168.0.100 for domain master browser on workgroup WORKGROUP
Dec 27 13:25:48	nmbd[56631]:	[2014/12/27 13:25:48.609870, 0] nmbd/nmbd_become_dmb.c:294(become_domain_master_browser_bcast)
Dec 27 13:25:48	nmbd[56631]:	become_domain_master_browser_bcast:
Dec 27 13:25:48	nmbd[56631]:	Attempting to become domain master browser on workgroup WORKGROUP on subnet 192.168.0.101
Dec 27 13:25:48	nmbd[56631]:	[2014/12/27 13:25:48.610135, 0] nmbd/nmbd_become_dmb.c:307(become_domain_master_browser_bcast)
Dec 27 13:25:48	nmbd[56631]:	become_domain_master_browser_bcast: querying subnet 192.168.0.101 for domain master browser on workgroup WORKGROUP
Dec 27 13:25:48	nmbd[56631]:	[2014/12/27 13:25:48.610372, 0] nmbd/nmbd_become_dmb.c:294(become_domain_master_browser_bcast)
Dec 27 13:25:48	nmbd[56631]:	become_domain_master_browser_bcast:
Dec 27 13:25:48	nmbd[56631]:	Attempting to become domain master browser on workgroup WORKGROUP on subnet 192.168.0.102
Dec 27 13:25:48	nmbd[56631]:	[2014/12/27 13:25:48.610615, 0] nmbd/nmbd_become_dmb.c:307(become_domain_master_browser_bcast)
Dec 27 13:25:48	nmbd[56631]:	become_domain_master_browser_bcast: querying subnet 192.168.0.102 for domain master browser on workgroup WORKGROUP
Dec 27 13:25:48	nmbd[56631]:	[2014/12/27 13:25:48.610875, 0] nmbd/nmbd_become_dmb.c:294(become_domain_master_browser_bcast)
Dec 27 13:25:48	nmbd[56631]:	become_domain_master_browser_bcast:
Dec 27 13:25:48	nmbd[56631]:	Attempting to become domain master browser on workgroup WORKGROUP on subnet 192.168.0.103
Dec 27 13:25:48	nmbd[56631]:	[2014/12/27 13:25:48.611120, 0] nmbd/nmbd_become_dmb.c:307(become_domain_master_browser_bcast)
Dec 27 13:25:48	nmbd[56631]:	become_domain_master_browser_bcast: querying subnet 192.168.0.103 for domain master browser on workgroup WORKGROUP
Dec 27 13:25:48	nmbd[56631]:	[2014/12/27 13:25:48.611354, 0] nmbd/nmbd_become_dmb.c:294(become_domain_master_browser_bcast)
Dec 27 13:25:48	nmbd[56631]:	become_domain_master_browser_bcast:
Dec 27 13:25:48	nmbd[56631]:	Attempting to become domain master browser on workgroup WORKGROUP on subnet 192.168.0.104
Dec 27 13:25:48	nmbd[56631]:	[2014/12/27 13:25:48.611608, 0] nmbd/nmbd_become_dmb.c:307(become_domain_master_browser_bcast)
Dec 27 13:25:48	nmbd[56631]:	become_domain_master_browser_bcast: querying subnet 192.168.0.104 for domain master browser on workgroup WORKGROUP
Dec 27 13:25:48	nmbd[56631]:	[2014/12/27 13:25:48.611851, 0] nmbd/nmbd_become_dmb.c:294(become_domain_master_browser_bcast)
Dec 27 13:25:48	nmbd[56631]:	become_domain_master_browser_bcast:
Dec 27 13:25:48	nmbd[56631]:	Attempting to become domain master browser on workgroup WORKGROUP on subnet 192.168.0.105
Dec 27 13:25:48	nmbd[56631]:	[2014/12/27 13:25:48.612094, 0] nmbd/nmbd_become_dmb.c:307(become_domain_master_browser_bcast)
Dec 27 13:25:48	nmbd[56631]:	become_domain_master_browser_bcast: querying subnet 192.168.0.105 for domain master browser on workgroup WORKGROUP
Dec 27 13:25:48	nmbd[56631]:	[2014/12/27 13:25:48.612329, 0] nmbd/nmbd_become_dmb.c:294(become_domain_master_browser_bcast)
Dec 27 13:25:48	nmbd[56631]:	become_domain_master_browser_bcast:
Dec 27 13:25:48	nmbd[56631]:	Attempting to become domain master browser on workgroup WORKGROUP on subnet 192.168.0.106
Dec 27 13:25:48	nmbd[56631]:	[2014/12/27 13:25:48.612568, 0] nmbd/nmbd_become_dmb.c:307(become_domain_master_browser_bcast)
Dec 27 13:25:48	nmbd[56631]:	become_domain_master_browser_bcast: querying subnet 192.168.0.106 for domain master browser on workgroup WORKGROUP
Dec 27 13:25:48	smbd[56635]:	[2014/12/27 13:25:48.626100, 0] lib/smbldap_util.c:311(smbldap_search_domain_info)
Dec 27 13:25:48	root:	samba service restarted
Dec 27 13:25:48	smbd[56635]:	smbldap_search_domain_info: Adding domain info for NAS4FREE failed with NT_STATUS_UNSUCCESSFUL

Re: Serveur OpenLDAP Nas4Free

Posted: 27 Dec 2014 13:57
by velivole18
Bonjour,

Il y a tout de même un pas de fait. Oui, cela se termine mal.
Je pense que si tu as une liaison avec un AD, il vaut mieux l'arrêter.
Aussi faut-il rebooter Nas4Free afin qu'il démarre directement sur OpenLdap ?
Mais comme Nas4Free démarre avant la jail et donc OpenLdap, si il y a un truc comme cela, on va être coincé !
Ce que je ne comprends pas c'est que dans le log on voit la référence au workgroup WORKGROUP, ce qui est plutôt une notion Windows d'AD.
192.168.0.106 c'est l'adresse de ta jail avec OpenLdap ?
Si c'est le cas, Nas4Free tente bien des requêtes sur cette entrée.

Aussi en y réfléchissant, le problème du schéma de la base OpenLdap n'est peut-être pas un problème.
Je pense maintenant qu'en fournissant une base vide avec juste une racine (pour moi c'est dc=famille, dc=local) qui est d'ailleurs fournit dans la conf. webgui du service Ldap de Nas4Free, lors de la création des users et des groupes dans le webgui de Nas4Free, c'est Nas4Free qui va ranger comme il l'entend ces infos dans OpenLdap.
Donc je pense que nous n'avons pas besoin de nous soucier de cela.

Quant à moi, j'ai hier planté mon serveur.
Ré-install complète ce matin, mais je n'ai plus accès au réseau depuis ma jail ...
Je termine et je re-teste.
Te tiens au courant.

Cordialement.

Re: Serveur OpenLDAP Nas4Free

Posted: 27 Dec 2014 14:32
by velivole18
Bonjour,

Bon, voici mes derniers résultats.
J'ai voulu faire très simple, avec une conf minimaliste : une jail, juste avec OpenLdap (sans phpldapadmin et sans serveur web).

1 - installation sur un nouveau Nas4Free de TheBrig et d'une jail dédiée à OpenLdap.

2 - sur une jail toute vide et propre, installation d'OpenLdap : pkg_add -r openldap24-server

3 - Ajout des lignes suivantes comme indiqué dans les traces d'installation d'OpenLdap dans le fichier "/etc/rc.conf" :

Code: Select all

slapd_enable="YES"
slapd_flags='-h "ldapi://%2fvar%2frun%2fopenldap%2fldapi/ ldap://192.168.0.61/"'
slapd_sockets="/var/run/openldap/ldapi"
4 - je regarde la conf. de base du fichier "/usr/local/etc/openldap/slapd.conf" sans rien toucher, pour pouvoir reporter les infos dans l'IHM WebGui de Nas4Free pour le service Ldap :

Code: Select all

suffix          "dc=my-domain,dc=com"
rootdn          "cn=Manager,dc=my-domain,dc=com"
rootpw          secret
5 - Je lance le serveur OpenLdap : /usr/local/etc/rc.d/slapd start
Le serveur se lance sans problème ...

Code: Select all

root@OpenLdap:/ # ps -ax
 PID TT  STAT    TIME COMMAND
4805 ??  SsJ  0:00.09 /usr/sbin/syslogd -ss
4860 ??  IsJ  0:00.04 /usr/sbin/cron -J 15 -s
6894 ??  IsJ  0:00.74 /usr/local/libexec/slapd -h ldapi://%2fvar%2frun%2fopenldap%2fldapi/ ldap://192.168.0.61/ -u ldap -g ldap
4905  0  SJ   0:00.15 csh
7708  0  R+J  0:00.01 ps -ax
root@OpenLdap:/ # 
6 - Dans Nas4Free, je renseigne l'accès au service Ldap (voir screenshot) et je l'active.

7 - Dans mon journal de Nas4Free, ceci :

Code: Select all

Dec 27 14:04:39 	nas4free-labo 	root: nsswitch service started
Dec 27 14:04:38 	nas4free-labo 	root: ldap service executed
Dec 27 14:04:38 	nas4free-labo 	root: pam service executed
Dec 27 14:04:37 	nas4free-labo 	mountd[2072]: bad opt mask
Dec 27 14:04:37 	nas4free-labo 	mountd[2072]: bad opt mask
7 - Dans la liste des sockets ("Diagnostics|Informations|Sockets"), je vois bien les liaisons avec Ldap :

Code: Select all

Sockets

Active Internet connections (including servers)
Tcpcb    Proto Recv-Q Send-Q Local Address      Foreign Address    (state)
95d81000 tcp4       0      0 nas4free-lab.http  192.168.0.48.44078 ESTABLISHED
95c9d270 tcp4       0      0 nas4free-lab.http  192.168.0.48.44077 TIME_WAIT
95c9d2a4 tcp4       0      0 nas4free-lab.http  192.168.0.48.44075 TIME_WAIT
95bd0000 tcp4       0      0 192.168.0.61.ldap  *.*                LISTEN
95d81810 tcp4       0      0 nas4free-labo.3231 nas4free.nut       ESTABLISHED
95bd02b0 tcp4       0      0 nas4free-lab.ssh   192.168.0.48.46849 ESTABLISHED
95bd0560 tcp4       0      0 nas4free-lab.http  *.*                LISTEN
95bd0810 tcp4       0      0 *.ssh              *.*                LISTEN
95bd0ac0 tcp6       0      0 *.ssh              *.*                LISTEN
95b7b2b0 tcp46      0      0 *.ftp              *.*                LISTEN
95b7b810 tcp4       0      0 *.8080             *.*                LISTEN
95b7bac0 tcp4       0      0 *.760              *.*                LISTEN
95b8e000 tcp6       0      0 *.712              *.*                LISTEN
95b8e2b0 tcp4       0      0 *.739              *.*                LISTEN
95b8e560 tcp6       0      0 *.739              *.*                LISTEN
95b7b000 tcp6       0      0 *.nfsd             *.*                LISTEN
95b7aac0 tcp4       0      0 *.nfsd             *.*                LISTEN
95b7a000 tcp4       0      0 *.ipp              *.*                LISTEN
95b7a2b0 tcp6       0      0 *.ipp              *.*                LISTEN
95b7a560 tcp4       0      0 *.sunrpc           *.*                LISTEN
95b7a810 tcp6       0      0 *.sunrpc           *.*                LISTEN
95ab12f4 udp4       0      0 *.mdns             *.*
95ab16e4 udp4       0      0 *.47885            *.*
95ab05e8 udp4       0      0 *.642              *.*
95ab06e4 udp6       0      0 *.695              *.*
95ab0ad4 udp6       0      0 *.620              *.*
95ab0ccc udp4       0      0 *.*                *.*
95ab08dc udp4       0      0 *.739              *.*
95ab09d8 udp6       0      0 *.739              *.*
95ab07e0 udp6       0      0 *.nfsd             *.*
95ab0000 udp4       0      0 *.nfsd             *.*
95ab0dc8 udp4       0      0 *.ipp              *.*
95ab1000 udp6       0      0 *.631              *.*
95ab0bd0 udp6       0      0 *.*                *.*
95ab04ec udp4       0      0 *.669              *.*
95ab03f0 udp4       0      0 *.sunrpc           *.*
95ab01f8 udp6       0      0 *.912              *.*
95ab00fc udp6       0      0 *.sunrpc           *.*
Active UNIX domain sockets
Address  Type   Recv-Q Send-Q    Inode     Conn     Refs  Nextref Addr
95b63968 stream      0      0 b4f8511c        0        0        0 /var/run/openldap/ldapi
95b634b4 stream      0      0 95bc8354        0        0        0 /var/run/proftpd.sock
95b638bc stream      0      0 95bb77c4        0        0        0 /var/run/proftpd.sock
95b6360c stream      0      0 95b7558c        0        0        0 /var/run/rpcbind.sock
95b63e1c stream      0      0 95aab7c4        0        0        0 /var/run/devd.pipe
95b63cc4 dgram       0      0        0 95b632b0        0 95b630ac
95b630ac dgram       0      0        0 95b632b0        0        0
95b632b0 dgram       0      0 b353ae6c        0 95b63cc4        0 /var/run/logpriv
95b6335c dgram       0      0 b355b000        0        0        0 /var/run/log
95b63c18 dgram       0      0        0 95b636b8        0 95b63408
95b63408 dgram       0      0        0 95b636b8        0 95b63000
95b63000 dgram       0      0        0 95b636b8        0 95b63204
95b63204 dgram       0      0        0 95b636b8        0 95b63d70
95b63810 dgram       0      0        0 95b63764        0 95b63b6c
95b63d70 dgram       0      0        0 95b636b8        0 95b63a14
95b63b6c dgram       0      0        0 95b63764        0        0
95b63a14 dgram       0      0        0 95b636b8        0 95b63158
95b63158 dgram       0      0        0 95b636b8        0 95b63560
95b63560 dgram       0      0        0 95b636b8        0        0
95b636b8 dgram       0      0 95b76000        0 95b63c18        0 /var/run/logpriv
95b63764 dgram       0      0 95b6db18        0 95b63810        0 /var/run/log

Sockets

USER     COMMAND    PID   FD PROTO  LOCAL ADDRESS         FOREIGN ADDRESS
389      slapd      6894  3  dgram  -> /var/run/logpriv
389      slapd      6894  6  stream /var/run/openldap/ldapi
389      slapd      6894  7  tcp4   192.168.0.61:389      *:*
root     cron       4860  4  dgram  -> /var/run/logpriv
root     syslogd    4805  4  dgram  /var/run/log
root     syslogd    4805  5  dgram  /var/run/logpriv
root     upsmon     4443  3  dgram  -> /var/run/logpriv
root     upsmon     4443  4  tcp4   192.168.0.60:32319    192.168.0.50:3493
root     upsmon     4442  3  dgram  -> /var/run/logpriv
root     sshd       2932  5  tcp4   192.168.0.60:22       192.168.0.48:46849
root     login      2738  3  dgram  -> /var/run/logpriv
root     lighttpd   2608  3  dgram  -> /var/run/logpriv
root     lighttpd   2608  4  tcp4   192.168.0.60:80       *:*
root     lighttpd   2608  6  tcp4   192.168.0.60:80       192.168.0.48:44078
root     mDNSRespon 2545  3  udp4   *:47885               *:*
root     mDNSRespon 2545  4  udp4   *:5353                *:*
root     sshd       2448  4  tcp6   *:22                  *:*
root     sshd       2448  5  tcp4   *:22                  *:*
nobody   proftpd    2336  2  tcp4 6 *:21                  *:*
nobody   proftpd    2336  4  stream /var/run/proftpd.sock
nobody   proftpd    2336  5  stream /var/run/proftpd.sock
nobody   proftpd    2336  6  dgram  -> /var/run/log
root     upslog     2251  4  dgram  -> /var/run/logpriv
www      lighttpd   2157  3  dgram  -> /var/run/log
www      lighttpd   2157  4  tcp4   *:8080                *:*
root     rpc.lockd  2090  3  dgram  -> /var/run/logpriv
root     rpc.statd  2087  4  udp6   *:739                 *:*
root     rpc.statd  2087  5  tcp6   *:739                 *:*
root     rpc.statd  2087  6  udp4   *:739                 *:*
root     rpc.statd  2087  7  tcp4   *:739                 *:*
root     rpc.statd  2087  9  dgram  -> /var/run/logpriv
root     nfsd       2083  5  tcp4   *:2049                *:*
root     nfsd       2083  6  tcp6   *:2049                *:*
root     mountd     2072  5  dgram  -> /var/run/logpriv
root     mountd     2072  6  udp6   *:631                 *:*
root     mountd     2072  7  tcp6   *:631                 *:*
root     mountd     2072  8  udp4   *:631                 *:*
root     mountd     2072  9  tcp4   *:631                 *:*
root     rpcbind    2048  4  udp6   *:*                   *:*
root     rpcbind    2048  5  stream /var/run/rpcbind.sock
root     rpcbind    2048  6  udp6   *:111                 *:*
root     rpcbind    2048  7  udp6   *:912                 *:*
root     rpcbind    2048  8  tcp6   *:111                 *:*
root     rpcbind    2048  9  udp4   *:111                 *:*
root     rpcbind    2048  10 udp4   *:669                 *:*
root     rpcbind    2048  11 tcp4   *:111                 *:*
root     syslogd    2032  4  dgram  /var/run/log
root     syslogd    2032  5  dgram  /var/run/logpriv
root     devd       1914  4  stream /var/run/devd.pipe
?        ?          ?     ?  udp6   *:620                 *:*
?        ?          ?     ?  tcp4   192.168.0.60:80       192.168.0.48:44075
?        ?          ?     ?  udp6   *:2049                *:*
?        ?          ?     ?  udp4   *:642                 *:*
?        ?          ?     ?  udp4   *:*                   *:*
?        ?          ?     ?  udp6   *:695                 *:*
?        ?          ?     ?  tcp6   *:712                 *:*
?        ?          ?     ?  tcp4   *:760                 *:*
?        ?          ?     ?  udp4   *:2049                *:*
?        ?          ?     ?  tcp4   192.168.0.60:80       192.168.0.48:44077
8 - sous ssh dans la jail, je consulte le contenu de ma base Ldap :

Code: Select all

root@OpenLdap:/ # ldapsearch
# extended LDIF
#
# LDAPv3
# base <> (default) with scope subtree
# filter: (objectclass=*)
# requesting: ALL
#

# search result
search: 2
result: 32 No such object

# numResponses: 1
root@OpenLdap:/ # 
9 - Sur le webgui de Nas4Free, je crée un nouveau user "test-ldap" (voir screenshot) :
Nouveau user créé dans Nas4Free !
Dans le journal de Nas4Free :

Code: Select all

Dec 27 14:10:13 	nas4free-labo 	root: fmperm service executed
Dec 27 14:10:13 	nas4free-labo 	root: websrv_htpasswd service executed
Dec 27 14:10:12 	nas4free-labo 	root: userdb service executed
Dec 27 14:10:07 	nas4free-labo 	mountd[2072]: bad opt mask
Dec 27 14:10:07 	nas4free-labo 	mountd[2072]: bad opt mask
10 - je retourne consulter ma base Ldap :

Code: Select all

root@OpenLdap:/ # ldapsearch
# extended LDIF
#
# LDAPv3
# base <> (default) with scope subtree
# filter: (objectclass=*)
# requesting: ALL
#

# search result
search: 2
result: 32 No such object

# numResponses: 1
root@OpenLdap:/ # 
Et rien n'a changé !!!
D'ailleurs, dans le journal de Nas4Free, rien n'indique une quelconque coopération entre Nas4Free et OpenLdap.
Mais rien d'anormal aussi !

Peut-être à ce point là on peut soumettre le problème sur le forum en anglais ?

Cordialement.

Re: Serveur OpenLDAP Nas4Free

Posted: 27 Dec 2014 14:53
by velivole18
Bonjour,

J'ai publié le problème sur le forum anglais : OpenLdap in jail

On verra bien !

Cordialement.

Re: Serveur OpenLDAP Nas4Free

Posted: 27 Dec 2014 18:52
by laster13
Bonsoir,

Code: Select all

Dec 27 18:47:08	nmbd[10824]:	Attempting to become domain master browser on workgroup WORKGROUP on subnet 192.168.0.106
Dec 27 18:47:08	nmbd[10824]:	[2014/12/27 18:47:08.777881, 0] nmbd/nmbd_become_dmb.c:307(become_domain_master_browser_bcast)
Dec 27 18:47:08	nmbd[10824]:	become_domain_master_browser_bcast: querying subnet 192.168.0.106 for domain master browser on workgroup WORKGROUP
Dec 27 18:47:08	root:	samba service restarted
Dec 27 18:47:08	smbd[10828]:	[2014/12/27 18:47:08.790870, 0] lib/smbldap_util.c:311(smbldap_search_domain_info)
Dec 27 18:47:08	smbd[10828]:	smbldap_search_domain_info: Adding domain info for NAS4FREE failed with NT_STATUS_UNSUCCESSFUL
Effectivement 192.168.0.106 est l ip de la jail opendlap

Par ailleurs lorsque je relance nas4free, je suis obligé de relancer la commande "smbpasswd -W", sinon je n'ai pas de connection, on dirait qu il ne mémorise pas le password. Est ce que cela te fait pareil? et j'ai le message

Code: Select all

ldap_connect_system: Failed to retrieve password from secrets.tdb
En fin as tu toi aussi ce message dans le log?

Code: Select all

smbldap_search_domain_info: Adding domain info for NAS4FREE failed with NT_STATUS_UNSUCCESSFUL
edit: Bon, en désactivant smb/cifs j'obtiens

Code: Select all

Dec 27 19:55:00	root:	pam service executed
Dec 27 19:55:00	root:	ldap service executed
Dec 27 19:55:00	root:	nsswitch service started
Je pense que le message d'erreur précédent était lié à windows.. mais bon que des suppositions tout cela, j'avance dans l'inconnu!

Ce qui laisse à penser que finalement tout fonctionne plutôt bien.. reste à savoir comment rentrer un utilisateur de nas4free dans la base de donnée.

Je poursuis..

Re: Serveur OpenLDAP Nas4Free

Posted: 27 Dec 2014 21:03
by laster13
Bonsoir,

Prochaine étape.. Créer un user avec group dans openladp et faire en sorte que ça fonctionne en ssh même si le user apparait pas dans le webui... Ce que tu proposais plus haut.

Re: Serveur OpenLDAP Nas4Free

Posted: 27 Dec 2014 21:10
by velivole18
Bonsoir,

Non, je n'ai pas tous tes messages.
Par contre, j'ai la preuve que mon service Ldap communique bien avec le serveur et que le problème qui reste à résoudre est un problème de schéma dans la base.
Je vais donc réviser mes connaissances sur Ldap pure.

En fait, je procède comme dans mon post précédent.
J'ai fais le test avec une base vide ou en recopiant la base de test, c'est pareil.
Dans un cas comme dans l'autre, il faut "caler" dans les fichiers de conf slapd.conf et ldap.conf et /etc/rc.conf les entrées dans l'annuaire.
Pour la base d'exemple, l'entrée est "cn=Manager,dc=example,dc=com" ou pour ma base vide, j'avais configuré "cn=admin,dc=famille,dc=local".
Et on doit mettre la même chose dans les paramètres du service Ldap de Nas4Free, évidemment.
Pour voir fonctionner le serveur Ldap, je configure l'ordre de lancement dans le fichier "/etc.rc.conf" avec le mode debug :

Code: Select all

sendmail_enable="NONE"
syslogd_flags="-ss"
rpc_bind="NO"
network_interfaces=""
cron_flags="$cron_flags -J 15"
slapd_enable="YES"
slapd_flags='-V -h "ldap://192.168.0.61/ ldapi://%2fvar%2frun%2fopenldap%2fldapi/" -d 1'
slapd_sockets="/var/run/openldap/ldapi"
Ensuite pour l'accès au serveur OpenLdap, pas besoin d'indiquer le port, le serveur se lance sur le port par défaut et Nas4Free le trouve aussi correctement sur le port par defaut. Ce qui explique qu'il n'y a plus le port au bout de mes adresses "192.168.061".

Ensuite je lance le serveur, qui commence effectivement à afficher des traces à l'écran.
Je configure le service Ldap de Nas4Free et je l'active.
Et au miracle, je vois mes traces sur mon écran ssh de ma jail tracer le dialogue entre Nas4Free et OpenLdap.
Je crée dans Nas4Free un user ... Les traces continuent ...
En fait, ce que cherche à faire Nas4Free dans OpenLdap à l'air cohérent, mais il ne trouve pas ses repères dans la base, donc il ne peut pas travailler dedans.
Il nous suffit donc de démarrer avec un bon schéma de base, je pense et nous aurons gagné.
Alors certes, il ne s'agit plus d'un problème d'implémentation de OpenLdap dans le jail, mais bien d'un problème de conformité de schéma.
Enfin c'est ce que je pense.
Je te joins les traces obtenues avec un démarrage du service Ldap/Nas4Free +l'ajout du user "test-ldap".
C'est très très verbeux et difficile à lire ...
Je vais donc étudier ceci et je te tiens au courant.
Lorsque tout fonctionnera, on pourra voir à sécuriser le serveur OpenLdap et son accès.

Cordialement.

Re: Serveur OpenLDAP Nas4Free

Posted: 28 Dec 2014 11:04
by laster13
Bonjour,

Tous mes problèmes de config sont réglés cela fonctionne parfaitement sans message d'erreur! déjà ça :lol:

J'ai également tenté de créer un "user" et j'ai exactement le même log que toi. Effectivement il ne trouve pas les même champs de base de donnée. Par contre, Nas4free et opendlap communiquent sans aucun doute. Du coup il semblerait qu'il ne sache pas comment classer les infos du "user". J'essaie de créer une base de donnée conforme à ce qu'il attend.

Je vais m'appuyer sur cet article ... dis moi si la doc est bonne!
http://uid.free.fr/Ldap/ldap.html

Re: Serveur OpenLDAP Nas4Free

Posted: 28 Dec 2014 11:26
by laster13
Bonjour,

Alors je fais appel à ton expérience de base ldap.. dis moi ce que tu penses de cet exemple. Est ce que nas4free pourrait le reconnaitre comme shéma?

famille.local
/ \
Users Groups


exemple

créer groupe

dn: cn=toto, ou=Groups, dc=famille, dc=local
objectClass: top
objectClass: posixGroup
cn: toto
gidNumber: 1111
description: groupe de test toto

créer utilisateur

dn: uid=dupont,ou=Users, dc=famille, dc=local
objectClass: top
objectClass: posixAccount
objectClass: person
objectClass: organizationalPerson
objectClass: inetOrgPerson
uid: dupont
cn: Dupont Jean
sn: Dupont
givenName: Jean
uidNumber: 1100
gidNumber: 1111
loginShell: /bin/bash
userPassword: nas4free
ou: toto


Ou alors, simplement déclarer l'annuaire tel que pourrait le concevoir Nas4free de manière à ce qu'il incrémente lui même les données?

dn: ou=Users, dc=famille, dc=local
objectclass: top
objectclass: organizationalUnit
ou: Users
description: Branche Users

dn: ou=Groups, dc=famille, dc=local
objectclass: top
objectclass: organizationalUnit
ou: Groups
description: Branche Groups

Et ensuite
Ajouter la "requête" dans l'annuaire

-x : ne pas utiliser SASL
-f : utiliser le fichier nom_du_fichier.ldif
-W : s'authentifier par mot de passe
-D : avec le login admin@famille.local
user@serveur:~$
ldapadd -x -f nom_du_fichier.ldif -W -D cn=admin,dc=famille,dc=local


En considérant que j'ai pris les mêmes paramètres que ceux que j'ai rentré dans ldap de nas4free

Est ce que je poursuis dans cette voie?

Re: Serveur OpenLDAP Nas4Free

Posted: 28 Dec 2014 12:24
by velivole18
Bonjour,

Nous arrivons à la même conclusion.
J'ai de mon côté testé les mêmes data dans Ldap.
J'ai fait les 2 exemples que tu indiques.
Mais toujours pareil.
Ce que je ne comprends pas, c'est qu'en décryptant les traces, il y a bien une tentative de comparaison entre les clés fournis par Nas4Free et celles présentes dans Ldap, et que ce sont bien les mêmes, mais Ldap retourne qu'il ne trouve pas d'égalité.
Problème de jeux de caractères ? Je ne sais pas.
En tout cas je suis d'accord avec les schémas de ta base.
Une racine, celle indiquée dans la config webgui de Nas4Free, pour commencer à parcourir l'arborescence, ça c'est logique.
Et d'après les traces, effectivement sous cette racine il cherche les objets décrits dans Ldap/Nas4Free avec les mots clés fournis (ou=Users, ou=Groups par exemple, et même les hosts avec ou=Computers ...). Je comprends mieux maintenant l'interface webgui de Nas4Free dans laquelle Nas4Free a tout pour faire sa recherche. Tout cela se tient et semble logique.
Normalement, une racine devrait lui suffire. Bon, s'il faut créer à la main les class Users, Groups, Computers et Password, qu'à cela ne tienne.
Mais j'ai essayé cela, sans plus de succès.
Dans les traces, les clés recherchées correspondent bien à ce qui est dans la base et que l'on peut voir avec un ldapsearch.
Donc pourquoi openldap considère que ce n'est pas les mêmes clés ... Je ne sais pas.

Donc en conclusion, points positifs :
- Openldap fonctionne sous jail
- Nas4Free dialogue avec OpenLdap
- L'IHM Ldap de Nas4Free se comprend mieux et nous semble maintenant logique et pertinente

Point négatif : Nas4Free et Ldap ne se comprennent pas dans les données échangées.

Il me semble que nous sommes sur la bonne voie et que le problème est plutôt du côté du schéma de la base, voir d'une incompatibilité de jeu de caractères ou de versions incompatibles entre l'interface Nas4FRee/Ldap et la version d'OpenLdap.

Pour ma part, je vais continuer à explorer ces voies là.
Tu m'as beaucoup aidé en me permettant de faire tourner OpenLdap dans une jail.
Tu peux continuer l'aventure avec moi, et ce sera avec plaisir, ou passer à autre chose.
Je ne veux pas monopoliser tout ton temps là dessus.

Mais je trouverai super de se servir de Nas4Free pour synchroniser l'ensemble des PC qaue nous pouvons avoir chez nous.
Plus de problème à devoir déclarer les users et les groups avec les mêmes uid et gid sur tous les PC, donc une gestion des droits homogène dans l'accès au données de Nas4Free et ce quelque soit le poste client (linux). Moi je trouve cela hyper pratique.

J'attends aussi quelques réponses du côté forum anglais ...

Si tu le veux bien, continuons notre recherche.
On finira bien par trouver le bon fonctionnement, ou alors un vrai bug de Nas4Free !

Cordialement.

Re: Serveur OpenLDAP Nas4Free

Posted: 28 Dec 2014 19:03
by laster13
Bonsoir,

Bien sur que je continue, en tout cas tant que j'aurai le sentiment de ne pas être aller au bout de ce que je peux faire...Pour calibre, j'avais commencé en août et il m'aura fallu 3 mois pour y arriver. Après, marquer une pause permet parfois de reposer l'esprit pour mieux repartir :mrgreen:

Bon là je me suis un peu familliariser avec la base pour mieux comprendre comment elle fonctionne. Ce qu'il y d'étonnant c'est qu'il suffit simplement de cliquer sur la croix "ajout d'utilisateur" pour déclencher cette erreur

Code: Select all

549f0d24 <= bdb_dn2id: get failed: DB_NOTFOUND: No matching key/data pair found (-30989)
Ce que je ne comprends pas, c'est qu'en décryptant les traces, il y a bien une tentative de comparaison entre les clés fournis par Nas4Free et celles présentes dans Ldap, et que ce sont bien les mêmes, mais Ldap retourne qu'il ne trouve pas d'égalité.
J'ai vérifié ton log et je constate que tu as la même, ce qui tendrait à dire que peu être ce n'est pas le shéma qui ne conviendrait pas à nas4free, mais tout simplement que l’accès à la base (de nas4free à openladp) est verrouillé et donc même si on crée un utilisateur, les données ne peuvent pas s'incrémenter dans openladp. Qu'en penses tu?

Alors, vite fait comme ça, j'ai regardé un peu sur le net et certains parlent d espaces malheureux :lol: dans la base ou de droit d'accès qui sont pas bon.

Je poursuis mais donne moi ton avis

Re: Serveur OpenLDAP Nas4Free

Posted: 28 Dec 2014 19:21
by ernie
Hello

Merci pour ce travail titanesque.
Étant novice de chez novice, opendlap sera ma prochaine étape pour gérer plus centralement les users. Mais mon chemin sera long et votre future tuto parfait :mrgreen:
A bientôt et plein de courage pour la suite.

Re: Serveur OpenLDAP Nas4Free

Posted: 28 Dec 2014 19:29
by laster13
Merci pour ton soutien ernie, on en a besoin :mrgreen:

Edit:

J'ai désactivé l'authentification
# rootpw {SSHA}gx5/Z7PDN++S0xFvXjuE+dECdgUKyr7f
# password-hash {SSHA}
Du coup je n'ai plus l'erreur citée au dessus. Ce qui annule également ma remarque concernant l'accès à la base :roll: Je reviendrai dessus plus tard. Pour l'instant j'élimine les obstacles :D

Re: Serveur OpenLDAP Nas4Free

Posted: 29 Dec 2014 11:33
by velivole18
Bonjour,

Dans ma dernière install, je n'ai pas installé d'authentification cryptée. J'ai laissé une authentification mais en clair.
C'est la raison pour laquelle je mets un password dans le webgui de Nas4Free.
En ce qui concerne les capacités de Nas4Free à créer des objets dans la base, j'ai fait comme toi pour contourner cette éventuelle source de dysfonctionnement en créant à la main en fichier .ldif les objets dans Ldap. Mais lors d'un simple accès à Nas4Free qui utilise Ldap seulement en lecture, c'est le même problème.
Je pense donc que le problème n'est pas à proprement parlé la "mise à jour" de Ldap, mais bien un problème de compréhension entre Ldap et Nas4Free.
Mais peut-être que je fais fausse route.
Je pense que je vais publier sur le site anglais nos dernières avancées en donnant les traces obtenues.
Peut-être cela éveillera t-il l'intérêt de quelqu'un ...
Ce que je ne comprends pas, c'est que Ldap est un élément essentiel dans une entreprise. Tout son patrimoine de référence est stocké dans Ldap (ou AD) et malgré cela, ce sujet sur Nas4Free ne révèle pas plus d'utilisateurs intéressés ou tout du moins possédant les connaissances.
Ca reste un point vraiment bizarre pour moi.
Bon, je vais continuer à petit pas au fur et à mesure du temps dont je dispose.
Merci à toi laster13 de m'aider dans cette démarche.
Encore une fois, un bon tuto sur ce sujet sera vraiment une première pour NasFree et rien que pour cela j'ai envie d'aller au bout !

Cordialement.

Re: Serveur OpenLDAP Nas4Free

Posted: 29 Dec 2014 20:27
by laster13
Bonsoir,

Je reviens sur cette erreur car j'ai le sentiment qu'elle peut être la cause de nos problèmes
bdb_dn2id: get failed: DB_NOTFOUND: No matching key/data pair found
En foulillant sur le net il semblerait que la mauvaise version de la base de donnée puisse en être à l'origine.
http://adminsgoodies.com/openldap-2-4-1 ... und-30989/
I tested on Linux and it worked, with apparently the same config. So I decided to install openldap from ftp.nl.uu.net/pub/unix/db/openldap/openldap-release/… using ./config –prefix=/usr/local This resulted in an error regarding a wrong version of Berkelydb. So I downloaded download.oracle.com/berkeley-db/db-4.8.30.tar.gz ran configure –prefix=/usr/local, installed it and ran configure for openldap again with more luck. After installation it worked right away, no problems ever since. Not that I can say that I know what the problem was but for me it is enough.
De ton coté, as tu toujours cette erreur?

En ce qui me concerne je vais réinstaller openldapserveur avec cette fois une version de base de donnée plus récente. Ma dernière install a été faite à partir des binaires suite a un plantage de Jail... enfin je croyais.. car en fait après redemarrage de Nas4free, la jail refusait de démarrer. Apres plusieurs tests, il s'est avéré que ce sont les lignes suivantes dans rc.conf qui en sont à l'origine.

Code: Select all

slapd_flags='-V -h "ldap://192.168.0.106/ ldapi://%2fvar%2frun%2fopenldap%2fldapi/" -d 1'
slapd_sockets="/var/run/openldap/ldapi"
Cela dit j'en ai besoin pour le log donc je ne redamrre plus nas4free :lol: (le chien qui se mort la queue)

Bon tout cela reste à l'état de supposition et en l'état actuelle je vais procéder par élimination, je n'ai pas d'autres pistes pour l'instant! :roll:

Re: Serveur OpenLDAP Nas4Free

Posted: 29 Dec 2014 21:16
by velivole18
Bonsoir,

Si c'est effectivement cela, ce qui est bizarre, c'est que nous avons pris la distribution officielle de FreeBSD d'OpenLdap.
Ce serait tout de même un peu fort qu'elle ne fonctionne pas avec Nas4Free !
Mais je te l'accorde, c'est actuellement la meilleure piste que nous avons.
Effectivement, dans mes traces j'ai la même erreur que toi !
C'est bien celle qui indique qu'il n'y a pas de correspondance entre les clés de Nas4Free et celle d'OpenLdap.
Bon, je vais faire le test avec cette nouvelle distrib.
Aussi, je n'utilise pas ldapi.
Je crois comprendre que ldapi est le lien entre client (Nas4Free) et serveur (OpenLdap) via des socket en domaine Unix, c'est à dire en mémoire partagée. En utilisant tout simplement ldap://192.168.0.61 pour moi, on utilise les sockets dans le domaine inet.

Il semblerait que le lien fournit dans la page que tu as trouvée ("download.oracle.com/berkeley-db/db-4.8.30.tar.gz") ne soit que l'implémentation de la partie base de donnée, et non pas d'OpenLdap. Il n'y aura donc pas le service OpenLdap ("slapd"). Une fois que tu auras le code d'implémentation de la base de données, comment le binaire OpenLdap va-t-il l'utiliser ? Et est-ce que ce sera compatible ?

Encore du travail et quelques heures ...

Pour ma part, je vais entrer à la main en ligne de commande quelques objets, tel que tu me l'as proposé dans tes scripts (qui à priori comporte qq erreurs de syntaxe car je ne peux pas les utiliser tel quel) et je vais faire toujours en ligne de commande des recherches sur ces objets, voir si j'obtiens la même erreur qu'avec Nas4Free.

A plus tard.

Cordialement.

Re: Serveur OpenLDAP Nas4Free

Posted: 29 Dec 2014 21:41
by velivole18
Bonsoir,

En faisant des recherches sur le site de freeBSD, je retrouve effectivement le problème de la base de données que tu as soulevée,
mais j'ai également lu un possible problème de droit, dans le fait que le client pourrait ne pas avoir les bons droits ce qui donne la même erreur.
cf : https://community.oracle.com/thread/237 ... 0&tstart=0

Je vais chercher dans ce sens là.

Cordialement.

Re: Serveur OpenLDAP Nas4Free

Posted: 29 Dec 2014 22:14
by velivole18
Bonsoir,

Juste pour dire 2 choses :

1 - la version de la base de OpenLdap FreeBSD est la 4.6.21.
la version proposée par Oracle est la 4.8.30.
Il y a peut-être une petite différence effectivement, qui corrige le problème.
Ceci dit je suis toujours étonné que FreeBSD n'ai pas répercuté la solution en proposant une version sans ce problème ...

2 - à partir d'une base vide, avec un script juste que j'ai trouvé ici de création d'arborescence, de users et de groupes, déjà en ligne de commande, cela ne marche pas !!! Donc avec Nas4Free, cela ne risque pas de fonctionner plus !

Donc l'évolution de version de la base de données reste bien la meilleure piste.

Cordialement.

Re: Serveur OpenLDAP Nas4Free

Posted: 30 Dec 2014 08:15
by laster13
Bonjour,

Me semble t il, il y a des différences importantes au niveau des versions entre les logiciels pré compilés et les logiciels portés. Je l'avais constaté lorsque je travaillais sur calibre et pour tenter de le faire fonctionner, j'avais essayé les deux méthodes. Le nombre de mise à jour qui séparait les 2 versions était important. Du coup je pense que compiler les logiciels permet d'obtenir des versions plus récentes.

Je vais tenter de compiler à nouveau openldap de 2 facons:

Je vais conserver la base BerkeleyDB mais en la compilant elle sera forcement plus récente que celle qu'on a actuellement. Si cela ne fonctionne toujours pas, je décocherai BerkeleyDB pour MDB qui semble t'il, est plus récente.

Comme expliquer ci dessous
As indicated below, the BDB – with BerkeleyDB backend option was deselected since BerkeleyDB is marked as deprecated. Additionally, the options MDB – with Memory-Mapped DB backend and PPolicy – with Password Policy overlay were selected.
http://loga.us/2014/08/16/openldap-and- ... -openldap/

Sur le site ci dessous, il propose de compiler openLDAP avec BDB et même d'autres options... mais l'article est plus vieux!
Use config options: BDB, Dynamic_Backends, SASL, SEQMOD, SYNCPROV, TCP_WRAPPERS
http://www.whitneytechnologies.com/?p=314

Peu être que pour les options à cocher, on peut faire un combiné de ce qui est proposé sur les 2 sites.

Voila ce que je vais tenter à partir de jeudi, là je suis un peu court au niveau timing.

Re: Serveur OpenLDAP Nas4Free

Posted: 01 Jan 2015 20:16
by laster13
Bonsoir,

J'ai compilé openldap24-server à partir des ports en prenant la base MDB, pas de changement si ce n'est que j'ai compris pourquoi j'avais le message d'erreur suivant:
mdb_dn2id: get failed: MDB_NOTFOUND: No matching key/data pair found (-30798)
Tout simplement parce que je n'avais pas créer dans ma base les clés Users et Groups de la manière suivante

base.ldif avec dedans:
dn: ou=Users,dc=famille,dc=local
objectClass: top
objectClass: organizationalUnit
ou: Users
description: utilisateur

dn: ou=Groups,dc=famille,dc=local
objectClass: top
objectClass: organizationalUnit
ou: Groups
description: groupe
et là si j'ajoute un utilisateur dans Nas4free, mon log est

Code: Select all

54a5981a slap_listener_activate(6):
54a5981a >>> slap_listener(ldap://192.168.0.106/)
54a5981a connection_get(11): got connid=1000
54a5981a connection_read(11): checking for input on id=1000
ber_get_next
ber_get_next: tag 0x30 len 48 contents:
54a5981a op tag 0x60, time 1420138522
ber_get_next
54a5981a conn=1000 op=0 do_bind
ber_scanf fmt ({imt) ber:
ber_scanf fmt (m}) ber:
54a5981a >>> dnPrettyNormal: <cn=admin,dc=famille,dc=local>
54a5981a <<< dnPrettyNormal: <cn=admin,dc=famille,dc=local>, <cn=admin,dc=famille,dc=local>
54a5981a do_bind: version=3 dn="cn=admin,dc=famille,dc=local" method=128
54a5981a do_bind: v3 bind: "cn=admin,dc=famille,dc=local" to "cn=admin,dc=famille,dc=local"
54a5981a send_ldap_result: conn=1000 op=0 p=3
54a5981a send_ldap_response: msgid=1 tag=97 err=0
ber_flush2: 14 bytes to sd 11
54a5981a connection_get(11): got connid=1000
54a5981a connection_read(11): checking for input on id=1000
ber_get_next
ber_get_next: tag 0x30 len 281 contents:
54a5981a op tag 0x63, time 1420138522
ber_get_next
54a5981a conn=1000 op=1 do_search
ber_scanf fmt ({miiiib) ber:
54a5981a >>> dnPrettyNormal: <ou=Users,dc=famille,dc=local>
54a5981a <<< dnPrettyNormal: <ou=Users,dc=famille,dc=local>, <ou=users,dc=famille,dc=local>
ber_scanf fmt ({mm}) ber:
ber_scanf fmt ({M}}) ber:
54a5981a => get_ctrls
ber_scanf fmt ({m) ber:
ber_scanf fmt (m) ber:
54a5981a => get_ctrls: oid="1.2.840.113556.1.4.319" (noncritical)
ber_scanf fmt ({im}) ber:
54a5981a <= get_ctrls: n=1 rc=0 err=""
54a5981a => mdb_search
54a5981a mdb_dn2entry("ou=users,dc=famille,dc=local")
54a5981a => mdb_dn2id("ou=users,dc=famille,dc=local")
54a5981a <= mdb_dn2id: got id=0x6
54a5981a => mdb_entry_decode:
54a5981a <= mdb_entry_decode
54a5981a search_candidates: base="ou=users,dc=famille,dc=local" (0x00000006) scope=1
54a5981a => mdb_equality_candidates (objectClass)
54a5981a => key_read
54a5981a <= mdb_index_read: failed (-30798)
54a5981a <= mdb_equality_candidates: id=0, first=0, last=0
54a5981a mdb_search_candidates: id=0 first=0 last=0
54a5981a mdb_search: no candidates
54a5981a send_ldap_result: conn=1000 op=1 p=3
54a5981a send_ldap_response: msgid=2 tag=101 err=0
ber_flush2: 51 bytes to sd 11
54a5981a connection_get(11): got connid=1000
54a5981a connection_read(11): checking for input on id=1000
ber_get_next
ber_get_next: tag 0x30 len 175 contents:
54a5981a op tag 0x63, time 1420138522
ber_get_next
54a5981a conn=1000 op=2 do_search
ber_scanf fmt ({miiiib) ber:
54a5981a >>> dnPrettyNormal: <ou=Groups,dc=famille,dc=local>
54a5981a <<< dnPrettyNormal: <ou=Groups,dc=famille,dc=local>, <ou=groups,dc=famille,dc=local>
ber_scanf fmt ({mm}) ber:
ber_scanf fmt ({M}}) ber:
54a5981a => get_ctrls
ber_scanf fmt ({m) ber:
ber_scanf fmt (m) ber:
54a5981a => get_ctrls: oid="1.2.840.113556.1.4.319" (noncritical)
ber_scanf fmt ({im}) ber:
54a5981a <= get_ctrls: n=1 rc=0 err=""
54a5981a => mdb_search
54a5981a mdb_dn2entry("ou=groups,dc=famille,dc=local")
54a5981a => mdb_dn2id("ou=groups,dc=famille,dc=local")
54a5981a <= mdb_dn2id: got id=0x7
54a5981a => mdb_entry_decode:
54a5981a <= mdb_entry_decode
54a5981a search_candidates: base="ou=groups,dc=famille,dc=local" (0x00000007) scope=1
54a5981a => mdb_equality_candidates (objectClass)
54a5981a => key_read
54a5981a <= mdb_index_read: failed (-30798)
54a5981a <= mdb_equality_candidates: id=0, first=0, last=0
54a5981a mdb_search_candidates: id=0 first=0 last=0
54a5981a mdb_search: no candidates
54a5981a send_ldap_result: conn=1000 op=2 p=3
54a5981a send_ldap_response: msgid=3 tag=101 err=0
ber_flush2: 51 bytes to sd 11
54a5981a connection_get(11): got connid=1000
54a5981a connection_read(11): checking for input on id=1000
ber_get_next
54a5981a ber_get_next on fd 11 failed errno=0 (No error: 0)
54a5981a connection_close: conn=1000 sd=11
54a59820 slap_listener_activate(6):
54a59820 >>> slap_listener(ldap://192.168.0.106/)
54a59820 connection_get(11): got connid=1001
54a59820 connection_read(11): checking for input on id=1001
ber_get_next
ber_get_next: tag 0x30 len 48 contents:
54a59820 op tag 0x60, time 1420138528
ber_get_next
54a59820 conn=1001 op=0 do_bind
ber_scanf fmt ({imt) ber:
ber_scanf fmt (m}) ber:
54a59820 >>> dnPrettyNormal: <cn=admin,dc=famille,dc=local>
54a59820 <<< dnPrettyNormal: <cn=admin,dc=famille,dc=local>, <cn=admin,dc=famille,dc=local>
54a59820 do_bind: version=3 dn="cn=admin,dc=famille,dc=local" method=128
54a59820 do_bind: v3 bind: "cn=admin,dc=famille,dc=local" to "cn=admin,dc=famille,dc=local"
54a59820 send_ldap_result: conn=1001 op=0 p=3
54a59820 send_ldap_response: msgid=1 tag=97 err=0
ber_flush2: 14 bytes to sd 11
54a59820 connection_get(11): got connid=1001
54a59820 connection_read(11): checking for input on id=1001
ber_get_next
ber_get_next: tag 0x30 len 281 contents:
54a59820 op tag 0x63, time 1420138528
ber_get_next
54a59820 conn=1001 op=1 do_search
ber_scanf fmt ({miiiib) ber:
54a59820 >>> dnPrettyNormal: <ou=Users,dc=famille,dc=local>
54a59820 <<< dnPrettyNormal: <ou=Users,dc=famille,dc=local>, <ou=users,dc=famille,dc=local>
ber_scanf fmt ({mm}) ber:
ber_scanf fmt ({M}}) ber:
54a59820 => get_ctrls
ber_scanf fmt ({m) ber:
ber_scanf fmt (m) ber:
54a59820 => get_ctrls: oid="1.2.840.113556.1.4.319" (noncritical)
ber_scanf fmt ({im}) ber:
54a59820 <= get_ctrls: n=1 rc=0 err=""
54a59820 => mdb_search
54a59820 mdb_dn2entry("ou=users,dc=famille,dc=local")
54a59820 => mdb_dn2id("ou=users,dc=famille,dc=local")
54a59820 <= mdb_dn2id: got id=0x6
54a59820 => mdb_entry_decode:
54a59820 <= mdb_entry_decode
54a59820 search_candidates: base="ou=users,dc=famille,dc=local" (0x00000006) scope=1
54a59820 => mdb_equality_candidates (objectClass)
54a59820 => key_read
54a59820 <= mdb_index_read: failed (-30798)
54a59820 <= mdb_equality_candidates: id=0, first=0, last=0
54a59820 mdb_search_candidates: id=0 first=0 last=0
54a59820 mdb_search: no candidates
54a59820 send_ldap_result: conn=1001 op=1 p=3
54a59820 send_ldap_response: msgid=2 tag=101 err=0
ber_flush2: 51 bytes to sd 11
54a59820 connection_get(11): got connid=1001
54a59820 connection_read(11): checking for input on id=1001
ber_get_next
ber_get_next: tag 0x30 len 175 contents:
54a59820 op tag 0x63, time 1420138528
ber_get_next
54a59820 conn=1001 op=2 do_search
ber_scanf fmt ({miiiib) ber:
54a59820 >>> dnPrettyNormal: <ou=Groups,dc=famille,dc=local>
54a59820 <<< dnPrettyNormal: <ou=Groups,dc=famille,dc=local>, <ou=groups,dc=famille,dc=local>
ber_scanf fmt ({mm}) ber:
ber_scanf fmt ({M}}) ber:
54a59820 => get_ctrls
ber_scanf fmt ({m) ber:
ber_scanf fmt (m) ber:
54a59820 => get_ctrls: oid="1.2.840.113556.1.4.319" (noncritical)
ber_scanf fmt ({im}) ber:
54a59820 <= get_ctrls: n=1 rc=0 err=""
54a59820 => mdb_search
54a59820 mdb_dn2entry("ou=groups,dc=famille,dc=local")
54a59820 => mdb_dn2id("ou=groups,dc=famille,dc=local")
54a59820 <= mdb_dn2id: got id=0x7
54a59820 => mdb_entry_decode:
54a59820 <= mdb_entry_decode
54a59820 search_candidates: base="ou=groups,dc=famille,dc=local" (0x00000007) scope=1
54a59820 => mdb_equality_candidates (objectClass)
54a59820 => key_read
54a59820 <= mdb_index_read: failed (-30798)
54a59820 <= mdb_equality_candidates: id=0, first=0, last=0
54a59820 mdb_search_candidates: id=0 first=0 last=0
54a59820 mdb_search: no candidates
54a59820 send_ldap_result: conn=1001 op=2 p=3
54a59820 send_ldap_response: msgid=3 tag=101 err=0
ber_flush2: 51 bytes to sd 11
54a59820 connection_get(11): got connid=1001
54a59820 connection_read(11): checking for input on id=1001
ber_get_next
54a59820 ber_get_next on fd 11 failed errno=0 (No error: 0)
54a59820 connection_close: conn=1001 sd=11
54a59820 slap_listener_activate(6):
54a59820 >>> slap_listener(ldap://192.168.0.106/)
54a59820 connection_get(11): got connid=1002
54a59820 connection_read(11): checking for input on id=1002
ber_get_next
ber_get_next: tag 0x30 len 48 contents:
54a59820 op tag 0x60, time 1420138528
ber_get_next
54a59820 conn=1002 op=0 do_bind
ber_scanf fmt ({imt) ber:
ber_scanf fmt (m}) ber:
54a59820 >>> dnPrettyNormal: <cn=admin,dc=famille,dc=local>
54a59820 <<< dnPrettyNormal: <cn=admin,dc=famille,dc=local>, <cn=admin,dc=famille,dc=local>
54a59820 do_bind: version=3 dn="cn=admin,dc=famille,dc=local" method=128
54a59820 do_bind: v3 bind: "cn=admin,dc=famille,dc=local" to "cn=admin,dc=famille,dc=local"
54a59820 send_ldap_result: conn=1002 op=0 p=3
54a59820 send_ldap_response: msgid=1 tag=97 err=0
ber_flush2: 14 bytes to sd 11
54a59820 connection_get(11): got connid=1002
54a59820 connection_read(11): checking for input on id=1002
ber_get_next
ber_get_next: tag 0x30 len 150 contents:
54a59820 op tag 0x63, time 1420138528
ber_get_next
54a59820 conn=1002 op=1 do_search
ber_scanf fmt ({miiiib) ber:
54a59820 >>> dnPrettyNormal: <ou=Groups,dc=famille,dc=local>
54a59820 <<< dnPrettyNormal: <ou=Groups,dc=famille,dc=local>, <ou=groups,dc=famille,dc=local>
ber_scanf fmt ({mm}) ber:
ber_scanf fmt ({mm}) ber:
ber_scanf fmt ({M}}) ber:
54a59820 => get_ctrls
ber_scanf fmt ({m) ber:
ber_scanf fmt (m) ber:
54a59820 => get_ctrls: oid="1.2.840.113556.1.4.319" (noncritical)
ber_scanf fmt ({im}) ber:
54a59820 <= get_ctrls: n=1 rc=0 err=""
54a59820 => mdb_search
54a59820 mdb_dn2entry("ou=groups,dc=famille,dc=local")
54a59820 => mdb_dn2id("ou=groups,dc=famille,dc=local")
54a59820 <= mdb_dn2id: got id=0x7
54a59820 => mdb_entry_decode:
54a59820 <= mdb_entry_decode
54a59820 search_candidates: base="ou=groups,dc=famille,dc=local" (0x00000007) scope=1
54a59820 => mdb_equality_candidates (objectClass)
54a59820 => key_read
54a59820 <= mdb_index_read: failed (-30798)
54a59820 <= mdb_equality_candidates: id=0, first=0, last=0
54a59820 mdb_search_candidates: id=0 first=0 last=0
54a59820 mdb_search: no candidates
54a59820 send_ldap_result: conn=1002 op=1 p=3
54a59820 send_ldap_response: msgid=2 tag=101 err=0
ber_flush2: 51 bytes to sd 11
54a59821 connection_get(11): got connid=1002
54a59821 connection_read(11): checking for input on id=1002
ber_get_next
ber_get_next: tag 0x30 len 96 contents:
54a59821 op tag 0x63, time 1420138529
ber_get_next
54a59821 conn=1002 op=2 do_search
ber_scanf fmt ({miiiib) ber:
54a59821 >>> dnPrettyNormal: <ou=Users,dc=famille,dc=local>
54a59821 <<< dnPrettyNormal: <ou=Users,dc=famille,dc=local>, <ou=users,dc=famille,dc=local>
ber_scanf fmt ({mm}) ber:
ber_scanf fmt ({mm}) ber:
ber_scanf fmt ({M}}) ber:
54a59821 => mdb_search
54a59821 mdb_dn2entry("ou=users,dc=famille,dc=local")
54a59821 => mdb_dn2id("ou=users,dc=famille,dc=local")
54a59821 <= mdb_dn2id: got id=0x6
54a59821 => mdb_entry_decode:
54a59821 <= mdb_entry_decode
54a59821 search_candidates: base="ou=users,dc=famille,dc=local" (0x00000006) scope=1
54a59821 => mdb_equality_candidates (objectClass)
54a59821 => key_read
54a59821 <= mdb_index_read: failed (-30798)
54a59821 <= mdb_equality_candidates: id=0, first=0, last=0
54a59821 mdb_search_candidates: id=0 first=0 last=0
54a59821 mdb_search: no candidates
54a59821 send_ldap_result: conn=1002 op=2 p=3
54a59821 send_ldap_response: msgid=3 tag=101 err=0
ber_flush2: 14 bytes to sd 11
54a59821 connection_get(11): got connid=1002
54a59821 connection_read(11): checking for input on id=1002
ber_get_next
ber_get_next: tag 0x30 len 150 contents:
54a59821 op tag 0x63, time 1420138529
ber_get_next
54a59821 conn=1002 op=3 do_search
ber_scanf fmt ({miiiib) ber:
54a59821 >>> dnPrettyNormal: <ou=Groups,dc=famille,dc=local>
54a59821 <<< dnPrettyNormal: <ou=Groups,dc=famille,dc=local>, <ou=groups,dc=famille,dc=local>
ber_scanf fmt ({mm}) ber:
ber_scanf fmt ({mm}) ber:
ber_scanf fmt ({M}}) ber:
54a59821 => get_ctrls
ber_scanf fmt ({m) ber:
ber_scanf fmt (m) ber:
54a59821 => get_ctrls: oid="1.2.840.113556.1.4.319" (noncritical)
ber_scanf fmt ({im}) ber:
54a59821 <= get_ctrls: n=1 rc=0 err=""
54a59821 => mdb_search
54a59821 mdb_dn2entry("ou=groups,dc=famille,dc=local")
54a59821 => mdb_dn2id("ou=groups,dc=famille,dc=local")
54a59821 <= mdb_dn2id: got id=0x7
54a59821 => mdb_entry_decode:
54a59821 <= mdb_entry_decode
54a59821 search_candidates: base="ou=groups,dc=famille,dc=local" (0x00000007) scope=1
54a59821 => mdb_equality_candidates (objectClass)
54a59821 => key_read
54a59821 <= mdb_index_read: failed (-30798)
54a59821 <= mdb_equality_candidates: id=0, first=0, last=0
54a59821 mdb_search_candidates: id=0 first=0 last=0
54a59821 mdb_search: no candidates
54a59821 send_ldap_result: conn=1002 op=3 p=3
54a59821 send_ldap_response: msgid=4 tag=101 err=0
ber_flush2: 51 bytes to sd 11
54a59823 slap_listener_activate(6):
54a59823 >>> slap_listener(ldap://192.168.0.106/)
54a59823 connection_get(12): got connid=1003
54a59823 connection_read(12): checking for input on id=1003
ber_get_next
ber_get_next: tag 0x30 len 48 contents:
54a59823 op tag 0x60, time 1420138531
ber_get_next
54a59823 conn=1003 op=0 do_bind
ber_scanf fmt ({imt) ber:
ber_scanf fmt (m}) ber:
54a59823 >>> dnPrettyNormal: <cn=admin,dc=famille,dc=local>
54a59823 <<< dnPrettyNormal: <cn=admin,dc=famille,dc=local>, <cn=admin,dc=famille,dc=local>
54a59823 do_bind: version=3 dn="cn=admin,dc=famille,dc=local" method=128
54a59823 do_bind: v3 bind: "cn=admin,dc=famille,dc=local" to "cn=admin,dc=famille,dc=local"
54a59823 send_ldap_result: conn=1003 op=0 p=3
54a59823 send_ldap_response: msgid=1 tag=97 err=0
ber_flush2: 14 bytes to sd 12
54a59823 connection_get(12): got connid=1003
54a59823 connection_read(12): checking for input on id=1003
ber_get_next
ber_get_next: tag 0x30 len 148 contents:
54a59823 op tag 0x63, time 1420138531
ber_get_next
54a59823 conn=1003 op=1 do_search
ber_scanf fmt ({miiiib) ber:
54a59823 >>> dnPrettyNormal: <ou=Groups,dc=famille,dc=local>
54a59823 <<< dnPrettyNormal: <ou=Groups,dc=famille,dc=local>, <ou=groups,dc=famille,dc=local>
ber_scanf fmt ({mm}) ber:
ber_scanf fmt ({mm}) ber:
ber_scanf fmt ({M}}) ber:
54a59823 => mdb_search
54a59823 mdb_dn2entry("ou=groups,dc=famille,dc=local")
54a59823 => mdb_dn2id("ou=groups,dc=famille,dc=local")
54a59823 <= mdb_dn2id: got id=0x7
54a59823 => mdb_entry_decode:
54a59823 <= mdb_entry_decode
54a59823 search_candidates: base="ou=groups,dc=famille,dc=local" (0x00000007) scope=1
54a59823 => mdb_equality_candidates (objectClass)
54a59823 => key_read
54a59823 <= mdb_index_read: failed (-30798)
54a59823 <= mdb_equality_candidates: id=0, first=0, last=0
54a59823 mdb_search_candidates: id=0 first=0 last=0
54a59823 mdb_search: no candidates
54a59823 send_ldap_result: conn=1003 op=1 p=3
54a59823 send_ldap_response: msgid=2 tag=101 err=0
ber_flush2: 14 bytes to sd 12
54a59823 connection_get(12): got connid=1003
54a59823 connection_read(12): checking for input on id=1003
ber_get_next
ber_get_next: tag 0x30 len 147 contents:
54a59823 op tag 0x63, time 1420138531
ber_get_next
54a59823 conn=1003 op=2 do_search
ber_scanf fmt ({miiiib) ber:
54a59823 >>> dnPrettyNormal: <ou=Groups,dc=famille,dc=local>
54a59823 <<< dnPrettyNormal: <ou=Groups,dc=famille,dc=local>, <ou=groups,dc=famille,dc=local>
ber_scanf fmt ({mm}) ber:
ber_scanf fmt ({mm}) ber:
ber_scanf fmt ({M}}) ber:
54a59823 => mdb_search
54a59823 mdb_dn2entry("ou=groups,dc=famille,dc=local")
54a59823 => mdb_dn2id("ou=groups,dc=famille,dc=local")
54a59823 <= mdb_dn2id: got id=0x7
54a59823 => mdb_entry_decode:
54a59823 <= mdb_entry_decode
54a59823 search_candidates: base="ou=groups,dc=famille,dc=local" (0x00000007) scope=1
54a59823 => mdb_equality_candidates (objectClass)
54a59823 => key_read
54a59823 <= mdb_index_read: failed (-30798)
54a59823 <= mdb_equality_candidates: id=0, first=0, last=0
54a59823 mdb_search_candidates: id=0 first=0 last=0
54a59823 mdb_search: no candidates
54a59823 send_ldap_result: conn=1003 op=2 p=3
54a59823 send_ldap_response: msgid=3 tag=101 err=0
ber_flush2: 14 bytes to sd 12
54a59823 connection_get(12): got connid=1003
54a59823 connection_read(12): checking for input on id=1003
ber_get_next
ber_get_next: tag 0x30 len 267 contents:
54a59823 op tag 0x63, time 1420138531
ber_get_next
54a59823 conn=1003 op=3 do_search
ber_scanf fmt ({miiiib) ber:
54a59823 >>> dnPrettyNormal: <ou=Users,dc=famille,dc=local>
54a59823 <<< dnPrettyNormal: <ou=Users,dc=famille,dc=local>, <ou=users,dc=famille,dc=local>
ber_scanf fmt ({mm}) ber:
ber_scanf fmt ({mm}) ber:
ber_scanf fmt ({M}}) ber:
54a59823 => mdb_search
54a59823 mdb_dn2entry("ou=users,dc=famille,dc=local")
54a59823 => mdb_dn2id("ou=users,dc=famille,dc=local")
54a59823 <= mdb_dn2id: got id=0x6
54a59823 => mdb_entry_decode:
54a59823 <= mdb_entry_decode
54a59823 search_candidates: base="ou=users,dc=famille,dc=local" (0x00000006) scope=1
54a59823 => mdb_equality_candidates (objectClass)
54a59823 => key_read
54a59823 <= mdb_index_read: failed (-30798)
54a59823 <= mdb_equality_candidates: id=0, first=0, last=0
54a59823 mdb_search_candidates: id=0 first=0 last=0
54a59823 mdb_search: no candidates
54a59823 send_ldap_result: conn=1003 op=3 p=3
54a59823 send_ldap_response: msgid=4 tag=101 err=0
ber_flush2: 14 bytes to sd 12
54a59823 connection_get(12): got connid=1003
54a59823 connection_read(12): checking for input on id=1003
ber_get_next
ber_get_next: tag 0x30 len 267 contents:
54a59823 op tag 0x63, time 1420138531
ber_get_next
54a59823 conn=1003 op=4 do_search
ber_scanf fmt ({miiiib) ber:
54a59823 >>> dnPrettyNormal: <ou=Users,dc=famille,dc=local>
54a59823 <<< dnPrettyNormal: <ou=Users,dc=famille,dc=local>, <ou=users,dc=famille,dc=local>
ber_scanf fmt ({mm}) ber:
ber_scanf fmt ({mm}) ber:
ber_scanf fmt ({M}}) ber:
54a59823 => mdb_search
54a59823 mdb_dn2entry("ou=users,dc=famille,dc=local")
54a59823 => mdb_dn2id("ou=users,dc=famille,dc=local")
54a59823 <= mdb_dn2id: got id=0x6
54a59823 => mdb_entry_decode:
54a59823 <= mdb_entry_decode
54a59823 search_candidates: base="ou=users,dc=famille,dc=local" (0x00000006) scope=1
54a59823 => mdb_equality_candidates (objectClass)
54a59823 => key_read
54a59823 <= mdb_index_read: failed (-30798)
54a59823 <= mdb_equality_candidates: id=0, first=0, last=0
54a59823 mdb_search_candidates: id=0 first=0 last=0
54a59823 mdb_search: no candidates
54a59823 send_ldap_result: conn=1003 op=4 p=3
54a59823 send_ldap_response: msgid=5 tag=101 err=0
ber_flush2: 14 bytes to sd 12
54a59823 connection_get(12): got connid=1003
54a59823 connection_read(12): checking for input on id=1003
ber_get_next
ber_get_next: tag 0x30 len 264 contents:
54a59823 op tag 0x63, time 1420138531
ber_get_next
54a59823 conn=1003 op=5 do_search
ber_scanf fmt ({miiiib) ber:
54a59823 >>> dnPrettyNormal: <ou=Users,dc=famille,dc=local>
54a59823 <<< dnPrettyNormal: <ou=Users,dc=famille,dc=local>, <ou=users,dc=famille,dc=local>
ber_scanf fmt ({mm}) ber:
ber_scanf fmt ({mm}) ber:
ber_scanf fmt ({M}}) ber:
54a59823 => mdb_search
54a59823 mdb_dn2entry("ou=users,dc=famille,dc=local")
54a59823 => mdb_dn2id("ou=users,dc=famille,dc=local")
54a59823 <= mdb_dn2id: got id=0x6
54a59823 => mdb_entry_decode:
54a59823 <= mdb_entry_decode
54a59823 search_candidates: base="ou=users,dc=famille,dc=local" (0x00000006) scope=1
54a59823 => mdb_equality_candidates (objectClass)
54a59823 => key_read
54a59823 <= mdb_index_read: failed (-30798)
54a59823 <= mdb_equality_candidates: id=0, first=0, last=0
54a59823 mdb_search_candidates: id=0 first=0 last=0
54a59823 mdb_search: no candidates
54a59823 send_ldap_result: conn=1003 op=5 p=3
54a59823 send_ldap_response: msgid=6 tag=101 err=0
ber_flush2: 14 bytes to sd 12
54a59823 connection_get(12): got connid=1003
54a59823 connection_read(12): checking for input on id=1003
ber_get_next
ber_get_next: tag 0x30 len 148 contents:
54a59823 op tag 0x63, time 1420138531
ber_get_next
54a59823 conn=1003 op=6 do_search
ber_scanf fmt ({miiiib) ber:
54a59823 >>> dnPrettyNormal: <ou=Groups,dc=famille,dc=local>
54a59823 <<< dnPrettyNormal: <ou=Groups,dc=famille,dc=local>, <ou=groups,dc=famille,dc=local>
ber_scanf fmt ({mm}) ber:
ber_scanf fmt ({mm}) ber:
ber_scanf fmt ({M}}) ber:
54a59823 => mdb_search
54a59823 mdb_dn2entry("ou=groups,dc=famille,dc=local")
54a59823 => mdb_dn2id("ou=groups,dc=famille,dc=local")
54a59823 <= mdb_dn2id: got id=0x7
54a59823 => mdb_entry_decode:
54a59823 <= mdb_entry_decode
54a59823 search_candidates: base="ou=groups,dc=famille,dc=local" (0x00000007) scope=1
54a59823 => mdb_equality_candidates (objectClass)
54a59823 => key_read
54a59823 <= mdb_index_read: failed (-30798)
54a59823 <= mdb_equality_candidates: id=0, first=0, last=0
54a59823 mdb_search_candidates: id=0 first=0 last=0
54a59823 mdb_search: no candidates
54a59823 send_ldap_result: conn=1003 op=6 p=3
54a59823 send_ldap_response: msgid=7 tag=101 err=0
ber_flush2: 14 bytes to sd 12
54a59823 connection_get(12): got connid=1003
54a59823 connection_read(12): checking for input on id=1003
ber_get_next
54a59823 ber_get_next on fd 12 failed errno=0 (No error: 0)
54a59823 connection_close: conn=1003 sd=12
54a59823 slap_listener_activate(6):
54a59823 >>> slap_listener(ldap://192.168.0.106/)
54a59823 connection_get(12): got connid=1004
54a59823 connection_read(12): checking for input on id=1004
ber_get_next
ber_get_next: tag 0x30 len 48 contents:
54a59823 op tag 0x60, time 1420138531
ber_get_next
54a59823 conn=1004 op=0 do_bind
ber_scanf fmt ({imt) ber:
ber_scanf fmt (m}) ber:
54a59823 >>> dnPrettyNormal: <cn=admin,dc=famille,dc=local>
54a59823 <<< dnPrettyNormal: <cn=admin,dc=famille,dc=local>, <cn=admin,dc=famille,dc=local>
54a59823 do_bind: version=3 dn="cn=admin,dc=famille,dc=local" method=128
54a59823 do_bind: v3 bind: "cn=admin,dc=famille,dc=local" to "cn=admin,dc=famille,dc=local"
54a59823 send_ldap_result: conn=1004 op=0 p=3
54a59823 send_ldap_response: msgid=1 tag=97 err=0
ber_flush2: 14 bytes to sd 12
54a59823 connection_get(12): got connid=1004
54a59823 connection_read(12): checking for input on id=1004
ber_get_next
ber_get_next: tag 0x30 len 147 contents:
54a59823 op tag 0x63, time 1420138531
ber_get_next
54a59823 conn=1004 op=1 do_search
ber_scanf fmt ({miiiib) ber:
54a59823 >>> dnPrettyNormal: <ou=Groups,dc=famille,dc=local>
54a59823 <<< dnPrettyNormal: <ou=Groups,dc=famille,dc=local>, <ou=groups,dc=famille,dc=local>
ber_scanf fmt ({mm}) ber:
ber_scanf fmt ({mm}) ber:
ber_scanf fmt ({M}}) ber:
54a59823 => mdb_search
54a59823 mdb_dn2entry("ou=groups,dc=famille,dc=local")
54a59823 => mdb_dn2id("ou=groups,dc=famille,dc=local")
54a59823 <= mdb_dn2id: got id=0x7
54a59823 => mdb_entry_decode:
54a59823 <= mdb_entry_decode
54a59823 search_candidates: base="ou=groups,dc=famille,dc=local" (0x00000007) scope=1
54a59823 => mdb_equality_candidates (objectClass)
54a59823 => key_read
54a59823 <= mdb_index_read: failed (-30798)
54a59823 <= mdb_equality_candidates: id=0, first=0, last=0
54a59823 mdb_search_candidates: id=0 first=0 last=0
54a59823 mdb_search: no candidates
54a59823 send_ldap_result: conn=1004 op=1 p=3
54a59823 send_ldap_response: msgid=2 tag=101 err=0
ber_flush2: 14 bytes to sd 12
54a59823 connection_get(12): got connid=1004
54a59823 connection_read(12): checking for input on id=1004
ber_get_next
ber_get_next: tag 0x30 len 263 contents:
54a59823 op tag 0x63, time 1420138531
ber_get_next
54a59823 conn=1004 op=2 do_search
ber_scanf fmt ({miiiib) ber:
54a59823 >>> dnPrettyNormal: <ou=Users,dc=famille,dc=local>
54a59823 <<< dnPrettyNormal: <ou=Users,dc=famille,dc=local>, <ou=users,dc=famille,dc=local>
ber_scanf fmt ({mm}) ber:
ber_scanf fmt ({mm}) ber:
ber_scanf fmt ({M}}) ber:
54a59823 => mdb_search
54a59823 mdb_dn2entry("ou=users,dc=famille,dc=local")
54a59823 => mdb_dn2id("ou=users,dc=famille,dc=local")
54a59823 <= mdb_dn2id: got id=0x6
54a59823 => mdb_entry_decode:
54a59823 <= mdb_entry_decode
54a59823 search_candidates: base="ou=users,dc=famille,dc=local" (0x00000006) scope=1
54a59823 => mdb_equality_candidates (objectClass)
54a59823 => key_read
54a59823 <= mdb_index_read: failed (-30798)
54a59823 <= mdb_equality_candidates: id=0, first=0, last=0
54a59823 mdb_search_candidates: id=0 first=0 last=0
54a59823 mdb_search: no candidates
54a59823 send_ldap_result: conn=1004 op=2 p=3
54a59823 send_ldap_response: msgid=3 tag=101 err=0
ber_flush2: 14 bytes to sd 12
54a59823 connection_get(12): got connid=1004
54a59823 connection_read(12): checking for input on id=1004
ber_get_next
ber_get_next: tag 0x30 len 263 contents:
54a59823 op tag 0x63, time 1420138531
ber_get_next
54a59823 conn=1004 op=3 do_search
ber_scanf fmt ({miiiib) ber:
54a59823 >>> dnPrettyNormal: <ou=Users,dc=famille,dc=local>
54a59823 <<< dnPrettyNormal: <ou=Users,dc=famille,dc=local>, <ou=users,dc=famille,dc=local>
ber_scanf fmt ({mm}) ber:
ber_scanf fmt ({mm}) ber:
ber_scanf fmt ({M}}) ber:
54a59823 => mdb_search
54a59823 mdb_dn2entry("ou=users,dc=famille,dc=local")
54a59823 => mdb_dn2id("ou=users,dc=famille,dc=local")
54a59823 <= mdb_dn2id: got id=0x6
54a59823 => mdb_entry_decode:
54a59823 <= mdb_entry_decode
54a59823 search_candidates: base="ou=users,dc=famille,dc=local" (0x00000006) scope=1
54a59823 => mdb_equality_candidates (objectClass)
54a59823 => key_read
54a59823 <= mdb_index_read: failed (-30798)
54a59823 <= mdb_equality_candidates: id=0, first=0, last=0
54a59823 mdb_search_candidates: id=0 first=0 last=0
54a59823 mdb_search: no candidates
54a59823 send_ldap_result: conn=1004 op=3 p=3
54a59823 send_ldap_response: msgid=4 tag=101 err=0
ber_flush2: 14 bytes to sd 12
54a59823 connection_get(12): got connid=1004
54a59823 connection_read(12): checking for input on id=1004
ber_get_next
ber_get_next: tag 0x30 len 265 contents:
54a59823 op tag 0x63, time 1420138531
ber_get_next
54a59823 conn=1004 op=4 do_search
ber_scanf fmt ({miiiib) ber:
54a59823 >>> dnPrettyNormal: <ou=Users,dc=famille,dc=local>
54a59823 <<< dnPrettyNormal: <ou=Users,dc=famille,dc=local>, <ou=users,dc=famille,dc=local>
ber_scanf fmt ({mm}) ber:
ber_scanf fmt ({mm}) ber:
ber_scanf fmt ({M}}) ber:
54a59823 => mdb_search
54a59823 mdb_dn2entry("ou=users,dc=famille,dc=local")
54a59823 => mdb_dn2id("ou=users,dc=famille,dc=local")
54a59823 <= mdb_dn2id: got id=0x6
54a59823 => mdb_entry_decode:
54a59823 <= mdb_entry_decode
54a59823 search_candidates: base="ou=users,dc=famille,dc=local" (0x00000006) scope=1
54a59823 => mdb_equality_candidates (objectClass)
54a59823 => key_read
54a59823 <= mdb_index_read: failed (-30798)
54a59823 <= mdb_equality_candidates: id=0, first=0, last=0
54a59823 mdb_search_candidates: id=0 first=0 last=0
54a59823 mdb_search: no candidates
54a59823 send_ldap_result: conn=1004 op=4 p=3
54a59823 send_ldap_response: msgid=5 tag=101 err=0
ber_flush2: 14 bytes to sd 12
54a59823 connection_get(12): got connid=1004
54a59823 connection_read(12): checking for input on id=1004
ber_get_next
ber_get_next: tag 0x30 len 147 contents:
54a59823 op tag 0x63, time 1420138531
ber_get_next
54a59823 conn=1004 op=5 do_search
ber_scanf fmt ({miiiib) ber:
54a59823 >>> dnPrettyNormal: <ou=Groups,dc=famille,dc=local>
54a59823 <<< dnPrettyNormal: <ou=Groups,dc=famille,dc=local>, <ou=groups,dc=famille,dc=local>
ber_scanf fmt ({mm}) ber:
ber_scanf fmt ({mm}) ber:
ber_scanf fmt ({M}}) ber:
54a59823 => mdb_search
54a59823 mdb_dn2entry("ou=groups,dc=famille,dc=local")
54a59823 => mdb_dn2id("ou=groups,dc=famille,dc=local")
54a59823 <= mdb_dn2id: got id=0x7
54a59823 => mdb_entry_decode:
54a59823 <= mdb_entry_decode
54a59823 search_candidates: base="ou=groups,dc=famille,dc=local" (0x00000007) scope=1
54a59823 => mdb_equality_candidates (objectClass)
54a59823 => key_read
54a59823 <= mdb_index_read: failed (-30798)
54a59823 <= mdb_equality_candidates: id=0, first=0, last=0
54a59823 mdb_search_candidates: id=0 first=0 last=0
54a59823 mdb_search: no candidates
54a59823 send_ldap_result: conn=1004 op=5 p=3
54a59823 send_ldap_response: msgid=6 tag=101 err=0
ber_flush2: 14 bytes to sd 12
54a59823 connection_get(12): got connid=1004
54a59823 connection_read(12): checking for input on id=1004
ber_get_next
54a59823 ber_get_next on fd 12 failed errno=0 (No error: 0)
54a59823 connection_close: conn=1004 sd=12
54a59823 slap_listener_activate(6):
54a59823 >>> slap_listener(ldap://192.168.0.106/)
54a59823 connection_get(12): got connid=1005
54a59823 connection_read(12): checking for input on id=1005
ber_get_next
ber_get_next: tag 0x30 len 48 contents:
54a59823 op tag 0x60, time 1420138531
ber_get_next
54a59823 conn=1005 op=0 do_bind
ber_scanf fmt ({imt) ber:
ber_scanf fmt (m}) ber:
54a59823 >>> dnPrettyNormal: <cn=admin,dc=famille,dc=local>
54a59823 <<< dnPrettyNormal: <cn=admin,dc=famille,dc=local>, <cn=admin,dc=famille,dc=local>
54a59823 do_bind: version=3 dn="cn=admin,dc=famille,dc=local" method=128
54a59823 do_bind: v3 bind: "cn=admin,dc=famille,dc=local" to "cn=admin,dc=famille,dc=local"
54a59823 send_ldap_result: conn=1005 op=0 p=3
54a59823 send_ldap_response: msgid=1 tag=97 err=0
ber_flush2: 14 bytes to sd 12
54a59823 connection_get(12): got connid=1005
54a59823 connection_read(12): checking for input on id=1005
ber_get_next
ber_get_next: tag 0x30 len 147 contents:
54a59823 op tag 0x63, time 1420138531
ber_get_next
54a59823 conn=1005 op=1 do_search
ber_scanf fmt ({miiiib) ber:
54a59823 >>> dnPrettyNormal: <ou=Groups,dc=famille,dc=local>
54a59823 <<< dnPrettyNormal: <ou=Groups,dc=famille,dc=local>, <ou=groups,dc=famille,dc=local>
ber_scanf fmt ({mm}) ber:
ber_scanf fmt ({mm}) ber:
ber_scanf fmt ({M}}) ber:
54a59823 => mdb_search
54a59823 mdb_dn2entry("ou=groups,dc=famille,dc=local")
54a59823 => mdb_dn2id("ou=groups,dc=famille,dc=local")
54a59823 <= mdb_dn2id: got id=0x7
54a59823 => mdb_entry_decode:
54a59823 <= mdb_entry_decode
54a59823 search_candidates: base="ou=groups,dc=famille,dc=local" (0x00000007) scope=1
54a59823 => mdb_equality_candidates (objectClass)
54a59823 => key_read
54a59823 <= mdb_index_read: failed (-30798)
54a59823 <= mdb_equality_candidates: id=0, first=0, last=0
54a59823 mdb_search_candidates: id=0 first=0 last=0
54a59823 mdb_search: no candidates
54a59823 send_ldap_result: conn=1005 op=1 p=3
54a59823 send_ldap_response: msgid=2 tag=101 err=0
ber_flush2: 14 bytes to sd 12
54a59823 connection_get(12): got connid=1005
54a59823 connection_read(12): checking for input on id=1005
ber_get_next
ber_get_next: tag 0x30 len 259 contents:
54a59823 op tag 0x63, time 1420138531
ber_get_next
54a59823 conn=1005 op=2 do_search
ber_scanf fmt ({miiiib) ber:
54a59823 >>> dnPrettyNormal: <ou=Users,dc=famille,dc=local>
54a59823 <<< dnPrettyNormal: <ou=Users,dc=famille,dc=local>, <ou=users,dc=famille,dc=local>
ber_scanf fmt ({mm}) ber:
ber_scanf fmt ({mm}) ber:
ber_scanf fmt ({M}}) ber:
54a59823 => mdb_search
54a59823 mdb_dn2entry("ou=users,dc=famille,dc=local")
54a59823 => mdb_dn2id("ou=users,dc=famille,dc=local")
54a59823 <= mdb_dn2id: got id=0x6
54a59823 => mdb_entry_decode:
54a59823 <= mdb_entry_decode
54a59823 search_candidates: base="ou=users,dc=famille,dc=local" (0x00000006) scope=1
54a59823 => mdb_equality_candidates (objectClass)
54a59823 => key_read
54a59823 <= mdb_index_read: failed (-30798)
54a59823 <= mdb_equality_candidates: id=0, first=0, last=0
54a59823 mdb_search_candidates: id=0 first=0 last=0
54a59823 mdb_search: no candidates
54a59823 send_ldap_result: conn=1005 op=2 p=3
54a59823 send_ldap_response: msgid=3 tag=101 err=0
ber_flush2: 14 bytes to sd 12
54a59823 connection_get(12): got connid=1005
54a59823 connection_read(12): checking for input on id=1005
ber_get_next
ber_get_next: tag 0x30 len 259 contents:
54a59823 op tag 0x63, time 1420138531
ber_get_next
54a59823 conn=1005 op=3 do_search
ber_scanf fmt ({miiiib) ber:
54a59823 >>> dnPrettyNormal: <ou=Users,dc=famille,dc=local>
54a59823 <<< dnPrettyNormal: <ou=Users,dc=famille,dc=local>, <ou=users,dc=famille,dc=local>
ber_scanf fmt ({mm}) ber:
ber_scanf fmt ({mm}) ber:
ber_scanf fmt ({M}}) ber:
54a59823 => mdb_search
54a59823 mdb_dn2entry("ou=users,dc=famille,dc=local")
54a59823 => mdb_dn2id("ou=users,dc=famille,dc=local")
54a59823 <= mdb_dn2id: got id=0x6
54a59823 => mdb_entry_decode:
54a59823 <= mdb_entry_decode
54a59823 search_candidates: base="ou=users,dc=famille,dc=local" (0x00000006) scope=1
54a59823 => mdb_equality_candidates (objectClass)
54a59823 => key_read
54a59823 <= mdb_index_read: failed (-30798)
54a59823 <= mdb_equality_candidates: id=0, first=0, last=0
54a59823 mdb_search_candidates: id=0 first=0 last=0
54a59823 mdb_search: no candidates
54a59823 send_ldap_result: conn=1005 op=3 p=3
54a59823 send_ldap_response: msgid=4 tag=101 err=0
ber_flush2: 14 bytes to sd 12
54a59823 connection_get(12): got connid=1005
54a59823 connection_read(12): checking for input on id=1005
ber_get_next
ber_get_next: tag 0x30 len 263 contents:
54a59823 op tag 0x63, time 1420138531
ber_get_next
54a59823 conn=1005 op=4 do_search
ber_scanf fmt ({miiiib) ber:
54a59823 >>> dnPrettyNormal: <ou=Users,dc=famille,dc=local>
54a59823 <<< dnPrettyNormal: <ou=Users,dc=famille,dc=local>, <ou=users,dc=famille,dc=local>
ber_scanf fmt ({mm}) ber:
ber_scanf fmt ({mm}) ber:
ber_scanf fmt ({M}}) ber:
54a59823 => mdb_search
54a59823 mdb_dn2entry("ou=users,dc=famille,dc=local")
54a59823 => mdb_dn2id("ou=users,dc=famille,dc=local")
54a59823 <= mdb_dn2id: got id=0x6
54a59823 => mdb_entry_decode:
54a59823 <= mdb_entry_decode
54a59823 search_candidates: base="ou=users,dc=famille,dc=local" (0x00000006) scope=1
54a59823 => mdb_equality_candidates (objectClass)
54a59823 => key_read
54a59823 <= mdb_index_read: failed (-30798)
54a59823 <= mdb_equality_candidates: id=0, first=0, last=0
54a59823 mdb_search_candidates: id=0 first=0 last=0
54a59823 mdb_search: no candidates
54a59823 send_ldap_result: conn=1005 op=4 p=3
54a59823 send_ldap_response: msgid=5 tag=101 err=0
ber_flush2: 14 bytes to sd 12
54a59823 connection_get(12): got connid=1005
54a59823 connection_read(12): checking for input on id=1005
ber_get_next
ber_get_next: tag 0x30 len 147 contents:
54a59823 op tag 0x63, time 1420138531
ber_get_next
54a59823 conn=1005 op=5 do_search
ber_scanf fmt ({miiiib) ber:
54a59823 >>> dnPrettyNormal: <ou=Groups,dc=famille,dc=local>
54a59823 <<< dnPrettyNormal: <ou=Groups,dc=famille,dc=local>, <ou=groups,dc=famille,dc=local>
ber_scanf fmt ({mm}) ber:
ber_scanf fmt ({mm}) ber:
ber_scanf fmt ({M}}) ber:
54a59823 => mdb_search
54a59823 mdb_dn2entry("ou=groups,dc=famille,dc=local")
54a59823 => mdb_dn2id("ou=groups,dc=famille,dc=local")
54a59823 <= mdb_dn2id: got id=0x7
54a59823 => mdb_entry_decode:
54a59823 <= mdb_entry_decode
54a59823 search_candidates: base="ou=groups,dc=famille,dc=local" (0x00000007) scope=1
54a59823 => mdb_equality_candidates (objectClass)
54a59823 => key_read
54a59823 <= mdb_index_read: failed (-30798)
54a59823 <= mdb_equality_candidates: id=0, first=0, last=0
54a59823 mdb_search_candidates: id=0 first=0 last=0
54a59823 mdb_search: no candidates
54a59823 send_ldap_result: conn=1005 op=5 p=3
54a59823 send_ldap_response: msgid=6 tag=101 err=0
ber_flush2: 14 bytes to sd 12
54a59823 connection_get(12): got connid=1005
54a59823 connection_read(12): checking for input on id=1005
ber_get_next
54a59823 ber_get_next on fd 12 failed errno=0 (No error: 0)
54a59823 connection_close: conn=1005 sd=12

Donc on voit bien que le message d'erreur a disparu et qu'il compare les clés sauf que maintenant le message est que visiblement il n'arrive pas a lire la base probablement parce que le schéma lui convient pas ou aussi peu être a cause de problèmes de droit

Code: Select all

mdb_index_read: failed

Re: Serveur OpenLDAP Nas4Free

Posted: 02 Jan 2015 10:30
by velivole18
Bonjour,

J'ai recompilé OpenLdap avec seulement l'option MDB.
En ligne de commande, tout fonctionne (ajout de la racine, de users, de groups, ...)
J'ai créé les groupes naturels de Nas4Free car je me suis dit que la création de users n'était pas possible en l'absence de groupes auxquels il appartient. Mais cela n'a rien changé.
J"arrive à la même conclusion que toi avec le même message au niveau de l'index.
Mais en ligne de commandes, ça marche.
Alors j'ai fait des recherches sur les schémas et je pense qu'il faut créer un schéma de type NIS : Configuring OpenLDAP as a replacement for NIS
car effectivement le service Ldap est plutôt fait pour un environnement en entreprise où il existe déjà la base Ldap normalisée.
Sans doute que le service Ldap a été implémenté dans Nas4Free dans cet esprit. Et puis il faut bien un schéma normalisé connu de tous pour que le service client Ldap de Nas4Free soit utilisable par tous.
slapd.conf :

Code: Select all

#	Other DSEs:
#		Allow self write access
#		Allow authenticated users read access
#		Allow anonymous users to authenticate
#	Directives needed to implement policy:
# access to dn.base="" by * read
# access to dn.base="cn=Subschema" by * read
# access to *
#	by self write
#	by users read
#	by anonymous auth
#
# if no access controls are present, the default policy
# allows anyone and everyone to read anything but restricts
# updates to rootdn.  (e.g., "access to * by * read")
#
# rootdn can always read and write EVERYTHING!

#######################################################################
# backend database definitions
#######################################################################

database	mdb
maxsize		1073741824
suffix		"dc=famille,dc=local"
rootdn		"cn=rootpw,dc=famille,dc=local"
# Cleartext passwords, especially for the rootdn, should
# be avoid.  See slappasswd(8) and slapd.conf(5) for details.
# Use of strong authentication encouraged.
rootpw		secret
# The database directory MUST exist prior to running slapd AND 
# should only be accessible by the slapd and slap tools.
# Mode 700 recommended.
directory	/var/db/openldap-data
# Indices to maintain
index	objectClass  eq
index   dc,ou,cn     eq,sub
ldap.conf :

Code: Select all

#
# LDAP Defaults
#

# See ldap.conf(5) for details
# This file should be world readable but not world writable.

BASE    dc=famille,dc=local
URI     ldap://192.168.0.62

#SIZELIMIT      12
#TIMELIMIT      15
#DEREF          never
init.ldif :

Code: Select all

## Creation du noeud racine
dn: dc=famille,dc=local
dc: famille
objectClass: dcObject
objectClass: organizationalUnit
ou: famille point local

## Creation de l'OU users
dn: ou=users,dc=famille,dc=local
ou: users
objectClass: organizationalUnit

## Creation de l'OU groups
dn: ou=groups,dc=famille,dc=local
ou: groups
objectClass: organizationalUnit

## Creation de l'OU password
dn: ou=password,dc=famille,dc=local
ou: password
objectClass: organizationalUnit

## Creation de l'OU computers
dn: ou=computers,dc=famille,dc=local
ou: computers
objectClass: organizationalUnit
users.ldif :

Code: Select all

## Creation user su
dn: cn=su,ou=users,dc=famille,dc=local
cn: su
uid: 1004
uidNumber: 1004
gidNumber: 0
objectclass: posixAccount
groups.ldif :

Code: Select all

## Creation group admin
dn: cn=admin,ou=groups,dc=famille,dc=local
cn: admin
gidNumber: 1000
description: groupe admin
objectclass: posixGroup

## Creation group audit
dn: cn=audit,ou=groups,dc=famille,dc=local
cn: audit
gidNumber: 77
description: groupe audit
objectclass: posixGroup

## Creation group authpf
dn: cn=authpf,ou=groups,dc=famille,dc=local
cn: authpf
gidNumber: 63
description: groupe authpf
objectclass: posixGroup

## Creation group bin
dn: cn=bin,ou=groups,dc=famille,dc=local
cn: bin
gidNumber: 7
description: groupe bin
objectclass: posixGroup

## Creation group bind
dn: cn=bind,ou=groups,dc=famille,dc=local
cn: bind
gidNumber: 53
description: groupe bind
objectclass: posixGroup

## Creation group daemon
dn: cn=daemon,ou=groups,dc=famille,dc=local
cn: daemon
gidNumber: 1
description: groupe daemon
objectclass: posixGroup

## Creation group dialer
dn: cn=dialer,ou=groups,dc=famille,dc=local
cn: dialer
gidNumber: 68
description: groupe dialer
objectclass: posixGroup

## Creation group ftp
dn: cn=ftp,ou=groups,dc=famille,dc=local
cn: ftp
gidNumber: 50
description: groupe ftp
objectclass: posixGroup

## Creation group games
dn: cn=games,ou=groups,dc=famille,dc=local
cn: games
gidNumber: 13
description: groupe games
objectclass: posixGroup

## Creation group guest
dn: cn=guest,ou=groups,dc=famille,dc=local
cn: guest
gidNumber: 31
description: groupe guest
objectclass: posixGroup

## Creation group hast
dn: cn=hast,ou=groups,dc=famille,dc=local
cn: hast
gidNumber: 845
description: groupe hast
objectclass: posixGroup

## Creation group kmem
dn: cn=kmem,ou=groups,dc=famille,dc=local
cn: kmem
gidNumber: 2
description: groupe kmem
objectclass: posixGroup

## Creation group mail
dn: cn=mail,ou=groups,dc=famille,dc=local
cn: mail
gidNumber: 6
description: groupe mail
objectclass: posixGroup

## Creation group mailnull
dn: cn=mailnull,ou=groups,dc=famille,dc=local
cn: mailnull
gidNumber: 26
description: groupe mailnull
objectclass: posixGroup

## Creation group man
dn: cn=man,ou=groups,dc=famille,dc=local
cn: man
gidNumber: 9
description: groupe man
objectclass: posixGroup

## Creation group network
dn: cn=network,ou=groups,dc=famille,dc=local
cn: network
gidNumber: 69
description: groupe network
objectclass: posixGroup

## Creation group news
objectclass: posixGroup

## Creation group nobody
dn: cn=nobody,ou=groups,dc=famille,dc=local
cn: nobody
gidNumber: 65534
description: groupe nobody
objectclass: posixGroup

## Creation group nogroup
dn: cn=nogroup,ou=groups,dc=famille,dc=local
cn: nogroup
gidNumber: 65533
description: groupe nogroup
objectclass: posixGroup

## Creation group operator
dn: cn=operator,ou=groups,dc=famille,dc=local
cn: operator
gidNumber: 5
description: groupe operator
objectclass: posixGroup

## Creation group proxy
dn: cn=proxy,ou=groups,dc=famille,dc=local
cn: proxy
gidNumber: 62
description: groupe proxy
objectclass: posixGroup

## Creation group smmsp
dn: cn=smmsp,ou=groups,dc=famille,dc=local
cn: smmsp
gidNumber: 25
description: groupe smmsp
objectclass: posixGroup

## Creation group sshd
objectclass: posixGroup

## Creation group staff
dn: cn=staff,ou=groups,dc=famille,dc=local
cn: staff
gidNumber: 20
description: groupe staff
objectclass: posixGroup

## Creation group sys
dn: cn=sys,ou=groups,dc=famille,dc=local
cn: sys
gidNumber: 3
description: groupe sys
objectclass: posixGroup

## Creation group transmission
dn: cn=transmission,ou=groups,dc=famille,dc=local
cn: transmission
gidNumber: 999
description: groupe transmission
objectclass: posixGroup

## Creation group tty
dn: cn=tty,ou=groups,dc=famille,dc=local
cn: tty
gidNumber: 4
description: groupe tty
objectclass: posixGroup

## Creation group uucp
dn: cn=uucp,ou=groups,dc=famille,dc=local
cn: uucp
gidNumber: 66
description: groupe uucp
objectclass: posixGroup

## Creation group wheel
dn: cn=wheel,ou=groups,dc=famille,dc=local
cn: wheel
gidNumber: 0
description: groupe wheel
objectclass: posixGroup

## Creation group www
dn: cn=www,ou=groups,dc=famille,dc=local
cn: www
gidNumber: 80
description: groupe www
objectclass: posixGroup

## Creation group grp-famille
dn: cn=grp-famille,ou=groups,dc=famille,dc=local
cn: grp-famille
gidNumber: 1111
description: groupe grp-famille
objectclass: posixGroup
Je vais donc travailler dans le sens d'implémenter une base NIS.

Cordialement.

Re: Serveur OpenLDAP Nas4Free

Posted: 02 Jan 2015 11:34
by laster13
Bonjour,

Une question que je me pose concernant le fichier ldap.conf qui se trouve dans le dossier "/usr/local/etc/openldap". Ce fichier correspond au client c'est à dire l'équivalent du client de Nas4free, dont le fichier ldap.conf est hors de la jail à cet endroit "/var/etc"

Je vois que tu le configures ainsi:

Code: Select all

#
# LDAP Defaults
#

# See ldap.conf(5) for details
# This file should be world readable but not world writable.

BASE    dc=famille,dc=local
URI     ldap://192.168.0.62

#SIZELIMIT      12
#TIMELIMIT      15
#DEREF          never
Hors le fichier ldap.conf dans /etc/var est bien sur différent puisqu'il renferme les paramètres de configuration tel qu'on les a définis dans l'interface de Nas4free c'est à dire pour moi:

Code: Select all

uri ldap://192.168.0.106
base dc=famille,dc=local
rootbinddn cn=admin,dc=famille,dc=local
nss_base_passwd ou=Users,dc=famille,dc=local?one
nss_base_group ou=Groups,dc=famille,dc=local?one
pam_password clear
ldap_version 3
timelimit 30
bind_timelimit 30
bind_policy soft
pam_ldap_attribute uid
Mon raisonnement a été le suivant mais bon je t'avoue que c'est alambiqué :oops:

J'ai modifié le fichier ldap qui se trouve dans "/etc/rc.d/" hors de la jail et j'ai remplacé le chemin de sauvegarde des fichiers "ldap.conf" et "ldap.secret" en faisant en sorte que lorsque tu sauvegardes tes paramètres dans l interface webui nas4free, ces fichiers se sauvegardent à cet endroit "/mnt/pool1/Jail/openldap/usr/local/etc/openldap", ce qu'ils font sans problèmes.

Regarde le fichier "ladp" que j'ai modifié dans /etc/rc.d/

Code: Select all

#!/bin/sh
#
# Part of NAS4Free (http://www.nas4free.org).
# Copyright (c) 2012-2014 The NAS4Free Project <info@nas4free.org>.
# All rights reserved.
#
# Portions of freenas (http://www.freenas.org).
# Copyright (c) 2005-2011 Olivier Cochard-Labbe <olivier@freenas.org>.
# All rights reserved.
#

# PROVIDE: ldap
# REQUIRE: var
# BEFORE: NETWORK

#
# Configure LDAP modules
#

. /etc/rc.subr
. /etc/configxml.subr

name="ldap"

load_rc_config "${name}"

# Defaults
ldap_config=${ldap_config:-"/mnt/pool1/Jail/openldap/usr/local/etc/openldap/ldap.conf"}
ldap_secret=${ldap_secret:-"/mnt/pool1/Jail/openldap/usr/local/etc/openldap/ldap.secret"}

# Clear existing file
/bin/cat /dev/null > ${ldap_config}
/bin/cat /dev/null > ${ldap_secret}

# Create /mnt/pool1/Jail/openldap/usr/local/etc/openldap/ldap.conf and /mnt/pool1/Jail/openldap/usr/local/etc/openldapldap.secret
if configxml_isset //ldap/enable; then
	echo "Generating ldap.conf."
	/usr/local/bin/xml sel -t -m "//ldap" \
		-v "concat('uri ',hostname)" -n \
		-v "concat('base ',base)" -n \
		-i "count(anonymousbind) = 0" \
			-v "concat('binddn ',binddn)" -n \
			-v "concat('bindpw ',bindpw)" -n \
		-b \
		-v "concat('rootbinddn ',rootbinddn)" -n \
		-i "string-length(password_suffix) > 0" -v "concat('nss_base_passwd ',password_suffix,',',base,'?one')" -n -b \
		-i "string-length(group_suffix) > 0" -v "concat('nss_base_group ',group_suffix,',',base,'?one')" -n -b \
		-v "concat('pam_password ',pam_password)" -n \
		-m "auxparam" -v "." -n -b \
		${configxml_file} | /usr/local/bin/xml unesc > ${ldap_config}

	echo "Generating ldap.secret."
	/usr/local/bin/xml sel -t -m "//ldap" \
		-v "rootbindpw" \
		${configxml_file} | /usr/local/bin/xml unesc > ${ldap_secret}

	/bin/chmod 0600 ${ldap_secret}
fi
J'ai par ailleurs "simplement" crée la racine dans la base:

base.ldif

Code: Select all

dn: dc=famille,dc=local
objectclass: dcObject
objectclass: organization
o: famille
dc: famille

dn: cn=admin,dc=famille,dc=local
objectclass: organizationalRole
cn: admin
Je lance slapd et je fais un ldapsearch

et voici le log que j'ai et qui pour moi se rapproche un peu plus de ce qu'on pourrait attendre

Code: Select all

54a66f3a slapd starting
54a66f42 slap_listener_activate(6):
54a66f42 >>> slap_listener(ldap://192.168.0.106/)
54a66f42 connection_get(11): got connid=1000
54a66f42 connection_read(11): checking for input on id=1000
ber_get_next
ber_get_next: tag 0x30 len 12 contents:
54a66f42 op tag 0x60, time 1420193602
ber_get_next
54a66f42 conn=1000 op=0 do_bind
ber_scanf fmt ({imt) ber:
ber_scanf fmt (m}) ber:
54a66f42 >>> dnPrettyNormal: <>
54a66f42 <<< dnPrettyNormal: <>, <>
54a66f42 do_bind: version=3 dn="" method=128
54a66f42 send_ldap_result: conn=1000 op=0 p=3
54a66f42 send_ldap_response: msgid=1 tag=97 err=0
ber_flush2: 14 bytes to sd 11
54a66f42 do_bind: v3 anonymous bind
54a66f42 connection_get(11): got connid=1000
54a66f42 connection_read(11): checking for input on id=1000
ber_get_next
ber_get_next: tag 0x30 len 56 contents:
54a66f42 op tag 0x63, time 1420193602
ber_get_next
54a66f42 conn=1000 op=1 do_search
ber_scanf fmt ({miiiib) ber:
54a66f42 >>> dnPrettyNormal: <dc=famille,dc=local>
54a66f42 <<< dnPrettyNormal: <dc=famille,dc=local>, <dc=famille,dc=local>
ber_scanf fmt (m) ber:
ber_scanf fmt ({M}}) ber:
54a66f42 ==> limits_get: conn=1000 op=1 self="[anonymous]" this="dc=famille,dc=local"
54a66f42 => mdb_search
54a66f42 mdb_dn2entry("dc=famille,dc=local")
54a66f42 => mdb_dn2id("dc=famille,dc=local")
54a66f42 <= mdb_dn2id: got id=0x1
54a66f42 => mdb_entry_decode:
54a66f42 <= mdb_entry_decode
54a66f42 search_candidates: base="dc=famille,dc=local" (0x00000001) scope=2
54a66f42 => mdb_presence_candidates (objectClass)
54a66f42 mdb_search_candidates: id=-1 first=1 last=-1
54a66f42 => send_search_entry: conn 1000 dn="dc=famille,dc=local"
ber_flush2: 104 bytes to sd 11
54a66f42 <= send_search_entry: conn 1000 exit.
54a66f42 => mdb_entry_decode:
54a66f42 <= mdb_entry_decode
54a66f42 => send_search_entry: conn 1000 dn="cn=admin,dc=famille,dc=local"
ber_flush2: 91 bytes to sd 11
54a66f42 <= send_search_entry: conn 1000 exit.
54a66f42 send_ldap_result: conn=1000 op=1 p=3
54a66f42 send_ldap_response: msgid=2 tag=101 err=0
ber_flush2: 14 bytes to sd 11
54a66f42 connection_get(11): got connid=1000
54a66f42 connection_read(11): checking for input on id=1000
ber_get_next
ber_get_next: tag 0x30 len 5 contents:
54a66f42 op tag 0x42, time 1420193602
ber_get_next
54a66f42 ber_get_next on fd 11 failed errno=0 (No error: 0)
54a66f42 conn=1000 op=2 do_unbind
54a66f42 connection_close: conn=1000 sd=11

il y a toujours une erreur :twisted:

Code: Select all

ber_get_next on fd 11 failed errno=0 (No error: 0)
Mais j'ai l'impression que c'est plus cohérent quand même. Qu'en penses tu?

Enfin pour terminer si je créer un user dans nas4free et ben là il se passe rien dans le log en faisant ldapsearch rien de plus dans la base(peu être parce que je n'ai pas encore crée les entrées "User" et "Groups")

J'ai besoin de ton avis sur la question car l'utilisation du bon client est importante pour poursuivre car lorsqu'on installe openldap24-server, il installe également openldap24-client et c'est pour cette raison qu'on a un ladp.conf dans le "usr/local/etc/openldap" et dont on ne doit pas tenir compte. Est ce que je fais fausse route?

Re: Serveur OpenLDAP Nas4Free

Posted: 02 Jan 2015 11:56
by velivole18
Bonjour,

Ton analyse est très juste et très pertinente !
Effectivement, l'installation OpenLdap installe aussi le client, ce qui permet de faire entre autres les commandes en ligne.
Dans ce cas, on utilise bien les fichiers de conf. de la jails.
Tu as tout à fait raison, et je n'y avais pas pensé :cry: , pour Nas4Free, il est aussi client mais il utilise ses propres fichiers de conf. !
Sans doute en re-dirigeant Nas4Free vers l'utilisation de la base d'OpenLdap en adaptant ses fichiers de conf. et en créant un minimum de racine dans le schéma, on est pas très loin du bon fonctionnement.
Continuons ensemble dans cette voie, ce qu n'empêche pas de cogiter ensuite sur NIS.
Merci à toi.

Cordialement.

Re: Serveur OpenLDAP Nas4Free

Posted: 02 Jan 2015 14:06
by velivole18
Bonjour,

En regardant le fichier /var/etc/ldap.conf, je m'aperçois qu'il manque la définition des nœuds users et computers !!!

Code: Select all

uri ldap://192.168.0.62
base dc=famille,dc=local
binddn cn=rootpw,dc=famille,dc=local
bindpw secret
rootbinddn cn=rootpw,dc=famille,dc=local
nss_base_passwd ou=password,dc=famille,dc=local?one
nss_base_group ou=groups,dc=famille,dc=local?one
pam_password clear
ldap_version 3
timelimit 30
bind_timelimit 30
#bind_policy soft
#pam_ldap_attribute uid
Est-ce normal ???
Je vais faire des tests en linkant les fichiers de Nas4Free vers la jail (ln -s ....).
Les fichiers de Nas4Free concernant ldap sont :
  • /etc/rc.d/ldap
  • /var/etc/ldap.conf
  • /var/etc/ldap.secret
  • /usr/local/etc/ldap.conf=/var/etc/ldap.conf
  • /usr/local/etc/ldap.secret=/var/etc/ldap.secret
  • /usr/local/etc/nss_ldap.conf=/var/etc/ldap.conf
  • /usr/local/etc/nss_ldap.secret=/var/etc/ldap.secret
A plus tard.
Cordialement.

Re: Serveur OpenLDAP Nas4Free

Posted: 02 Jan 2015 14:33
by velivole18
Bonjour,

J'ai déplacé les fichiers de conf. de Nas4Free dans la jail et j'ai linké les fichiers de conf. de Nas4Free vers les fichiers présents dans la jail.
L'openLdap se lance bien et l'initialisation de la racine aussi.
Je tente de créer une nouvelle définition d'un host via le webgui de Nas4Free et je m'aperçois qu'il ne cherche absolument pas dans la branche Computers, mais il cherche dans les branches Groups et Password. Déjà, cela je ne comprends pas.
Ensuite il y a toujours les messages d'erreur de clé d'index qu'il ne trouve pas :

Code: Select all

54a69bf1 slap_listener_activate(6): 
54a69bf1 >>> slap_listener(ldap://192.168.0.62/)
54a69bf1 connection_get(10): got connid=1001
54a69bf1 connection_read(10): checking for input on id=1001
ber_get_next
ber_get_next: tag 0x30 len 47 contents:
54a69bf1 op tag 0x60, time 1420205041
ber_get_next
54a69bf1 conn=1001 op=0 do_bind
ber_scanf fmt ({imt) ber:
ber_scanf fmt (m}) ber:
54a69bf1 >>> dnPrettyNormal: <cn=rootpw,dc=famille,dc=local>
54a69bf1 <<< dnPrettyNormal: <cn=rootpw,dc=famille,dc=local>, <cn=rootpw,dc=famille,dc=local>
54a69bf1 do_bind: version=3 dn="cn=rootpw,dc=famille,dc=local" method=128
54a69bf1 do_bind: v3 bind: "cn=rootpw,dc=famille,dc=local" to "cn=rootpw,dc=famille,dc=local"
54a69bf1 send_ldap_result: conn=1001 op=0 p=3
54a69bf1 send_ldap_response: msgid=1 tag=97 err=0
ber_flush2: 14 bytes to sd 10
54a69bf1 connection_get(10): got connid=1001
54a69bf1 connection_read(10): checking for input on id=1001
ber_get_next
ber_get_next: tag 0x30 len 99 contents:
54a69bf1 op tag 0x63, time 1420205041
ber_get_next
54a69bf1 conn=1001 op=1 do_search
ber_scanf fmt ({miiiib) ber:
54a69bf1 >>> dnPrettyNormal: <ou=password,dc=famille,dc=local>
54a69bf1 <<< dnPrettyNormal: <ou=password,dc=famille,dc=local>, <ou=password,dc=famille,dc=local>
ber_scanf fmt ({mm}) ber:
ber_scanf fmt ({mm}) ber:
ber_scanf fmt ({M}}) ber:
54a69bf1 => mdb_search
54a69bf1 mdb_dn2entry("ou=password,dc=famille,dc=local")
54a69bf1 => mdb_dn2id("ou=password,dc=famille,dc=local")
54a69bf1 <= mdb_dn2id: got id=0x4
54a69bf1 => mdb_entry_decode:
54a69bf1 <= mdb_entry_decode
54a69bf1 search_candidates: base="ou=password,dc=famille,dc=local" (0x00000004) scope=1
54a69bf1 => mdb_equality_candidates (objectClass)
54a69bf1 => key_read
54a69bf1 <= mdb_index_read: failed (-30798)
54a69bf1 <= mdb_equality_candidates: id=0, first=0, last=0
54a69bf1 => mdb_equality_candidates (objectClass)
54a69bf1 => key_read
54a69bf1 <= mdb_index_read: failed (-30798)
54a69bf1 <= mdb_equality_candidates: id=0, first=0, last=0
54a69bf1 mdb_search_candidates: id=0 first=0 last=0
54a69bf1 mdb_search: no candidates
54a69bf1 send_ldap_result: conn=1001 op=1 p=3
54a69bf1 send_ldap_response: msgid=2 tag=101 err=0
ber_flush2: 14 bytes to sd 10
54a69bf1 connection_get(10): got connid=1001
54a69bf1 connection_read(10): checking for input on id=1001
ber_get_next
ber_get_next: tag 0x30 len 150 contents:
54a69bf1 op tag 0x63, time 1420205041
ber_get_next
54a69bf1 conn=1001 op=2 do_search
ber_scanf fmt ({miiiib) ber:
54a69bf1 >>> dnPrettyNormal: <ou=groups,dc=famille,dc=local>
54a69bf1 <<< dnPrettyNormal: <ou=groups,dc=famille,dc=local>, <ou=groups,dc=famille,dc=local>
ber_scanf fmt ({mm}) ber:
ber_scanf fmt ({mm}) ber:
ber_scanf fmt ({M}}) ber:
54a69bf1 => get_ctrls
ber_scanf fmt ({m) ber:
ber_scanf fmt (m) ber:
54a69bf1 => get_ctrls: oid="1.2.840.113556.1.4.319" (noncritical)
ber_scanf fmt ({im}) ber:
54a69bf1 <= get_ctrls: n=1 rc=0 err=""
54a69bf1 => mdb_search
54a69bf1 mdb_dn2entry("ou=groups,dc=famille,dc=local")
54a69bf1 => mdb_dn2id("ou=groups,dc=famille,dc=local")
54a69bf1 <= mdb_dn2id: got id=0x3
54a69bf1 => mdb_entry_decode:
54a69bf1 <= mdb_entry_decode
54a69bf1 search_candidates: base="ou=groups,dc=famille,dc=local" (0x00000003) scope=1
54a69bf1 => mdb_equality_candidates (objectClass)
54a69bf1 => key_read
54a69bf1 <= mdb_index_read: failed (-30798)
54a69bf1 <= mdb_equality_candidates: id=0, first=0, last=0
54a69bf1 => mdb_equality_candidates (objectClass)
54a69bf1 => key_read
54a69bf1 <= mdb_index_read: failed (-30798)
54a69bf1 <= mdb_equality_candidates: id=0, first=0, last=0
54a69bf1 mdb_search_candidates: id=0 first=0 last=0
54a69bf1 mdb_search: no candidates
54a69bf1 send_ldap_result: conn=1001 op=2 p=3
54a69bf1 send_ldap_response: msgid=3 tag=101 err=0
ber_flush2: 51 bytes to sd 10
54a69bf1 connection_get(10): got connid=1001
54a69bf1 connection_read(10): checking for input on id=1001
ber_get_next
ber_get_next: tag 0x30 len 99 contents:
54a69bf1 op tag 0x63, time 1420205041
ber_get_next
54a69bf1 conn=1001 op=3 do_search
ber_scanf fmt ({miiiib) ber:
54a69bf1 >>> dnPrettyNormal: <ou=password,dc=famille,dc=local>
54a69bf1 <<< dnPrettyNormal: <ou=password,dc=famille,dc=local>, <ou=password,dc=famille,dc=local>
ber_scanf fmt ({mm}) ber:
ber_scanf fmt ({mm}) ber:
ber_scanf fmt ({M}}) ber:
54a69bf1 => mdb_search
54a69bf1 mdb_dn2entry("ou=password,dc=famille,dc=local")
54a69bf1 => mdb_dn2id("ou=password,dc=famille,dc=local")
54a69bf1 <= mdb_dn2id: got id=0x4
54a69bf1 => mdb_entry_decode:
54a69bf1 <= mdb_entry_decode
54a69bf1 search_candidates: base="ou=password,dc=famille,dc=local" (0x00000004) scope=1
54a69bf1 => mdb_equality_candidates (objectClass)
54a69bf1 => key_read
54a69bf1 <= mdb_index_read: failed (-30798)
54a69bf1 <= mdb_equality_candidates: id=0, first=0, last=0
54a69bf1 => mdb_equality_candidates (objectClass)
54a69bf1 => key_read
54a69bf1 <= mdb_index_read: failed (-30798)
54a69bf1 <= mdb_equality_candidates: id=0, first=0, last=0
54a69bf1 mdb_search_candidates: id=0 first=0 last=0
54a69bf1 mdb_search: no candidates
54a69bf1 send_ldap_result: conn=1001 op=3 p=3
54a69bf1 send_ldap_response: msgid=4 tag=101 err=0
ber_flush2: 14 bytes to sd 10
54a69bf1 connection_get(10): got connid=1001
54a69bf1 connection_read(10): checking for input on id=1001
ber_get_next
ber_get_next: tag 0x30 len 150 contents:
54a69bf1 op tag 0x63, time 1420205041
ber_get_next
54a69bf1 conn=1001 op=4 do_search
ber_scanf fmt ({miiiib) ber:
54a69bf1 >>> dnPrettyNormal: <ou=groups,dc=famille,dc=local>
54a69bf1 <<< dnPrettyNormal: <ou=groups,dc=famille,dc=local>, <ou=groups,dc=famille,dc=local>
ber_scanf fmt ({mm}) ber:
ber_scanf fmt ({mm}) ber:
ber_scanf fmt ({M}}) ber:
54a69bf1 => get_ctrls
ber_scanf fmt ({m) ber:
ber_scanf fmt (m) ber:
54a69bf1 => get_ctrls: oid="1.2.840.113556.1.4.319" (noncritical)
ber_scanf fmt ({im}) ber:
54a69bf1 <= get_ctrls: n=1 rc=0 err=""
54a69bf1 => mdb_search
54a69bf1 mdb_dn2entry("ou=groups,dc=famille,dc=local")
54a69bf1 => mdb_dn2id("ou=groups,dc=famille,dc=local")
54a69bf1 <= mdb_dn2id: got id=0x3
54a69bf1 => mdb_entry_decode:
54a69bf1 <= mdb_entry_decode
54a69bf1 search_candidates: base="ou=groups,dc=famille,dc=local" (0x00000003) scope=1
54a69bf1 => mdb_equality_candidates (objectClass)
54a69bf1 => key_read
54a69bf1 <= mdb_index_read: failed (-30798)
54a69bf1 <= mdb_equality_candidates: id=0, first=0, last=0
54a69bf1 => mdb_equality_candidates (objectClass)
54a69bf1 => key_read
54a69bf1 <= mdb_index_read: failed (-30798)
54a69bf1 <= mdb_equality_candidates: id=0, first=0, last=0
54a69bf1 mdb_search_candidates: id=0 first=0 last=0
54a69bf1 mdb_search: no candidates
54a69bf1 send_ldap_result: conn=1001 op=4 p=3
54a69bf1 send_ldap_response: msgid=5 tag=101 err=0
ber_flush2: 51 bytes to sd 10
Je vais poster cela sur le forum anglais ...
Ah, au fait, on peut trouver les définition des principaux schema Ldap ici : Appendix E: LDAP - Object Classes and Attributes

Cordialement.

Re: Serveur OpenLDAP Nas4Free

Posted: 02 Jan 2015 15:09
by velivole18
Bonjour,

Je lis dans la page Configuring OpenLDAP as a replacement for NIS sur NIS ceci, après avoir lu ce que nous connaissons déjà sur la 1ère moitié de l'article, dans la partie "Replace NIS with LDAP" :

Install the pam_ldap and nss_ldap modules
These modules are necessary if you want to have the capability of authenticating users via LDAP in addition to local passwd and group files ...

Et je vois juste dessous des lignes qui ressemblent à ce qu'il y a dans ldap.conf de Nas4Free :
nss_base_passwd ou=People,dc=myldap,dc=com?one
nss_base_shadow ou=People,dc=myldap,dc=com?one
nss_base_group ou=Group,dc=myldap,dc=com?one

Ne serait-point là ce qui nous manque ?
Est-ce que pam_ldap et nss_ldap sont des options à la compil d'OpenLdap ? Je ne me souviens pas ...
Si je dois encore re-compiler, c'est encore parti pour 3 heures d'attente devant l'écran ... :cry:
Mais c'est là une bonne piste qui je pense à un lien fort avec la capacité à rechercher les bonnes clés en base Ldap.

A+
Cordialement.

Re: Serveur OpenLDAP Nas4Free

Posted: 02 Jan 2015 16:44
by velivole18
Bonjour,

Je pense qu'il faut installer "pam_ldap-1.8.6_2" car il y a un paramètre dans ldap.conf concernant pam et aussi "nss_ldap-1.265_8" car il y a des lignes nss dans ldap.conf.

Cordialement.