Modification de LDAP : Installation d'un serveur 389 DS

Attention : vous n’êtes pas connecté(e). Votre adresse IP sera visible de tout le monde si vous faites des modifications. Si vous vous connectez ou créez un compte, vos modifications seront attribuées à votre propre nom d’utilisateur(rice) et vous aurez d’autres avantages.

La modification peut être annulée. Veuillez vérifier les différences ci-dessous pour voir si c’est bien ce que vous voulez faire, puis publier ces changements pour finaliser l’annulation de cette modification.

Version actuelle Votre texte
Ligne 1 : Ligne 1 :
{{ArticleHead|Adadov}}
== Introduction ==
 
J'ai choisi de migrer mon serveur LDAP depuis OpenLDAP vers un serveur un peu plus récent et standard.
J'ai choisi de migrer mon serveur LDAP depuis OpenLDAP vers un serveur un peu plus récent et standard.
Pour ça j'ai choisi 389 DS, anciennement Fedora DS.
Pour ça j'ai choisi 389 DS, anciennement Fedora DS.
Ligne 11 : Ligne 12 :


Pour faire mes tests j'ai utilisé une Fedora 18 fraichement installé et j'ai installé le serveur depuis les RPM comme ceci
Pour faire mes tests j'ai utilisé une Fedora 18 fraichement installé et j'ai installé le serveur depuis les RPM comme ceci
{{LxTerm|text=sudo yum install 389-ds}}
{{LinuxTerminal|text=sudo yum install 389-ds}}


Puis on passe à la configuration, ils ont étés très sympa pour ça, il existe un utilitaire.
Puis on passe à la configuration, ils ont étés très sympa pour ça, il existe un utilitaire.
 
{{warn|Par contre la configuration de la console ne fonctionne pas, donc ne pas utiliser setup-ds-admin.pl}}
J'ai choisi de ne pas implémenter la console et j'utiliserais Apache Directory Editor par la suite pour gérer les entrées de mon Annuaire.
Alors on utilise simplement setup-ds.pl.
 
{{LinuxTerminal|text=sudo setup-ds.pl}}
Alors on utilise simplement {{cmd|setup-ds.pl}}.
{{LxTerm|text=sudo setup-ds.pl}}


Le mieux est simplement, dans le cas d'une première installation, de laisser par défaut les options.
Le mieux est simplement, dans le cas d'une première installation, de laisser par défaut les options.
Ligne 27 : Ligne 26 :


Si vous avez déjà une version au format LDIF de vos extensions de schémas, alors là il n'y a presque rien à faire.
Si vous avez déjà une version au format LDIF de vos extensions de schémas, alors là il n'y a presque rien à faire.
Il vous suffit de placer les fichiers dans le dossier {{path|/etc/dirsrv/slapd-<nowiki>{instance}</nowiki>/schema/}}.<br />
Il vous suffit de placer les fichiers dans le dossier /etc/dirsrv/slapd-{instance}/schema/.
Puis recharger dynamiquement le schéma de votre annuaire via  
Puis recharger dynamiquement le schéma de votre annuaire via /usr/lib64/dirsrv/slapd-{instance}/schema-reload.pl
{{cmd|/usr/lib64/dirsrv/slapd-<nowiki>{instance}</nowiki>/schema-reload.pl}}


== Migration depuis OpenLDAP ==
== Migration depuis OpenLDAP ==


Pour migrer les données il n'y a rien de plus simple, il vous suffit d'exporter les données via un simple ldapsearch.
Pour migrer les données il n'y a rien de plus simple, il vous suffit d'exporter les données via un simple ldapsearch.
{{LxTerm|text=ldapsearch -h oldldap.example.com -x -LLL > backup_ldap.ldif}}
{{LinuxTerminal|text=ldapsearch -h oldldap.example.com -x -LLL > backup_ldap.ldif}}


Ensuite on retire de ce fichier la première entrée, c'est celle qui concerne la base du serveur LDAP, vu que l'installation en a déjà créé une, il ne faut pas la recréer.
Ensuite on retire de ce fichier la première entrée, c'est celle qui concerne la base du serveur LDAP, vu que l'installation en a déjà créé une, il ne faut pas la recréer.


Si le nom a changé, un petit coup de sed fera l'affaire.
Si le nom a changé, un petit coup de sed fera l'affaire.
{{LxTerm|text=sed -i 's/dc=oldbase,dc=ext/dc=newbase,dc=ext/' backup_ldap.ldif}}
{{LinuxTerminal|text=sed -i 's/dc=oldbase,dc=ext/dc=newbase,dc=ext/' backup_ldap.ldif}}


Puis on importe les données dans notre nouveau LDAP.
Puis on importe les données dans notre nouveau LDAP.
{{LxTerm|text=ldapadd -D "cn=Directory Manager" -W -x -f backup_ldap.ldif -c}}
{{LinuxTerminal|text=ldapadd -D "cn=Directory Manager" -W -x -f backup_ldap.ldif -c}}


Si vous n'avez aucune erreur lors de l'import, vous voilà avec un nouveau LDAP tout neuf et complet.
Si vous n'avez aucune erreur lors de l'import, vous voilà avec un nouveau LDAP tout neuf et complet.
== Retirer l'accès anonyme ==
Par défaut, l'accès anonyme aux données est autorisé ce qui n'est pas forcément une bonne chose pour la sécurité des données.
Donc on va retirer l'accès anonyme et on forcera donc l'utilisation de comptes pour accéder aux données.
Voilà le fichier LDIF qui nous permettra de le faire
<syntaxhighlight lang="text">
dn: dc=newbase,dc=ext
changetype: modify
delete: aci
aci: (targetattr!="userPassword")(version 3.0; acl "Enable anonymous access"; allow (read, search, compare) userdn="ldap:///anyone";)
</syntaxhighlight>
Ensuite on l'applique
{{LxTerm|text=ldapmodifiy -D "cn=Directory Manager" -W -x -f anonymousaci.ldif}}
== Créer des comptes pour accéder au LDAP ==
D'abord on va créer des groupes afin de se simplifier la gestion, un pour les utilisateurs qui auront un accès en lecture seule, l'autre pour les admins qui auront un accès complet.
Voilà un LDIF qui va ajouter les bonnes ACI et créer les groupes nécessaires.
<syntaxhighlight lang="text">
dn: dc=newbase,dc=ext
changetype: modify
add: aci
aci: (targetattr ="*")(version 3.0;acl "LDAP Readers Group";allow (read) (groupdn = "ldap:///cn=ldapusers,ou=special_users,dc=newbase,dc=ext");)
-
delete: aci
aci: (targetattr ="*")(version 3.0;acl "Directory Administrators Group";allow (all) (groupdn = "ldap:///cn=Directory Admins,dc=newbase,dc=ext");)
-
add: aci
aci: (targetattr ="*")(version 3.0;acl "LDAP Admins Group";allow (all) (groupdn = "ldap:///cn=ldapadmins,ou=special_users,dc=newbase,dc=ext");)
dn: cn=ldapusers,ou=special_users,dc=newbase,dc=ext
changetype: add
objectclass: top
objectclass: groupofuniquenames
cn: ldapusers
dn: cn=ldapadmins,ou=special_users,dc=newbase,dc=ext
changetype: add
objectclass: top
objectclass: groupofuniquenames
cn: ldapadmins
</syntaxhighlight>
Une fois qu'on a tout ça, il ne reste plus qu'à créer des comptes et les référencer dans un de ces deux groupes pour qu'ils puissent lire les données du LDAP.
[[Category:SysAdmin]]
[[Category:LDAP]]
[[Catégorie:Authentication]]
Notez bien que toutes les contributions à Adadov.net wiki peuvent être modifiées, transformées ou supprimées par d’autres utilisateurs. Si vous ne désirez pas que vos écrits soient modifiés contre votre gré, merci de ne pas les soumettre ici.
Vous nous promettez aussi que vous avez écrit ceci vous-même ou que vous l’avez copié d’une source placée dans le domaine public ou d’une ressource libre similaire (voir AdadovNet:Copyrights pour plus de détails). N’utilisez aucun travail sous droits d’auteur sans autorisation expresse !
Annuler Aide pour la modification (s’ouvre dans une nouvelle fenêtre)