AutoFS : Configuration via LDAP

De Adadov.net wiki
Aller à : navigation, rechercher
Ecrit Par : Adadov

Introduction

La configuration de Autofs se fait normalement via une série de fichiers, tout d'abord auto.master qui contient le dossier à surveiller et le nom du fichier qui contiendra les détails du montage. Puis le fichier contenant les détails qui liste chaque dossier à monter avec les options à passer à NFS et l'adresse de la resource.

Dans le cas de multiples serveurs qui montent la MEME RESOURCE au MEME ENDROIT il est tout à fait possible de déporter cette configuration dans un annuaire LDAP.

Avant toute chose votre serveur doit être configuré pour pouvoir accèder à un serveur LDAP automatiquement, si ce n'est pas déjà le cas voir ici Utiliser un annuaire LDAP pour votre serveur Linux.

Création des fiches LDAP

J'ai choisi de placer toutes ces fiches dans une OU nommée autofs et situé à la racine de mon annuaire LDAP afin de bien les séparer du reste des informations, mais ce choix est libre, vous pouvez les placer ailleurs sans soucis.

auto.master

Tout d'abord il faudra créer une fiche auto.master qui servira de conteneur, toutes les fiches présentent en dessous seront comprises comme des extensions du fichier auto.master situé sur le serveur linux.

Voici comment se présente cette fiche :

# auto.master, autofs, example.com
dn: ou=auto.master,ou=autofs,dc=example,dc=com
ou: auto.master
objectClass: automountMap
objectClass: top

Une fois cette fiche crée nous allons créer en dessous d'autres fiches, pour comparer avec une configuration locale, ces fiches seraient les lignes contenues dans le fichier auto.master.

J'utilise autofs pour gèrer le montage des homeDirectory de mes utilisateurs LDAP, la configuration des utilisateurs indiquent qu'ils ont la forme /home/ldap/<username>. Je vais donc surveiller le dossier /home/ldap avec autofs afin qu'il réponde aux demandes de montages pour les sous-dossiers.

Voici la fiche correspondante :

# /home/ldap, auto.master, autofs, example.com
dn: cn=/home/ldap,ou=auto.master,ou=autofs,dc=example,dc=com
automountInformation: ldap:ou=auto.home,ou=autofs,dc=example,dc=com
cn: /home/ldap
objectClass: automount
objectClass: top

Le cn correspond au nom du dossier à surveiller et l'attribut automountInformation contient l'emplacement où aller chercher la liste des dossiers et les points de montages correspondant.

auto.home

Il faut ensuite créer la fiche auto.home qui servira de conteneur pour les données comme ça a été fait avec auto.master.

# auto.home, autofs, example.com
dn: ou=auto.home,ou=autofs,dc=example,dc=com
ou: auto.home
objectClass: automountMap
objectClass: top

Pour ce qui est de la liste des dossiers, je n'ai qu'une seule fiche dans mon cas, elle gèrera tous les dossiers qui seront demandés.

# /, auto.home, autofs, example.com
dn: cn=/,ou=auto.home,ou=autofs,dc=example,dc=com
cn: /
objectClass: automount
objectClass: top
automountInformation: -fstype=nfs,hard,intr,nodev,nosuid nfsserv.example.com:/export/files/home/ldap/&

Le cn de la fiche doit être / dans mon cas, afin d'être utilisé pour tous les dossiers.
L'attribut automountInformation contiendra deux informations, tout d'abord les options de montages (ici: -fstype=nfs,hard,intr,nodev,nosuid). Puis ensuite l'adresse du point de montage au format NFS.

Dans le cas présent on retrouve un & à la fin du chemin, il sera remplacé par le nom du dossier qui est demandé.

Si on éssaie d'accèder au dossier /home/ldap/toto, autofs ira demander à nfsserve.example.com le dossier /export/files/home/ldap/toto.

Configuration de Autofs

Maintenant que toutes les informations sont prêtes dans l'annuaire LDAP, il ne reste plus qu'à configurer autofs pour qu'il puisse lire et comprendre les informations présentent dans le LDAP.

  1. Le ficher auto.master en local sur le serveur doit contenir, de préférence à la fin, cette ligne :
    +auto.master
  2. Le fichier /etc/nsswitch.conf doit bien contenir la source ldap sur la ligne automount.
  3. Sous Fedora il faudra aussi venir modifier le fichier /etc/sysconfig/autofs. Par défaut il est prévu pour utiliser des objectClass et des attributs qui ne correspondent pas à ceux de cette documentation, il faut donc s'assurer que ceux présents dans ce fichier de configuration soient bien les suivants :
MAP_OBJECT_CLASS="automountMap"
ENTRY_OBJECT_CLASS="automount"
MAP_ATTRIBUTE="ou"
ENTRY_ATTRIBUTE="cn"
VALUE_ATTRIBUTE="automountInformation"

Maintenant que la configuration d'autofs est terminée il suffit de le redémarrer pour qu'il prenne en compte ces nouvelles informations.

Conclusion

La configuration d'autofs via un LDAP est un peu plus compliquée que depuis ses fichiers de configuration, il faut donc bien peser le pour et le contre avant de se lancer, mais pour ma part le choix fut vite fait, deux serveurs montent la même resource et je peux ainsi la déplacer sans avoir besoin de retourner configurer les deux serveurs.