Forum Linux.débutant OpenLDAP 2.4: configuration! C'est quoi ce délire?

Posté par .
6
8
mar.
2011

Salut à tous.

Je suis un routard de GNU/Linux depuis 2004 et là, j'avoue, je me sens comme un débutant, d'où la raison de mon message ici. J'ai installé OpenLDAP la première fois en 2007 (si j'ai bonne mémoire) sous Debian. C'était le pied.

Mais, après mise à niveau vers la version 2.4, j'ai eu la désagréable surprise de voir le répertoire de configuration complètement... comment dire... transformé. (Pour rester poli[tiquement correct]!)

Avant, c'était plus ou moins clair: un bon petit fichier de config, tu ajoutes les ACL en clair, tu ajoutes une DB si tu veux. Enfin, bref un bon petit fichier texte. Clair.

Maintenant, avec la manière dont c'est organisé, j'ai peur de triturer une config que j'ai créée moi-même! Tu m'étonnes!

dn: cn=module{0}
objectClass: olcModuleList
cn: module{0}
olcModulePath: /usr/lib/ldap
olcModuleLoad: {0}back_hdb
structuralObjectClass: olcModuleList
entryUUID: ab8673ec-d185-102f-8b3d-279d74d4ef26
creatorsName: cn=config
createTimestamp: 20110220213941Z
entryCSN: 20110220213941.896882Z#000000#000#000000
modifiersName: cn=config
modifyTimestamp: 20110220213941Z
...

C'est clair, ça, peut-être? 8-/

dn: olcDatabase={-1}frontend
objectClass: olcDatabaseConfig
objectClass: olcFrontendConfig
olcDatabase: {-1}frontend
olcAccess: {0}to * by dn.exact=gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth manage by * break
olcAccess: {1}to dn.exact="" by * read
olcAccess: {2}to dn.base="cn=Subschema" by * read
olcAccess: {0}to dn.subtree="dc=mondomaine,dc=be"  attrs=userPassword,shadowLastCh
 ange  by dn.base="cn=admin,ou=administrators,dc=mondomaine,dc=be" peername.ip="19
 2.168.21.0%255.255.255.192" write  by dn.base="cn=admin,ou=administrators,dc=
 mondomaine,dc=be" peername.ip="127.0.0.1" write  by dn.base="cn=admin,ou=administ
 rators,dc=mondomaine,dc=be" ssf=56 write  by self peername.ip="192.168.21.0%255.2
 55.255.192" write  by self peername.ip="127.0.0.1" write  by self ssf=56 writ
 e  by anonymous peername.ip="192.168.21.0%255.255.255.192" auth  by anonymous
 bla bla bla [beurk]

C'est quoi ce bigntz? (Ça doit être de la bonne mais elle me donne pas vraiment envie de la fumer!) Était-ce vraiment nécessaire un changement pareil? Surtout pour un logiciel incontournable comme OpenLDAP... Franchement, la config a plus rien d'Open. Je préfère encore XML, tiens... Le côté obscur, sans doute.

Je prenais mon pied quand mes potes avaient besoin d'un éditeur (en mode graphique, bien entendu) pour pouvoir taper leur prose alors que, pour moi, un simple éditeur en mode texte sur un TTY était suffisant pour me débrouiller. Là, je la ramène beaucoup moins, si vous voyez ce que je veux dire.

Au mieux, cette nouvelle... «syntaxe» est à vomir. Quelle est l'argumentation qui a permis d'en arriver là? Je suis curieux. Je ne dois sans doute pas être le seul à détester ça donc j'imagine que si c'est passé, c'est qu'il y a plus de pour que de contre. Alors dans ce cas, je ne demande qu'à changer d'avis.

'Pourriez m'éclairer, siouplé?

Merci d'avance.

  • # Me voici rassuré

    Posté par (page perso) . Évalué à 2.

    Récemment pour configurer une grappe de calcul j'ai souhaité me mettre à openldap. Et j'avoue que j'ai encore beaucoup de mal. Apparemment, je ne suis pas seul à trouver cette syntaxe complexe.

    • [^] # Re: Me voici rassuré

      Posté par . Évalué à 2.

      Pas le seul, non. La question c'est "à quoi ça sert?" J'imagine qu'il existe un outil pour modifier la configuration, dans ce cas? On doit quand-même pas tout se taper à la main? (J'espère.)

      Visiblement, l'ancienne méthode de configuration avec slapd.conf reste valable. C'est juste la mise à niveau effectuée par aptitude/debconf (je présume) qui a converti ça tout seul. À première vue c'est saisissant. À la seconde aussi, d'ailleurs :D . Mais le fichier de configuration n'est pas prioritaire sur les répertoires de conf'.

  • # Intérêt : configuration accessible dans l'annuaire lui-même

    Posté par . Évalué à 7.

    La migration est, en principe, pilotée directement par OpenLDAP au premier démarrage de la nouvelle version.

    L'intérêt est que la configuration se trouve désormais dans l'annuaire lui-même dans une branche cn=config dédiée et du coup, modifiable à chaud avec un simple client LDAP ayant les bons droits.

    En principe, il est toujours possible de conserver l'ancien format de fichier de configuration via un paramètre dans le fichier slapd.conf.

    Maintenant, comme dans tout changement majeur, il y'aura des heureux et des déçus ...

    Si vous n'aimez pas ce commentaire c'est qu'il est ironique.

    • [^] # Re: Intérêt : configuration accessible dans l'annuaire lui-même

      Posté par . Évalué à 1.

      Merci pour tes éclaircissements, Ymage.

      Ça a l'air pratique, en effet, de pouvoir accéder à la configuration depuis l'annuaire lui-même. Mais n'est-ce pas là une manière encore plus facile de se tirer une balle dans le pied en cas d'erreur de configuration... disons sur les ACLs? Au moins avant, ce genre d'erreur ne demandait qu'une légère modification du fichier de configuration et un redémarrage du service. Dans ce cas-ci, ce cas de figure est-il prévu?

      Ce qui m'ennuie le plus ici est qu'il n'est plus possible (ou fortement inconfortable) de modifier la conf depuis le fichier texte. Même si j'avoue que la migration apporte un énorme avantage en rendant cette configuration dynamique. Peut-on récupérer un fichier de configuration texte à partir de la config dynamique? (Vu que le contraire est automatique.)

  • # T'éclairer non

    Posté par . Évalué à 3.

    Juste te dire que je considère aussi que LDAP est vraiment mal fichu.

    Au début, je pensais que c'était moi qui ne faisais pas suffisamment d'effort, puis au bout du n-ième tutorial sur le web mal fichu et incompréhensible j'ai réalisé que c'est plutôt la technologie sous-jacente qui a du être conçu par un comité ayant trop fumé la moquette --> beurk!

    • [^] # Re: T'éclairer non

      Posté par (page perso) . Évalué à 4.

      LDAP a été conçu par un comité qui a simplifié une norme existante encore plus lourde, X500.
      Et X500 a été elle-même conçue pour répondre à certains besoins.

      Peut-être que LDAP n'est pas la solution à tes propres besoins. Une personne qui veut simplement gérer un carnet d'adresses ou quelques comptes n'a pas les mêmes besoins qu'une entreprise internationale multi-sites qui fait de l'authentification et gère d'autres informations via son annuaire d'entreprise.

      OpenLDAP essaie d'être dans la norme, avec toutes ses possibilités... et sa lourdeur. Peut-être manque-t-il un LDAP-light, qui permette de gérer simplement un carnet d'adresses ou quelques comptes en y donnant accès via LDAP.

      Python 3 - Apprendre à programmer en Python avec PyZo et Jupyter Notebook → https://www.dunod.com/sciences-techniques/python-3

  • # A tester

    Posté par . Évalué à 1.

    Pour retrouver l'ancienne configuration d'OpenLDAP, essayez d'ajouter la ligne suivante dans le fichier /etc/default/slapd :

    SLAPD_CONF="/etc/ldap/slapd.conf"

  • # Comment bien faire maintenant ?

    Posté par (page perso) . Évalué à 1.

    La question que je me pose (tout comme toi) c'est: "Comment convenablement configurer son annuaire LDAP ?". Avant je faisais ça à grand coups de vi /etc/ldap/slapd.conf et éditions de schémas ... mais maintenant, je suis (un peu) perdu.

    J'imagine qu'il y a "une bonne" manière de faire puisque ce changement a été proposé. Si je lance gq, je ne retrouve pas spécialement tous mes jeunes ...

Suivre le flux des commentaires

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.