Installation d'ubuntu, quatrième étape: installation et configuration d'un annuaire LDAP
Par Iceman, lundi 11 septembre 2006 à 11:01 :: Nerdzage :: #41 :: rss
Tout ceci n'est plus très frais dans ma mémoire vu que je m'y prends vraiment tard pour blogguer ceci. La configuration d'un annuaire LDAP n'a pas été une sinecure...
Le tuto qui m'a le plus aidé est celui-ci. Celui-ci ayant aussi été une inspiration.
Mais il faut bien avouer que tels quels, aucun de ces deux tutos ne fonctionnent... Il faut chipoter, et parfois faire des concessions. Mon fichier de config LDAP n'est donc pas aussi clean que ceux que l'on peut trouver dans ces deux tutos, les permissions des différentes "tables" (qui sont en fait des 'ou') ne sont pas si claires et il est parfois nécessaire de donner aux utilisateurs plus de permissions qu'on aurait voulu pour que ça fonctionne. Pour ma part, j'y ai vraiment été à la bourrin, et une fois que j'ai vu que certains trucs dégueus marchaient, je m'en suis plus ou moins satifait.
Voici donc mon fichier de config /etc/ldap/slapd.conf
, débarassé de ses commentaires pour le rendre plus lisible.
allow bind_v2 include /etc/ldap/schema/core.schema include /etc/ldap/schema/cosine.schema include /etc/ldap/schema/nis.schema include /etc/ldap/schema/inetorgperson.schema include /etc/ldap/schema/evolutionperson.schema schemacheck on pidfile /var/run/slapd/slapd.pid argsfile /var/run/slapd.args loglevel 0 modulepath /usr/lib/ldap moduleload back_bdb backend bdb checkpoint 512 30 database bdb suffix "dc=frozen-pizza,dc=be" directory "/var/lib/ldap" index objectClass eq lastmod on access to attrs=userPassword by dn="cn=admin,dc=frozen-pizza,dc=be" write by dn="uid=iceman,ou=people,dc=frozen-pizza,dc=be" write by dn="uid=beto,ou=people,dc=frozen-pizza,dc=be" read by dn="uid=thom,ou=people,dc=frozen-pizza,dc=be" read by anonymous auth by self write by * none access to dn.base="dc=frozen-pizza,dc=be" by * read access to * by dn="cn=admin,dc=frozen-pizza,dc=be" write by dn="uid=iceman,ou=people,dc=frozen-pizza,dc=be" write by dn="uid=beto,ou=people,dc=frozen-pizza,dc=be" write by dn="uid=thom,ou=people,dc=frozen-pizza,dc=be" write by * read access to dn="ou=AddressBook,dc=frozen-pizza,dc=be" by dn="uid=iceman,ou=people,dc=frozen-pizza,dc=be" write access to dn="ou=people,dc=frozen-pizza,dc=be" by dn="uid=iceman,ou=people,dc=frozen-pizza,dc=be" write # Acces a l'annuaire access to dn.regex="ou=([^,]+),ou=AddressBook,dc=frozen-pizza,dc=be" by dn.regex="uid=$1,ou=people,dc=frozen-pizza,dc=be" write by dn="cn=admin,dc=frozen-pizza,dc=be" write by self write by anonymous none by users none
J'ai aussi utilisé l'interface web phpldapadmin. Il est vrai que le tuto fonctionne plutôt en changeant les fichiers de conf, mais phpldapadmin m'a permis de faire quelques tests quand je n'étais pas sûr des permissions à accorder aux utilisateurs. (Se logguer en tant qu'untel, essayer de créer une entrée dans son carnet d'adresses, etc.)
Le paramétrage d'evolution ne se fait pas non plus sans peine, et j'ai dû plusieurs fois fermer evolution et tuer evolution-data-server pour que ça fonctionne bien...
Quand au paramétrage d'outlook (chez mon frère), il faut dire que je n'y ai pas vraiment mis du coeur: j'ai abandonné après 5 minutes, dégouté par toutes les difficultés que j'avais déjà rencontrées jusque là.
J'ai aussi configuré squirrelmail pour qu'il utilise le LDAP, pour arriver à ce qui est quand même un peu le but d'avoir un annuaire LDAP pour les contacts: pouvoir accéder à ses contacts de partout dans le monde!
Malheureusement, j'étais tellement las du LDAP à ce moment, que je n'ai pas vraiment cherché à faire dans la finesse. J'ai cependant l'impression que squirrelmail ne peut accepter qu'une seule 'ou' comme carnet d'adresses, ce qui m'a conduit à mettre la racine de tous mes carnets d'adresses comme carnet d'adresses. Cela a pour effet qu'on ne peut rajouter des contacts via squirrelmail, et que squirrelmail, (donc tous les utilisateurs) peut accéder en lecture aux contacts de tous les utilisateurs.
Pour clarifier le paragraphe précédent, il semble que squirrelmail ne gère pas plusieurs utilisateurs d'un annuaire LDAP, mais se contente de se connecter sur l'annuaire en utilisant le meme utilisateur pour tout le monde, ce qui est assez gênant dans certains cas. Il faut donc aussi donner les permissions en lecture sur toutes les tables à tout le monde. (Pour moi, ça va.)
Commentaires
1. Le mardi 19 septembre 2006 à 21:05, par Nico
Ajouter un commentaire
Les commentaires pour ce billet sont fermés.