Introduction

Le but de notre démarche est de permettre de configurer sur un serveur LDAP une liste de points de montages utilisée par les clients. Plus concrètement, on va ici permettre le montage dynamique d’un partage NFS. Pour cela, on va stocker sur l’annuaire LDAP l’ensemble des informations normalement contenues dans les fichiers de maps d’Automount. On se place dans le contexte d’un serveur LDAP/NFS déjà en place. Ce serveur accepte des connexions non-chiffrées sur le port par défaut.

Installation du serveur

Note On suppose une machine sur laquelle un serveur NFS partageant /export est en place et fonctionnel.

Configuration

Le serveur LDAP doit utiliser un schéma supplémentaire pour gérer les classes d’objets d’Automount. Il semble ne pas être disponible dans les paquets d’Archlinux, on va donc le placer nous-mêmes dans le fichier /etc/openldap/schema/automount.schema :

# File : automount.schema
# Attribute Type Definitions
attributetype ( 1.3.6.1.1.1.1.25 NAME 'automountInformation'
      DESC 'Information used by the autofs automounter'
      EQUALITY caseExactIA5Match
      SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE )

objectclass ( 1.3.6.1.1.1.1.9 NAME 'automount' SUP top STRUCTURAL
      DESC 'An entry in an automounter map'
      MUST ( cn $ automountInformation $ objectclass )
      MAY ( description ) )

objectclass ( 1.3.6.1.4.1.2312.4.2.2 NAME 'automountMap' SUP top STRUCTURAL
      DESC 'An group of related automount objects'
      MUST ( ou ) )

On l’ajoute ensuite à la liste des schémas activés du fichier /etc/openldap/slapd.conf :

include         /etc/openldap/schema/automount.schema

Ajout des tables LDAP

Tables de base

On va réunir les différentes tables dans une OU nommée ‘autofs’ et créer la map maître ‘auto.master’. Pour cela, on insère ces entrées :

dn: ou=autofs,dc=arda
ou: autofs
objectClass: top
objectClass: organizationalUnit

dn: ou=auto.master,ou=autofs,dc=arda
objectClass: top
objectClass: automountMap
ou: auto.master

Ajout d’une entrée dans la map maître

On ajoute ensuite une entrée pour le dossier /export ayant auto.export comme map. On insère ces entrées :

dn: cn=/export,ou=auto.master,ou=autofs,dc=arda
objectClass: automount
automountInformation: ldap:iluvatar.arda:ou=auto.export,ou=autofs,dc=arda
cn: /export

Ajout d’une map

On créé la map auto.export de l’exemple précédent. On insère ces entrées :

dn: ou=auto.export,ou=autofs,dc=arda
objectClass: top
objectClass: automountMap
ou: auto.export

dn: cn=/,ou=auto.export,ou=autofs,dc=arda
objectClass: automount
cn: /
automountInformation: -nfs,rw,hard,intr,nodev,nosuid,vers=3 iluvatar.arda:/export/&

Installation du client

Note Ici aussi, on suppose que le client est déjà prêt pour accéder au partage NFS.

Installation

On aura besoin d’installer le paquet autofs.

Configuration

Le fichier à modifier est /etc/conf.d/autofs, on y place ce contenu :

# Permet d'avoir quelques informations sur l'activité d'Automount
LOGGING="verbose"
# Inutile avec LDAP
#MASTER_MAP_NAME=""
TIMEOUT=300
LDAP_URI="ldap://iluvatar.arda"
# La racine des entrées d'Automount
SEARCH_BASE="ou=autofs,dc=arda"
MAP_OBJECT_CLASS="automountMap"
ENTRY_OBJECT_CLASS="automount"
MAP_ATTRIBUTE="ou"
ENTRY_ATTRIBUTE="cn"
VALUE_ATTRIBUTE="automountInformation"
# Inutile sur un environnement non-sécurisé
#AUTH_CONF_FILE="/etc/autofs_ldap_auth.conf"

Puis on ajoute le démon autofs au /etc/rc.conf.