4 231
modifications
Aucun résumé des modifications |
Aucun résumé des modifications |
||
(Une version intermédiaire par le même utilisateur non affichée) | |||
Ligne 1 : | Ligne 1 : | ||
[[Category:serveur]] | [[Category:serveur]] | ||
[[Category:debian]] | [[Category:debian]] | ||
'''<span style="color: red;">Tuto plus vraiment à jour (a l'origine écrit sous debian lenny)</span>''' | |||
[[Category:toupdate]] | |||
=Installation= | =Installation= | ||
Pour installer OpenLDAP : | Pour installer OpenLDAP : | ||
Ligne 51 : | Ligne 55 : | ||
database bdb | database bdb | ||
suffix "dc= | suffix "dc=domain,dc=tld" | ||
rootdn "cn=admin,dc= | rootdn "cn=admin,dc=domain,dc=tld" | ||
rootpw {SSHA}HJsgK682kFZk | rootpw {SSHA}HJsgK682kFZk | ||
directory "/srv/ldap/ | directory "/srv/ldap/domain/" | ||
#cache de 2MB | #cache de 2MB | ||
dbconfig set_cachesize 0 2097152 0 | dbconfig set_cachesize 0 2097152 0 | ||
Ligne 70 : | Ligne 74 : | ||
# These access lines apply to database #1 only | # These access lines apply to database #1 only | ||
access to attrs=userPassword,shadowLastChange | access to attrs=userPassword,shadowLastChange | ||
by dn="cn=admin,dc= | by dn="cn=admin,dc=domain,dc=tld" write | ||
by anonymous auth | by anonymous auth | ||
by self write | by self write | ||
Ligne 86 : | Ligne 90 : | ||
#access to dn.base="" by * read | #access to dn.base="" by * read | ||
access to dn.subtree="ou=pfoo,ou=addressbook,dc= | access to dn.subtree="ou=pfoo,ou=addressbook,dc=domain,dc=tld" | ||
by dn="cn=pfoo,ou=users,dc= | by dn="cn=pfoo,ou=users,dc=domain,dc=tld" write | ||
by * none | by * none | ||
access to dn="ou=users,dc= | access to dn="ou=users,dc=domain,dc=tld" | ||
by * none | by * none | ||
access to dn="ou=addressbook,dc= | access to dn="ou=addressbook,dc=domain,dc=tld" | ||
by dn.children="ou=users,dc= | by dn.children="ou=users,dc=domain,dc=tld" read | ||
by * none | by * none | ||
access to dn="dc= | access to dn="dc=domain,dc=tld" | ||
by dn="cn=admin,dc= | by dn="cn=admin,dc=domain,dc=tld" write | ||
by dn.children="ou=users,dc= | by dn.children="ou=users,dc=domain,dc=tld" read | ||
by * none | by * none | ||
access to * | access to * | ||
by dn="cn=admin,dc= | by dn="cn=admin,dc=domain,dc=tld" write | ||
by * none | by * none | ||
Ligne 228 : | Ligne 232 : | ||
<pre> | <pre> | ||
database bdb | database bdb | ||
suffix "dc= | suffix "dc=domain,dc=tld" | ||
rootdn "cn=admin,dc= | rootdn "cn=admin,dc=domain,dc=tld" | ||
rootpw {SSHA}Xe7Lb0SZi8B7F4CiqwRV8t3cm0R2XdYc | rootpw {SSHA}Xe7Lb0SZi8B7F4CiqwRV8t3cm0R2XdYc | ||
directory "/srv/ldap" | directory "/srv/ldap" | ||
Ligne 266 : | Ligne 270 : | ||
# These access lines apply to database #1 only | # These access lines apply to database #1 only | ||
access to attrs=userPassword,shadowLastChange | access to attrs=userPassword,shadowLastChange | ||
by dn="cn=admin,dc= | by dn="cn=admin,dc=domain,dc=tld" write | ||
by anonymous auth | by anonymous auth | ||
by self write | by self write | ||
Ligne 273 : | Ligne 277 : | ||
Petite explication : | Petite explication : | ||
* <code>access to</code> : spécifie pour quoi on défini des accès. Dans le cas présent, c'est l'accès aux mots-de-passes | * <code>access to</code> : spécifie pour quoi on défini des accès. Dans le cas présent, c'est l'accès aux mots-de-passes | ||
* <code>by dn="cn=admin,dc= | * <code>by dn="cn=admin,dc=domain,dc=tld" write</code> : autorise l'accès en écriture par le super-utilisateur admin. L'accès en écriture signifie un accès complet. | ||
* <code>by anonymous auth</code> : autorise aux utilisateurs anonymes de se loguer | * <code>by anonymous auth</code> : autorise aux utilisateurs anonymes de se loguer | ||
* <code>by self write</code> : autorise l'utilisateur à changer son propre mot-de-passe | * <code>by self write</code> : autorise l'utilisateur à changer son propre mot-de-passe | ||
Ligne 291 : | Ligne 295 : | ||
Voici les permissions correspondantes pour cette structure : | Voici les permissions correspondantes pour cette structure : | ||
<pre> | <pre> | ||
access to dn.subtree="ou=pfoo,ou=addressbook,dc= | access to dn.subtree="ou=pfoo,ou=addressbook,dc=domain,dc=tld" | ||
by dn="cn=pfoo,ou=users,dc= | by dn="cn=pfoo,ou=users,dc=domain,dc=tld" write | ||
by * none | by * none | ||
access to dn="ou=users,dc= | access to dn="ou=users,dc=domain,dc=tld" | ||
by * none | by * none | ||
access to dn="ou=addressbook,dc= | access to dn="ou=addressbook,dc=domain,dc=tld" | ||
by dn.children="ou=users,dc= | by dn.children="ou=users,dc=domain,dc=tld" read | ||
by * none | by * none | ||
access to dn="dc= | access to dn="dc=domain,dc=tld" | ||
by dn="cn=admin,dc= | by dn="cn=admin,dc=domain,dc=tld" write | ||
by dn.children="ou=users,dc= | by dn.children="ou=users,dc=domain,dc=tld" read | ||
by * none | by * none | ||
access to * | access to * | ||
by dn="cn=admin,dc= | by dn="cn=admin,dc=domain,dc=tld" write | ||
by * none | by * none | ||
</pre> | </pre> | ||
Ligne 333 : | Ligne 337 : | ||
<pre> | <pre> | ||
#Racine de la base | #Racine de la base | ||
dn: dc= | dn: dc=domain, dc=tld | ||
objectClass: top | objectClass: top | ||
objectClass: dcObject | objectClass: dcObject | ||
objectClass: organization | objectClass: organization | ||
dc: | dc: domain | ||
o: | o: your domain | ||
# ou des utilisateurs de la base | # ou des utilisateurs de la base | ||
dn: ou=users,dc= | dn: ou=users,dc=domain,dc=tld | ||
objectClass: top | objectClass: top | ||
objectClass: organizationalunit | objectClass: organizationalunit | ||
Ligne 347 : | Ligne 351 : | ||
# utilisateur pfoo de la base | # utilisateur pfoo de la base | ||
dn: cn=pfoo,ou=users,dc= | dn: cn=pfoo,ou=users,dc=domain,dc=tld | ||
cn: pfoo | cn: pfoo | ||
objectClass: top | objectClass: top | ||
Ligne 355 : | Ligne 359 : | ||
# ou du carnet d'adresse global | # ou du carnet d'adresse global | ||
dn: ou=addressbook, dc= | dn: ou=addressbook, dc=domain, dc=tld | ||
objectClass: top | objectClass: top | ||
objectClass: organizationalUnit | objectClass: organizationalUnit | ||
Ligne 361 : | Ligne 365 : | ||
# ou du carnet d'adresse de pfoo | # ou du carnet d'adresse de pfoo | ||
dn: ou=pfoo, ou=addressbook, dc= | dn: ou=pfoo, ou=addressbook, dc=domain, dc=tld | ||
objectClass: top | objectClass: top | ||
objectClass: organizationalUnit | objectClass: organizationalUnit | ||
Ligne 370 : | Ligne 374 : | ||
Une fois le fichié créé et enregistré, il ne reste plus qu'à l'ajouter à la base de donnée: | Une fois le fichié créé et enregistré, il ne reste plus qu'à l'ajouter à la base de donnée: | ||
<pre>ldapadd -x -W -D "cn=admin,dc= | <pre>ldapadd -x -W -D "cn=admin,dc=domain,dc=tld" -f votre_fichier</pre> | ||
=Modification du fichier /etc/default/slapd pour les ports à écouter= | =Modification du fichier /etc/default/slapd pour les ports à écouter= | ||
Ligne 389 : | Ligne 393 : | ||
Vous pouvez tester votre configuration en utilisant un client ldap. Pour ma part, j'ai fait mes tests avec le client <code>ldapbrowser</code>. | Vous pouvez tester votre configuration en utilisant un client ldap. Pour ma part, j'ai fait mes tests avec le client <code>ldapbrowser</code>. | ||
Pour vous connecter : | Pour vous connecter : | ||
* <code>Base DN</code> est la racine de votre base de donnée (dc= | * <code>Base DN</code> est la racine de votre base de donnée (dc=domain,dc=tld dans mon cas) | ||
* <code>User DN</code> est le chemin complet de votre utilisateur (cn=pfoo,ou=users,dc= | * <code>User DN</code> est le chemin complet de votre utilisateur (cn=pfoo,ou=users,dc=domain,dc=tld dans mon cas) | ||
=thunderbird= | =thunderbird= |