La plupart des systèmes de fichiers Linux sont montés au démarrage et restent montés pendant que le système est en cours d'exécution. Ceci est également vrai pour tous les systèmes de fichiers distants qui ont été configurés dans le fstab
dossier. Cependant, il peut arriver que vous préfériez monter un système de fichiers distant uniquement à la demande, par exemple pour améliorer les performances en réduisant l'utilisation de la bande passante du réseau ou pour masquer ou masquer certains répertoires pour des raisons de sécurité. Le paquet autofs fournit cette fonctionnalité. Dans cet article, je décrirai comment mettre en place une configuration de base de montage automatique.
Plus de ressources Linux
- Aide-mémoire des commandes Linux
- Aide-mémoire des commandes Linux avancées
- Cours en ligne gratuit :Présentation technique de RHEL
- Aide-mémoire sur le réseau Linux
- Aide-mémoire SELinux
- Aide-mémoire sur les commandes courantes de Linux
- Que sont les conteneurs Linux ?
- Nos derniers articles Linux
Tout d'abord, quelques hypothèses :Supposons que le serveur NFS nommé tree.mydatacenter.net
est opérationnel. Supposons également un répertoire de données nommé ourfiles
et deux répertoires d'utilisateurs, pour Carl et Sarah, sont partagés par ce serveur.
Quelques bonnes pratiques permettront d'améliorer un peu le fonctionnement :il est conseillé d'utiliser le même ID utilisateur pour vos utilisateurs sur le serveur et sur tous les postes de travail clients sur lesquels ils ont un compte. De plus, vos postes de travail et votre serveur doivent avoir le même nom de domaine. La vérification des fichiers de configuration pertinents devrait confirmer.
alan@workstation1:~$ sudo getent passwd carl sarah
[sudo] password for alan:
carl:x:1020:1020:Carl,,,:/home/carl:/bin/bash
sarah:x:1021:1021:Sarah,,,:/home/sarah:/bin/bash
alan@workstation1:~$ sudo getent hosts
127.0.0.1 localhost
127.0.1.1 workstation1.mydatacenter.net workstation1
10.10.1.5 tree.mydatacenter.net tree
Comme vous pouvez le voir, le poste de travail client et le serveur NFS sont configurés dans les hosts
dossier. Je suppose qu'il s'agit d'un réseau domestique ou même de petite entreprise de base qui pourrait ne pas disposer d'un service de nom de domaine interne approprié (c'est-à-dire DNS).
Installer les packages
Vous n'avez besoin d'installer que deux packages :nfs-common
pour les fonctions client NFS, et autofs
pour fournir la fonction de montage automatique.
alan@workstation1:~$ sudo apt-get install nfs-common autofs
Vous pouvez vérifier que les fichiers autofs ont bien été placés dans le répertoire etc
répertoire :
alan@workstation1:~$ cd /etc; ll auto*
-rw-r--r-- 1 root root 12596 Nov 19 2015 autofs.conf
-rw-r--r-- 1 root root 857 Mar 10 2017 auto.master
-rw-r--r-- 1 root root 708 Jul 6 2017 auto.misc
-rwxr-xr-x 1 root root 1039 Nov 19 2015 auto.net*
-rwxr-xr-x 1 root root 2191 Nov 19 2015 auto.smb*
alan@workstation1:/etc$
Configurer autofs
Vous devez maintenant éditer plusieurs de ces fichiers et ajouter le fichier auto.home
. Tout d'abord, ajoutez les deux lignes suivantes au fichier auto.master
:
/mnt/tree /etc/auto.misc
/home/tree /etc/auto.home
Chaque ligne commence par le répertoire dans lequel les partages NFS seront montés. Allez-y et créez ces répertoires :
alan@workstation1:/etc$ sudo mkdir /mnt/tree /home/tree
Deuxièmement, ajoutez la ligne suivante au fichier auto.misc
:
ourfiles -fstype=nfs tree:/share/ourfiles
Cette ligne demande à autofs de monter ourfiles
partager à l'emplacement correspondant dans le auto.master
fichier pour auto.misc
. Comme indiqué ci-dessus, ces fichiers seront disponibles dans le répertoire /mnt/tree/ourfiles
.
Troisièmement, créez le fichier auto.home
avec la ligne suivante :
* -fstype=nfs tree:/home/&
Cette ligne demande à autofs de monter le partage des utilisateurs à l'emplacement correspondant dans le auto.master
fichier pour auto.home
. Dans ce cas, les fichiers de Carl et Sarah seront disponibles dans les répertoires /home/tree/carl
ou /home/tree/sarah
, respectivement. L'astérisque (appelé caractère générique) permet de monter automatiquement le partage de chaque utilisateur lorsqu'il se connecte. L'esperluette fonctionne également comme un caractère générique représentant le répertoire de l'utilisateur côté serveur. Leur répertoire personnel doit être mappé en conséquence dans le passwd
dossier. Cela n'est pas nécessaire si vous préférez un répertoire personnel local; à la place, l'utilisateur pourrait l'utiliser comme simple stockage à distance pour des fichiers spécifiques.
Enfin, redémarrez le autofs
démon afin qu'il reconnaisse et charge ces modifications du fichier de configuration.
alan@workstation1:/etc$ sudo service autofs restart
Tester les autofs
Si vous passez dans l'un des répertoires listés dans le fichier auto.master
et exécutez le ls
commande, vous ne verrez rien immédiatement. Par exemple, changez de répertoire (cd)
vers /mnt/tree
. Au début, la sortie de ls
n'affichera rien, mais après avoir exécuté cd ourfiles
, les ourfiles
répertoire de partage sera automatiquement monté. Le cd
sera également exécutée et vous serez placé dans le répertoire nouvellement monté.
carl@workstation1:~$ cd /mnt/tree
carl@workstation1:/mnt/tree$ ls
carl@workstation1:/mnt/tree$ cd ourfiles
carl@workstation1:/mnt/tree/ourfiles$
Pour confirmer davantage que les choses fonctionnent, le mount
affichera les détails du partage monté.
carl@workstation1:~$ mount
tree:/mnt/share/ourfiles on /mnt/tree/ourfiles type nfs4 (rw,relatime,vers=4.0,rsize=131072,wsize=131072,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,clientaddr=10.10.1.22,local_lock=none,addr=10.10.1.5)
Le /home/tree
répertoire fonctionnera de la même manière pour Carl et Sarah.
Je trouve utile de marquer ces répertoires dans mon gestionnaire de fichiers pour un accès plus rapide.