Documentation Ubuntu

Introduction

autofs est un programme pour monter automatiquement des répertoires en fonction des besoins. Les montages automatiques ne sont montés qu’au fur et à mesure de leur accès, et sont démontés après une période d’inactivité. De ce fait, le montage automatique des partages NFS/Samba conserve la bande passante et offre de meilleures performances globales par rapport aux montages statiques via fstab.

1.1. Note rapide sur les termes

Pour éviter toute confusion, les terminologies suivantes seront utilisées :

  • automount est le programme utilisé pour configurer un point de montage pour autofs. Quand autofs est lancé, un démon automount est spawné pour chaque carte.

  • Auto-mount ou auto-mounting fait référence au processus de montage automatique des systèmes de fichiers.
  • autofs est le programme qui contrôle le fonctionnement des démons de montage automatique.

Installation

Installer le paquetage autofs soit en cliquant ici, soit en entrant ce qui suit dans une fenêtre de terminal :

  • $ sudo apt-get install autofs

Configuration

autofs peut être configuré en éditant des fichiers de configuration. Il existe d’autres façons de configurer autofs sur un réseau (voir AutofsLDAP), mais les fichiers de configuration fournissent la configuration la plus simple.

3.1. Le fichier de configuration maître

Le fichier de configuration maître pour autofs est /etc/auto.master par défaut. A moins que vous n’ayez une bonne raison de le changer, laissez-le par défaut.

Voici le fichier type fourni par Ubuntu :

## $Id: auto.master,v 1.4 2005/01/04 14:36:54 raven Exp $## Sample auto.master file# This is an automounter map and it has the following format# key location# For details of the format look at autofs(5).#/misc /etc/auto.misc --timeout=60#/smb /etc/auto.smb#/misc /etc/auto.misc#/net /etc/auto.net
  • Par défaut, toutes les lignes sont commentées en utilisant le caractère #.

Chacune des lignes de auto.master décrit un montage et l’emplacement de sa carte. Ces lignes ont le format suivant :

  • mount-point :] map 

3.1.1. Cartes directes et indirectes

Les cartes de montages peuvent être directes ou indirectes. Les mappages indirects, tels que ceux du fichier auto.master présenté ci-dessus, créent des points de montage en tant que sous-répertoires à l’intérieur du point de montage principal. Par exemple, considérez l’entrée de mappe principale suivante :

  • /smb /etc/auto.smb

Cette entrée dans auto.master indique à autofs de regarder dans /etc/auto.smb et de créer des points de montage dans le répertoire /smb.

Les cartes directes créent un point de montage au chemin spécifié dans le fichier de carte pertinent. L’entrée du point de montage dans auto.master est toujours /-. Par exemple, la ligne suivante demande à autofs de créer un point de montage à l’endroit spécifié dans auto.data :

  • /- /etc/auto.data
  • Si le fichier de carte n’est pas spécifié en utilisant un chemin local ou réseau complet, la configuration du commutateur de service de nom sera utilisée pour localiser la carte, par exemple :
    /- auto.data

3.2. Fichiers de carte

Comme indiqué ci-dessus, chaque montage autofs possède son propre fichier de carte. Ces fichiers sont généralement nommés en utilisant la convention auto.<X>, où <X> peut être n’importe quoi tant qu’il correspond à une entrée dans auto.master et est valide pour un nom de fichier.

Les fichiers cartographiques prennent le format suivant :

  • key location

EXEMPLE : Montage automatique d’un partage NFS

Dans ce howto, nous allons configurer autofs pour monter automatiquement un partage NFS, en utilisant un ensemble de fichiers de configuration. Ce howto suppose que vous êtes déjà familier avec les exportations NFS, et que vous avez déjà un partage NFS fonctionnant correctement sur votre réseau. Allez à la page de configuration NFS pour apprendre comment configurer un tel serveur.

4.1. Modifier /etc/auto.master

L’étape suivante crée un point de montage à /nfs et le configure selon les paramètres spécifiés dans /etc/auto.nfs (que nous créerons à l’étape suivante).

  1. Tapez ce qui suit dans un terminal :
    $ sudo nano /etc/auto.master
  2. Ajouter la ligne suivante à la fin de /etc/auto.master :

    /nfs /etc/auto.nfs

4.2. Créer /etc/auto.nfs

Maintenant nous allons créer le fichier qui contient notre carte de compteurs automatiques :

  • $ sudo nano /etc/auto.nfs

Ce fichier doit contenir une ligne séparée pour chaque partage NFS. Le format d’une ligne est {point de montage} {emplacement}. Si vous avez précédemment configuré des montages statiques dans /etc/fstab, il peut être utile de s’y référer. Rappelez-vous, les points de montage spécifiés ici seront relatifs au point de montage donné dans /etc/auto.master.

La ligne suivante concerne les partages utilisant des versions plus anciennes de NFS (antérieures à la version 4) :

  • server server:/

Cela crée un nouveau point de montage à /nfs/server/ et monte le répertoire racine NFS exporté par la machine dont le nom d’hôte est server.

4.2.1. NFSv4

Si vos partages NFS utilisent NFSv4, vous devez en informer autofs. Dans ce cas, la ligne ci-dessus apparaîtrait comme suit :

  • server -fstype=nfs4 server:/

Le client a besoin des mêmes modifications à /etc/default/nfs-common pour se connecter à un serveur NFSv4.

  • Dans /etc/default/nfs-common nous définissons :

    NEED_IDMAPD=yesNEED_GSSD=no # no is default

4.3. Démonter les montages statiques et éditer /etc/fstab

Si vous avez précédemment configuré les partages NFS comme des montages statiques, c’est le moment de les démonter.

  • $ sudo umount /server

Puis, supprimez (ou commentez) leurs entrées respectives dans /etc/fstab.

  • #server:/ /server/ nfs defaults 0 0

4.4. Rechargez /etc/init.d/autofs

Après avoir entré vos modifications, exécutez la commande suivante pour recharger autofs :

  • $ sudo service autofs reload

Si vous travaillez sur une ancienne version ubuntu, et que cela ne fonctionne pas, essayez :

  • $ sudo /etc/init.d/autofs reload

Si vous travaillez sous Natty, et que cela ne fonctionne pas, essayez :

  • $ sudo /etc/init.d/autofs restart

4.5. Assurez-vous que cela fonctionne

Afin d’accéder au partage et de vérifier qu’il fonctionne correctement, entrez ce qui suit dans un shell :

  • $ ls /nfs/server

Si vous voyez votre partage NFS listé, félicitations ! Vous avez un montage NFS fonctionnel via autofs ! Si vous voulez apprendre des informations plus avancées, continuez à lire.

Informations avancées

Suivant l’exemple de structure de répertoire ci-dessus, si vous deviez entrer ls /nfs dans un shell, vous pourriez être surpris de ne rien voir listé. Mais rappelez-vous que vous devez accéder à un répertoire avant qu’il ne soit monté automatiquement. Pour accéder au partage, entrez ls /nfs/server. Une fois qu’il a été accédé, votre partage ne sera listé que jusqu’à ce qu’il s’éteigne. Il est bon de garder cela à l’esprit, car cela pourrait vous faire gagner du temps en diagnostiquant un problème autofs qui n’existe pas vraiment.

5.1. Note sur /net et /smb

Ces deux configurations par défaut peuvent être utiles pour votre configuration. Si vous avez beaucoup de partages NFS ou Samba, vous pouvez vouloir décommenter ces lignes. /net permet le montage automatique de systèmes de fichiers ailleurs sur le réseau qui sont exportés par NFS. Par exemple, si vous avez un serveur nommé fileserver avec un répertoire d’exportation NFS appelé /export, vous pouvez le monter en tapant dans une ligne de commande shell cd /net/fileserver/export. Dans un environnement avec des serveurs de fichiers NFS, une telle configuration peut être utile. /smb fonctionne de la même manière mais est destiné aux systèmes de fichiers Samba. Cependant, si vous devez vous authentifier avant d’accéder au partage Samba, automount ne fonctionnera pas.

5.2. Caractères génériques

Disons que vous avez un répertoire avec un certain nombre de sous-répertoires que vous voulez faire monter automatiquement individuellement. Un exemple de ceci est le répertoire /home, dans ce cas /etc/auto.master pourrait contenir la ligne suivante :

  • /home /etc/auto.home

Si l’utilisateur1 est connecté, vous voudrez monter automatiquement son répertoire personnel. Cependant, si vous créez un point de montage pour l’ensemble du répertoire /home, vous monterez également les répertoires home de tous les autres utilisateurs en même temps, gaspillant ainsi de la bande passante. Une solution à ce problème serait de créer des entrées séparées pour chaque répertoire, comme suit :

  • # /etc/auto.homeuser1 server:/home/user1user2 server:/home/user2user3 server:/home/user3

Cela fonctionne, mais est encombrant. À la place, vous pouvez utiliser des caractères de remplacement, comme suit :

  • * server:/home/&

L’astérisque (*) est utilisé à la place du point de montage et l’esperluette (&) à la place du répertoire à monter. Pour plus de détails sur l’utilisation des caractères génériques, voir Utilisation des caractères génériques comme raccourcis dans les cartes AutoFS.

Vous pouvez également utiliser des variables (voir la page de manuel autofs(5)) pour substituer les utilisateurs et d’autres paramètres afin de pouvoir créer un fichier générique pour plusieurs utilisateurs. L’exemple ci-dessous est smb map qui mappe basé sur l’utilisateur qui demande le partage en utilisant la variable $USER.

* -fstype=cifs,rw,credentials=/home/$USER/.smbcredentials,iocharset=utf8,uid=$USER,gid=users,file_mode=0700,dir_mode=0700 ://server/$USERshare1 -fstype=cifs,rw,credentials=/home/$USER/.smbcredentials,iocharset=utf8,uid=$USER,gid=users ://server/share1share2 -fstype=cifs,rw,credentials=/home/$USER/.smbcredentials,iocharset=utf8,uid=$USER,gid=users ://server/share2

Montage d’autres types de systèmes de fichiers

6.1. CIFS

Lorsque vous spécifiez un partage CIFS dans un fichier map, spécifiez -fstype=cifs et faites précéder l’emplacement du partage par deux points ( :).

Exemple :

mntpoint -fstype=cifs ://example.com/shrname

Exemple : Monter en lecture-écriture, en spécifiant un utilisateur et un groupe pour posséder les fichiers :

mntpoint -fstype=cifs,rw,uid=myuserid,gid=mygrpid ://example.com/shrname

Exemple : Monter en lecture-écriture, en spécifiant un nom d’utilisateur et un mot de passe à utiliser pour se connecter au partage :

mntpoint -fstype=cifs,rw,username=myuser,password=mypass ://example.com/shrname

6.2. Systèmes de fichiers basés sur FUSE

Les systèmes de fichiers basés sur FUSE sont montés en spécifiant -fstype=fuse. L’emplacement du système de fichiers spécifie le binaire de l’espace utilisateur utilisé pour monter le système de fichiers, suivi d’un dièse (#), suivi de l’emplacement.

Lorsqu’on spécifie un emplacement de système de fichiers FUSE dans le fichier map, certains caractères, notamment le hachage (#) et les deux points ( :), doivent être échappés par une barre oblique inverse (\). L’emplacement entier doit être précédé de deux points ( :).

Comme automount effectue le montage en tant que root, il est généralement nécessaire de spécifier allow_other sur les options de montage pour permettre à votre userid non-root d’accéder au partage.

6.2.1. Système de fichiers SSHFS

SSHFS est un système de fichiers basé sur FUSE. Dans un montage autofs, les deux points ( 🙂 suivant le nom du serveur doivent être échappés par une barre oblique inverse (\).

Vous devriez déjà avoir configuré l’authentification sans mot de passe via le cryptage à clé publique. Assurez-vous que vous comprenez les implications de sécurité de ceci avant de continuer.

N’oubliez pas que automount montera votre système de fichiers SSHFS en tant que root, vous devez donc :

  1. Copier votre clé privée dans le répertoire /root/.ssh. Assurez-vous que vous comprenez les implications de sécurité de ceci avant de procéder.

  2. Ajoutez les clés d’hôtes nécessaires à /root/.ssh/known_hosts.

  3. Spécifier le nom d’utilisateur utilisé pour se connecter

Pour tester le montage de votre système de fichiers SSHFS en tant que root a émis ce qui suit :

sudo sshfs [email protected]:/ mountpoint

Si le montage réussit sans vous demander un mot de passe, vous êtes prêt à monter le système de fichiers via autofs

Exemple :

mntpoint -fstype=fuse,allow_other :sshfs\#[email protected]\:/path/to/mount

Exemple : Monter en lecture-écriture, en spécifiant un utilisateur et un groupe pour posséder les fichiers :

mntpoint -fstype=fuse,rw,uid=1000,gid=1000,allow_other :sshfs\#[email protected]\:/path/to/mount

Notez que pour les montages FUSE, uid et gid doivent être des ids numériques.

Débogage des problèmes de montage automatique

Si vous avez des problèmes pour monter automatiquement vos systèmes de fichiers, il peut être utile d’exécuter automount au premier plan.

  1. Arrêter le démon autofs

    sudo service autofs stop
  2. Exécuter automount au premier plan avec des informations verbeuses

    sudo automount -f -v
  3. Depuis un autre terminal, essayez de monter vos systèmes de fichiers en changeant les répertoires dans le point de montage.
  4. Vérifiez la sortie du premier terminal pour trouver des indices sur la raison pour laquelle le montage a échoué ou n’a pas été tenté.

See Also

  • Mount – Informations sur le processus de montage et sa configuration dans Ubuntu.

  • La page de manuel mount – hébergée sur le site officiel d’Ubuntu.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.