PDC samba, openldap avec back-end SQL - réseaux et sécurité - Linux et OS Alternatifs
Marsh Posté le 30-03-2005 à 00:32:27
Salut,
Je ne suis pas sûr d'avoir bien saisi ta question ?
Tu désires mettre en place un samba/LDAP + rentrer les comptes via une interface web => http://phpldapadmin.sourceforge.net/
Je ne comprends pas pourquoi tu évoques le MySQL ??
Si tes comptes sont déjà stockés dans une bdd, tu peux toujours les extraire et les transformer au format LDIF avec le langage de script que tu préfères (e perl ca se fait très bien ;-) )
@+
Nobody
Marsh Posté le 30-03-2005 à 07:53:20
L'interface web doit être suffisament simple pour qu'une secrétaire puisse créer des comptes.
En fait je ne veux pas stocker les comptes dans une db berkeley mais dans une base mysql.
Merci beaucoup pour ton lien !
Marsh Posté le 30-03-2005 à 20:27:12
Mais alors pourquoi faire du samba/LDAP ?
Tu peux toujours les entrer dans une base MySQL et ensuite les pousser sur du LDAP !! Mais je ne pense pas qu'il existe à ce jour un produit proprio/OpenSource qui le fasse ...
Je pense que phpldapadmin, suivi d'une petite formation préalable, est assez simple d'emploi.
Pourquoi ne veux tu pas les stocker dans db berkeley ?
Marsh Posté le 30-03-2005 à 22:13:02
Je fais le projet avec un pote et on y réfléchit. La base c'est samba/openldap et j'ai trouvé plusieurs tuto interessant sur le web.
En fait selon lui il y a beaucoup de comptes à stocker et ce serait plus interessant d'utiliser mysql (c'est aussi pour en apprendre un peu plus). Il me semble que c'ets possible de le faire, sinon tant pis.
Pour phpldapadmin je l'ai essayé ce matin j'ai bien aimé ! Cependant je pense qu'on codera l'interface php nous même. Ce bout du projet est moins important, on fera une page vraiment trés légère. Il faut que la création de compte soit accessible à la secrétaire mais qu'elle ne touche à rien d'autre.
Il se peut si on a fini rapidement qu'on rajoute une partie certificats SSL. C'est possible d'intégrer ça dans un projet de ce genre ?
En tout cas merci d'avoir répondu à mon post, a+ !
Marsh Posté le 30-03-2005 à 23:22:38
Projet interressant
Combien de comptes à stocker ??
Par contre, je voudrai juste appuyer sur l'implémentation du protocole LDAP sur ce type d'architecture, il est fait pour ça !!!
MySQL va juste t'apporter un "plus" en écriture, or tu as juste un besoin en lecture.
Sinon, fais tout simplement du Samba-MySQL (backend d'authentification).
De plus, avec Samba/LDAP, tu ne stockes pas les comptes, tu vas juste y stocker des attributs, identifiants, ect ...
Il faudrait réellement en avoir beaucoup beaucoup pour pouvoir écarter le choix de LDAP et pis même, si tu en as tant que ça, tu peux toujours dédié des branches ... N'oublies pas la valeur ajoutée d'un annuaire LDAP, (SMTP, IMAP, POP3, GROUPWARE et même des imprimantes, sisi !!)
Sinon, pour 2 secrétaires (charmantes ), une fois, je leur avais fait une interface vraiment simpliste en XUL pour pouvoir administrer un postfix/LDAP, je m'étais inspiré du projet opensource posfixadmin (simple et claire).
Si ça peut te donner des idées ;-)
Bon courage.
Marsh Posté le 26-04-2005 à 12:48:21
petite remontée de topic pour expliquer où on en est.
On s'est partagé la tâche en deux avec mon pote.
Je me suis occupé de faire samba/ldap tandis que mon pote s'occupait de faire ldap avec un backend mysql. On bloque dès le départ à cause d'odbc. J'ai donc essayé de mon côté de voir ce que je pouvais faire.
Code :
|
j'ai fait un cp /usr/lib/odbc/* /usr/lib/
mon fichier /etc/odbc.ini :
Code :
|
mon fichier /etc/odbcinst.ini :
Code :
|
j'ai bien créé la base ldap dans mysql. J'ai également fait :
Code :
|
et :
Code :
|
J'ai alors voulu testé avec iodbctest et voilà ce que ça donne :
Code :
|
voilà où on en est. Si quelqu'un pouvait nous aider ce serait cool. Je reviendrai poster nos avancées (éventuelles )
Marsh Posté le 29-04-2005 à 11:45:17
Il y a eu beaucoup de changements.
On a eu quelques difficultés à utiliser iodbc (gestionnaire de drivers odbc) avec myodbc (driver odbc pour mysql) sur la sarge. Il en était de même avec postgresql (driver odbc : odbc-postgresql). J'ai essayé de le faire sur ma machine perso (sous kubuntu 5.04) en utilisant postgresql ça a marché nickel on a donc décidé de changer de distrib et de sgbdr.
voilà le détail :
Code :
|
postgresql : le sgbdr
odbc-postgresql : le driver odbc
iodbc : le gestionnaire
libiodbc2-dev : contient le fichier sql.h nécessaire à la compilation de openldap avec le support d'un back-end sql
le fichier /etc/odbc.ini doit ressembler à ça :
Code :
|
fichier /etc/odbcinst.ini :
Code :
|
On crée la base de données pg_ldap et l'utilisateur test sous l'identité postgres :
Code :
|
au prompt password on donnera le mot de passe test (ce que vous voulez, tout comme le nom d'utilisateur et le nom de la bdd, le tout étant de donner les bons paramètres dans /etc/odbc.ini)
Il serait bon d'éditer le fichier /etc/postgresql/pg_hba.conf pour gérer les accés à postgresql et les méthodes d'authentification (typiquement password = avec mot de passe, trust = sans mot de passe)
A ce stade on doit pouvoir tester la connexion odbc :
Code :
|
Si vous avez le prompt SQL c'est bon.
J'ai ensuite compiler openldap à partir des sources. http://www.openldap.org/software/download/
J'ai choisi de prendre la dernière version stable : 2.2.24
Code :
|
le fichier de conf se trouve alors ici : /usr/local/etc/openldap/slapd.conf
l'exécutable ici : /usr/local/libexec/slapd
lancer slapd avec l'option -d 1 permet d'avoir les message de debug et donc de voir les eventuel erreurs.
pour un exemple de slapd.conf et pour la suite je vous renvoie sur le tuto que j'ai suivi : http://www.samse.fr/GPL/ldap_pg/HOWTO/index.html
Pour l'option dbname du slapd.conf, il ne faut pas mettre le nom de la base de données mais le DSN.
Toutes les commandes de cette page http://www.samse.fr/GPL/ldap_pg/HOWTO/x132.html ont fonctionné sauf la dernière. Le message d'erreur m'indique qu'il faut utiliser une authentification (plus) forte. Je penche du côté de sasl. Il faudra donc changer les options utilisées au ./configure
Je sais pas quel paquet installer pour ubuntu (je préfèrerai nettement un paquet à des sources)
Je ne trouve pas de paquet cyrus-sasl ni saslauthd
Comme d'hab si vous avez des renseignements à ce niveau, je prends !
C'est tout pour l'instant
Aprés ça j'enchaine sur samba. Je cherche également des renseignements concernant l'interface php qu'on veut écrire.
Faudra-t-il passer par odbc ? ldap ? ou s'adresser directement à postgresql ? Dans ce dernier cas est-ce plus difficile que php/mysql (qu'on trouve plus couramment).
Marsh Posté le 29-04-2005 à 19:30:00
A mon avis perso (qui vaut ce qu'il vaut hein mais
j'ai quand meme un peut d'experience dans les ldap
que ce soit openldap ou iplanet) utiliser OpenLDAP
avec MySQL ce n'est pas du tout un bonne idée en terme
de performance et de possibilitée au niveau du ldap.
Remarque mon avis est partagé par l'equipe OpenLDAP: http://www.openldap.org/faq/data/cache/378.html
.
Deuxieme choses si vous continuez quand meme a utiliser OpenLDAP + MySQL, n'esperez pas pouvoir editer la base
en SQL et l'interroger en Ldap. Je vous le dit tout de
suite ca passera pas sans douleurs (notamment les index
qui vont pas aimer).
Aussi voir: http://www.openldap.org/faq/data/cache/978.html
Ldap+MySQL/PostgreSQL: http://www.flatmtn.com/computer/Linux-LDAP.html
Marsh Posté le 29-04-2005 à 20:29:44
la back-end sql c'est principalement pour que ce soit plus simple pour nous avec php. Je connais trés mal ldap (c'est peu dire, en fait je découvre). Si on abandonne le back-end postgresql on utilisera une Berkeley DB alors je suppose ? Sais-tu si c'est difficile d'interroger la base avec php ?
Si c'est pas beaucoup plus difficile, ça vaudra sûrement plus le coût de revenir à un fonctionnement classique. D'autant qu'on pourra certainement utiliser directement les paquets et pas les sources. Merci pour ton post en tout cas.
Marsh Posté le 29-04-2005 à 23:58:27
Plus simple ?
A moins avis ca va etre beaucoup plus compliquer de comprendre comment OpenLDAP stocke ses données dans la base SQL (et de les reformer) que de comprendre comment faire une requete ldap en php
Note il faut abandonner l'idee d'interroger le backend directement vous détruirez l'integritée de l'annuaire
et ses index.
Et le plus compliqué dans OpenLDAP c'est pas les requetes
de lecture ou ecriture en ldap mais bien la creation
des accesslist en OpenLDAP
A priori le ldap en php c'est pas compliqué:
http://fr.php.net/ldap
Marsh Posté le 02-05-2005 à 09:23:00
On y a réflechi un peu. On utilisera pas l'annuaire directement via SQL ça semble évident maintenant. On s'en servira directement avec des requêtes LDAP (grand merci pour le dernier lien c'est exactement ce que je cherchais). Maintenant qu'est-ce que ça change d'utiliser un back-end SQL ou BDB ? On l'interroge de la même façon, c'est l'annuaire qui se charge de la communication avec son back-end non ?
Marsh Posté le 29-03-2005 à 19:24:39
Bonjour,
J'ai un projet à mettre en place sur un serveur debian (sarge). Il faudrait, via une interface PHP, pouvoir créer des comptes utilisateurs pour un domaine samba + openldap, les comptes étant sauvegardés dans une base mysql. Je recherche un peu de doc sur le sujet. Si vous avez déjà fait ce genre de chose ou que vous avez des liens interessants n'hésitez pas ! En vous remerciant d'avance.
EDIT : changements
distribution : ubuntu 5.04
sgbdr : postgresql
Message édité par phoenix-dark le 29-04-2005 à 10:54:49
---------------
Pingouins dans les champs, hiver méchant.