Koozali.org: home of the SME Server

Other Languages => Français => Topic started by: Geo55 on April 21, 2015, 05:07:20 PM

Title: SME9 : Ecrire dans la base LDAP en ligne de commande
Post by: Geo55 on April 21, 2015, 05:07:20 PM
Bonjour,

J'ai un SME9 tout fraîchement installé  :D
J'ai récupéré les informations dont j'avais besoin de la base de mon ancien SME7 au format LDIFF.

J'ai installé PHPMyLdapAdmin sur SME9 depuis l'article "http://wiki.contribs.org/Phpldapadmin#tab=For_SME9".  8-)
Pour que l'utilisateur "admin" puisse y écrire, j'ai effectué les commandes suivantes :

     db configuration setprop phpldapadmin kamikaze enabled
     /sbin/e-smith/expand-template /etc/phpldapadmin/config.php
    config setprop phpmyadmin adminaccess enabled
    expand-template /etc/phpMyAdmin/config.inc.php
    expand-template /etc/httpd/conf/httpd.conf
    service httpd-e-smith restart


Je souhaiterais pouvoir peupler ma base en ligne de commande via 'ldapadd' mais sans succès après plusieurs essais.
Je pense que j'utilise très mal le paramètre binddn car j'ai toujours les messages "ldap_bind: Invalid DN syntax (34)" ou "ldap_bind: Invalid credentials (49)".

     ldapadd -x -c -D "cn=admin,dc=mydomain,dc=com" -w mypassword -f sauvegarde.ldif
     ldapadd -x -c -D "cn=admin" -w mypassword -f sauvegarde.ldif
     ldapadd -x -c -D "admin" -w mypassword -f sauvegarde.ldif
     ldapadd -x -c -D "cn=root,dc=mydomain,dc=com" -w mypassword -f sauvegarde.ldif
     ...

Quel est la bonne syntaxe avec SME9 pour injecter ma sauvegarde via la commande 'ldapadd' ?  :-?

Je vous explique pourquoi je passe en ligne de commande : le peuplement de la base LDAP avec "phpldapadmin" empêche que le rajout des entrées dont l'adresse mail est déjà présente en base; l'utilisation directe de la commande 'ldapadd' me permettait de rajouter ces entrées rejetées par "phpldapadmin".

Question subsidiaire : peut-on utiliser un autre compte que 'admin' pour accéder à la base LDAP en lecteur ou en écriture avec SME9 ?


Merci pour votre attention.


Title: Re: SME9 : Ecrire dans la base LDAP en ligne de commande
Post by: Daniel B. on April 21, 2015, 05:18:44 PM
L'accès en écriture à la base n'est possible qu'avec le compte root LDAP, dont le DN est cn=root,dc=domain,dc=tld (domaine à ajuster) et le mot de passe est dispo dans le fichier /etc/openldap/ldap.pw

J'ai pas vraiment compris le but de la manœuvre, mais l'écriture dans la base LDAP est à faire avec précaution: de nombreux attributs seront réinitialisés à leur valeur par défaut sur certains évènements (post-upgrade, user-modify etc...)
Title: Re: SME9 : Ecrire dans la base LDAP en ligne de commande
Post by: Geo55 on April 21, 2015, 05:43:57 PM
Bonjour Daniel,

Super  :-P !!!
Merci beaucoup et ça a marché parfaitement via le root et le bon pwd !
Donc plus besoin du mode kamikaze.
Mon LDIF ne fait que rajouter des branches sans toucher aux existantes (Groups, Users,...)...

Par contre, un autre compte autre que 'root' ne peut pas écrire dans la base  :(
Ça va être ma prochaine problématique...

En tout cas, merci encore.
Title: Re: SME9 : Ecrire dans la base LDAP en ligne de commande
Post by: Daniel B. on April 21, 2015, 05:48:15 PM
Ok, l'ajout de branches devrait pas poser de problème. À bien tester avant une mise en production quand même (à essayer notamment: le changement de nom de domaine, qui doit toucher à la base LDAP, c'est une des opérations les plus délicates)

Pour ce qui est de l'écriture dans certaines branches, tout est possible, mais il va falloir ajouter des ACL spécifiques, via des templates-custom. Le fichier à modifier est /etc/openldap/slapd.conf il suffit de regarder où les ACL doivent être insérées, et de créer des templates correspondant dans /etc/e-smith/templates-custom/etc/openldap/slapd.conf (répertoire à créer)
Title: Re: SME9 : Ecrire dans la base LDAP en ligne de commande
Post by: Geo55 on April 23, 2015, 02:39:26 PM
Merci pour toutes ces informations très utiles (qui vont éviter de se poser des questions...).  :lol:

Pour faire suite à ce sujet (si c'e n'est pas un nouveau sujet), il y a une différence dans le type de cryptage du mot de passe des utilisateurs entre SME7 (version LDAP 0.9.8.4) et SME9 (version LDAP 2.4.39) : utilisation de {MD5} avec SME7 et utilisation de {CRYPT} avec SME9. Peut-on utiliser {MD5} par défaut avec SME9/LDAP ?

Merci encore.