Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
autofs [Le 02/08/2017, 19:31]
thierrybo Ajout lancement en mode debug pour chercher les causes de non fonctionnement
autofs [Le 25/01/2023, 19:57] (Version actuelle)
sangorys
Ligne 1: Ligne 1:
 {{tag>​Xenial samba nfs ftp ssh partage réseau}} {{tag>​Xenial samba nfs ftp ssh partage réseau}}
 ---- ----
 +
  
 ====== AutoFS - montage automatique de systèmes de fichier ====== ====== AutoFS - montage automatique de systèmes de fichier ======
 +
 +
 +<note warning>​(avril 2021) [[systemd|Systemd]] peut gérer simplement le montage automatique de systèmes de fichiers. Comme en témoigne [[https://​unix.stackexchange.com/​a/​375602/​120185|ce post sur StackExchange]] en date du 7 juillet 2017, AutoFS est l'​ancien moyen de monter automatiquement des systèmes de fichiers.
 +
 +Avec Systemd-automount,​ cela peut se faire facilement : consulter [[mounter_un_disque_avec_systemd.automount|la page monter un disque avec system.automount]] pour le mettre en place.
 +
 +Ainsi, à moins d'​avoir des besoins spécifiques,​ dans la plupart des cas systemd-automount fonctionnera correctement. Cela permet, par exemple, monter automatiquement des disques durs que l'on insère dans un dock sur le bureau (stockage, sauvegarde...).</​note>​
 +
 +
  
 Le [[:​montage]] manuel ou par [[:​mount_fstab]] a plusieurs inconvénients:​ Le [[:​montage]] manuel ou par [[:​mount_fstab]] a plusieurs inconvénients:​
Ligne 11: Ligne 21:
 D'​autre part les montages réalisés à partir de nautilus (ou files) ne sont pas visibles dans les autres applications comme Firefox, shotwell, .... D'​autre part les montages réalisés à partir de nautilus (ou files) ne sont pas visibles dans les autres applications comme Firefox, shotwell, ....
  
-**[[http://www.autofs.org/​|AutoFS]]** permet de résoudre ces problèmes.+**[[https://www.kernel.org/doc/​html/​latest/​filesystems/​autofs.html|AutoFS]]** permet de résoudre ces problèmes.
  
-[[https://​help.ubuntu.com/​community/​Autofs|AutoFS]] contrôle les opérations des démons d'​automount. Les démons d'​automount montent automatiquement des systèmes de fichiers quand ils sont employés et les démontent après une période d'​inactivité. Ceci est fait en se basant sur un ensemble de cartographies pré-configurés. ​\\  +[[https://​help.ubuntu.com/​community/​Autofs|AutoFS]] contrôle les opérations des démons d'​automount. Les démons d'​automount montent automatiquement des systèmes de fichiers quand ils sont employés et les démontent après une période d'​inactivité. Ceci est fait en se basant sur un ensemble de cartographies pré-configurés. 
-Le montage automatique par le noyau sous Linux est implémenté,​ presque complètement,​ à la manière de celui de SunOS. Une version récente du module autofs4 du noyau (intégrée ou séparée) est nécessaire. ​+Le montage automatique par le noyau sous Linux est implémenté,​ presque complètement,​ à la manière de celui de SunOS. Une version récente du module autofs4 du noyau (intégrée ou séparée) est nécessaire.
    
 ===== Pré-requis ===== ===== Pré-requis =====
Ligne 60: Ligne 70:
 === Déclaration des répertoires parents de montages et de leur types === === Déclaration des répertoires parents de montages et de leur types ===
  
-  * **<​mon_partage>​** est une valeur à votre discrétion ... il se fera, là, à l'​intérieur du dossier précisé dans auto.master\\ (ex.: /​media/<​mon_dossier>,​ /​mnt/<​mon_dossier>,​ /​net/<​mon_dossier>,​ ...).\\ Si ce dossier n'​existe pas, AutoFS le créera automatiquement.\\ **<​mon_dossier>​** peut vous permettre de //​centraliser//​ un ensemble de partage\\ (ex.: vous avez une série de partage via ftp, vous les regroupez sous /net/ftp).+  * **<​mon_partage>​** est une valeur à votre discrétion ... il se fera, là, à l'​intérieur du dossier précisé dans auto.master\\ (ex.: /​media/<​mon_dossier>,​ /​mnt/<​mon_dossier>,​ /​net/<​mon_dossier>,​ ...).\\ Si ce dossier n'​existe pas, AutoFS le créera/​supprimera ​automatiquement.\\ **<​mon_dossier>​** peut vous permettre de //​centraliser//​ un ensemble de partage\\ (ex.: vous avez une série de partage via ftp, vous les regroupez sous /net/ftp).
  
   * **<​type>​** vous permet de voir rapidement de quel type de système de fichier il s'agit (ex.: smb - samba, nfs : network file system, ftp , etc.). auto.<​type>​ identifie le fichier qui va contenir les détails du montage… Il n'y a pas de types prédéfinis,​ mettez auto.toto si ça vous chante m(   * **<​type>​** vous permet de voir rapidement de quel type de système de fichier il s'agit (ex.: smb - samba, nfs : network file system, ftp , etc.). auto.<​type>​ identifie le fichier qui va contenir les détails du montage… Il n'y a pas de types prédéfinis,​ mettez auto.toto si ça vous chante m(
Ligne 66: Ligne 76:
   * L'​option '​**%%--%%ghost**'​ crée un répertoire pour le montage du média désiré. ​ Ainsi, le point de montage est créé lorsqu'​on y accède.\\ Si cette option est omise, aucun répertoire n'est créé et l'​utilisateur devra connaître précisément le point de montage d'un périphérique pour y accéder.   * L'​option '​**%%--%%ghost**'​ crée un répertoire pour le montage du média désiré. ​ Ainsi, le point de montage est créé lorsqu'​on y accède.\\ Si cette option est omise, aucun répertoire n'est créé et l'​utilisateur devra connaître précisément le point de montage d'un périphérique pour y accéder.
  
-  * L'​option '​**%%--%%timeout=30**'​ (ou '​**%%-%%t=30**'​) correspond au temps (secondes) pendant lequel le montage reste activé après le dernier accès au dossier partagé ( ne mettez pas une valeur trop importante !).\\ Il faut attendre au moins 30 secondes entre le dernier accès à un partage samba et l'​extinction d'un ordinateur distant pour ne pas avoir de soucis pour le démontage des dossiers distants. ​+  * L'​option '​**%%--%%timeout=30**'​ (ou '​**%%-%%t=30**'​) correspond au temps (secondes) pendant lequel le montage reste activé après le dernier accès au dossier partagé ( ne mettez pas une valeur trop importante !).\\ Il faut attendre au moins 30 secondes entre le dernier accès à un partage samba et l'​extinction d'un ordinateur distant pour ne pas avoir de soucis pour le démontage des dossiers distants.
  
 === Création des partages === === Création des partages ===
Ligne 78: Ligne 88:
  
   * L'​option '​**options**'​ dépend de votre type de montage et des droits à accorder   * L'​option '​**options**'​ dépend de votre type de montage et des droits à accorder
-    * '​**uid=1000,​guid=1000**'​ pour écrire de façon //​neutre//​ +    * '​**uid=1000,​gid=1000**'​ pour écrire de façon //​neutre//​ 
-    * '​**uid=id_user,​guid=id_groupe**'​ pour écrire selon les droits id_user et id_groupe (les droits doivent être correctement paramétrés côté serveur)+    * '​**uid=id_user,​gid=id_groupe**'​ pour écrire selon les droits id_user et id_groupe (les droits doivent être correctement paramétrés côté serveur)
     * '​**rsize=8192,​wsize=8192**'​ pour accélérer les communications NFS en lecture (rsize) et écriture (wsize)     * '​**rsize=8192,​wsize=8192**'​ pour accélérer les communications NFS en lecture (rsize) et écriture (wsize)
  
Ligne 85: Ligne 95:
 ====Prise en compte des modifications apportées dans les fichiers de configuration :==== ====Prise en compte des modifications apportées dans les fichiers de configuration :====
  
-Après avoir configuré le service par le biais des fichiers que vous avez créés/​modifiés il faut penser à relancer le service autofs; pour qu'il actualise les données. ​\\  +Après avoir configuré le service par le biais des fichiers que vous avez créés/​modifiés il faut penser à relancer le service autofs; pour qu'il actualise les données. 
-Dans un terminal : +Dans un terminal :
 <​code>​sudo service autofs restart</​code>​ <​code>​sudo service autofs restart</​code>​
 <note important>​Quand autofs est actif, vous ne pouvez plus créer de sous-répertoires dans le répertoire où autofs réalise ses montages, ///mnt// par exemple\\ <note important>​Quand autofs est actif, vous ne pouvez plus créer de sous-répertoires dans le répertoire où autofs réalise ses montages, ///mnt// par exemple\\
Ligne 102: Ligne 112:
 ==== NFS ==== ==== NFS ====
  
-Exemple de partage **NFS** ​+Exemple de partage **NFS**
  
 [[:​tutoriel:​comment_modifier_un_fichier|Editez le fichier]] **/​etc/​auto.master** [[:​tutoriel:​comment_modifier_un_fichier|Editez le fichier]] **/​etc/​auto.master**
Ligne 108: Ligne 118:
 [[:​tutoriel:​comment_modifier_un_fichier|Editez le fichier]] **/​etc/​auto.nfs** [[:​tutoriel:​comment_modifier_un_fichier|Editez le fichier]] **/​etc/​auto.nfs**
 <​file>​ <​file>​
-Photos_serveur ​ -fstype=nfs,​rw,intr   192.168.1.3:/​home/​blinckers/​Photos +Photos_serveur ​ -fstype=nfs,​rw ​  ​192.168.1.3:/​home/​blinckers/​Photos 
-Entreprise ​     -fstype=nfs,​rw,intr   192.168.1.3:/​home/​professionnel +Entreprise ​     -fstype=nfs,​rw ​  ​192.168.1.3:/​home/​professionnel 
-Musique_serveur -fstype=nfs,​rw,intr   192.168.1.3:/​home/​blinckers/​Musique+Musique_serveur -fstype=nfs,​rw ​  ​192.168.1.3:/​home/​blinckers/​Musique
 </​file>​ </​file>​
  
Ligne 127: Ligne 137:
 [[:​tutoriel:​comment_modifier_un_fichier|Editez le fichier]] **/​etc/​auto.nfs** [[:​tutoriel:​comment_modifier_un_fichier|Editez le fichier]] **/​etc/​auto.nfs**
 <​file>​ <​file>​
-Photos -fstype=nfs,​rw,​uid=1000,​guid=1000,​rsize=8192,​wsize=8192 ​  ​192.168.1.250:/​volume1/​photo +Photos -fstype=nfs,​rw,​uid=1000,​gid=1000,​rsize=8192,​wsize=8192 ​  ​192.168.1.250:/​volume1/​photo 
-video -fstype=nfs,​rw,​uid=1000,​guid=1000,​rsize=8192,​wsize=8192 ​  ​192.168.1.250:/​volume1/​video +video -fstype=nfs,​rw,​uid=1000,​gid=1000,​rsize=8192,​wsize=8192 ​  ​192.168.1.250:/​volume1/​video 
-music -fstype=nfs,​rw,​uid=1000,​guid=1000,​rsize=8192,​wsize=8192 ​ 192.168.1.250:/​volume1/​music +music -fstype=nfs,​rw,​uid=1000,​gid=1000,​rsize=8192,​wsize=8192 ​ 192.168.1.250:/​volume1/​music 
-public -fstype=nfs,​rw,​uid=1000,​guid=1000,​rsize=8192,​wsize=8192 ​  ​192.168.1.250:/​volume1/​public +public -fstype=nfs,​rw,​uid=1000,​gid=1000,​rsize=8192,​wsize=8192 ​  ​192.168.1.250:/​volume1/​public 
-images -fstype=nfs,​rw,​uid=1000,​guid=1000,​rsize=8192,​wsize=8192 ​  ​192.168.1.250:/​volume1/​homes/​remy/​images+images -fstype=nfs,​rw,​uid=1000,​gid=1000,​rsize=8192,​wsize=8192 ​  ​192.168.1.250:/​volume1/​homes/​remy/​images
 </​file>​ </​file>​
  
Ligne 137: Ligne 147:
 Pour **NFS**, l'​option fstype est facultative : c'est le système de fichier //par défaut// pour autofs. Pour **NFS**, l'​option fstype est facultative : c'est le système de fichier //par défaut// pour autofs.
 </​note>​ </​note>​
-<note important>​l'​option **intr** est dépréciée depuis la version de kernel 2.6.25 donc [[lucid|Lucid 10.04 LTS]] comme le stipule la manpage [[man>​nfs|NFS]]</​note>​ 
  
 <note important>​N'​utilisez pas les signets nautilus vers des dossiers issus du partage nfs, le timeout d'​autofs ne fonctionnera pas et cela provoquera des freezes si le serveur est hors ligne. Par contre, les volumes NFS présent par défaut dans les raccourcis de nautilus ne poseront pas de problème. <note important>​N'​utilisez pas les signets nautilus vers des dossiers issus du partage nfs, le timeout d'​autofs ne fonctionnera pas et cela provoquera des freezes si le serveur est hors ligne. Par contre, les volumes NFS présent par défaut dans les raccourcis de nautilus ne poseront pas de problème.
Ligne 144: Ligne 153:
  
 <note tip> <note tip>
-En cas de pb au montage (dossier introuvable),​ essayer de déclarer dans le auto.nfs le répertoire père du répertoire partagé sur le serveur.+En cas de problème ​au montage (dossier introuvable),​ essayer de déclarer dans le auto.nfs le répertoire père du répertoire partagé sur le serveur.
  
-Exemple: ​ +Exemple:
  
-//si sur le serveur /​mnt/​Mon_DD/​Partage// ​  ​+//si sur le serveur /​mnt/​Mon_DD/​Partage//​
  
-//Dans auto.nfs// ​+//Dans auto.nfs//
 <​file>​ <​file>​
-partage_serveur -fstype=nfs,​rw,​uid=1000,​guid=1000,​rsize=8192,​wsize=8192 ​  ​192.168.1.250:/​mnt/​Mon_DD+partage_serveur -fstype=nfs,​rw,​uid=1000,​gid=1000,​rsize=8192,​wsize=8192 ​  ​192.168.1.250:/​mnt/​Mon_DD
 </​file>​ </​file>​
 </​note>​ </​note>​
Ligne 162: Ligne 171:
 ==== FTP ==== ==== FTP ====
  
-Il faut avoir précédement ​visité la page [[curlftpfs]]+Il faut avoir précédemment ​visité la page [[curlftpfs]]
  
-exemple de partage **FTP** ​+exemple de partage **FTP**
 [[:​tutoriel:​comment_modifier_un_fichier|Editez le fichier]] **/​etc/​auto.master** [[:​tutoriel:​comment_modifier_un_fichier|Editez le fichier]] **/​etc/​auto.master**
 <​file>​ <​file>​
Ligne 181: Ligne 190:
  
 Si vous avez déjà une solution via fstab, n'​oubliez pas de commenter les lignes dans /etc/fstab et de démonter les montages avant de mettre en place cette solution. Si vous avez déjà une solution via fstab, n'​oubliez pas de commenter les lignes dans /etc/fstab et de démonter les montages avant de mettre en place cette solution.
-Cette solution s'​appuie sur une distribution Ubuntu (12.04 ou 14.04) +Si le serveur (montage samba) n'est pas accessiblecela empêche l'​explorateur de fichier nautilus de démarrer. Dans ce cas ouvrir une console et taper
-Si le serveur (montage samba) n'est pas accessible cela empêche l'​explorateur de fichier nautilus de démarrer. Dans ce cas ouvrir une console et taper +
   sudo service autofs stop   sudo service autofs stop
  
 ===   ​Installer autofs et cifs === ===   ​Installer autofs et cifs ===
  
-sudo apt-get install autofs cifs-utils+  ​sudo apt-get install autofs cifs-utils
  
 === création du credential === === création du credential ===
  
 Dans les commandes suivantes, remplacer <​user>​ par votre nom d'​utilisateur Dans les commandes suivantes, remplacer <​user>​ par votre nom d'​utilisateur
-Créer le fichier /​home/<​user>/​.cred-file (référencé ci-dessus) et rendez-le accessible uniquement par vous-même (IMPORTANT car il contient un mot de passe en clair...) : +Créer le fichier /​home/<​user>/​.cred-file (référencé ci-dessus) et rendez-le accessible uniquement par vous-même (IMPORTANT car il contient un mot de passe en clair...) :
  
   touch /​home/​$USER/​.cred-file   touch /​home/​$USER/​.cred-file
   chmod 600 /​home/​$USER/​.cred-file   chmod 600 /​home/​$USER/​.cred-file
  
-Ajouter les lignes suivantes à ce fichier (à valoriser correctement bien sûr) : +Ajouter les lignes suivantes à ce fichier (à valoriser correctement bien sûr) :
   username=<​user>​   username=<​user>​
   password=<​password>​   password=<​password>​
Ligne 205: Ligne 213:
 ===Modification du fichier auto.master=== ===Modification du fichier auto.master===
  
-Ajoutez la ligne suivante à la fin du fichier /​etc/​auto.master (sudo) : +Ajoutez la ligne suivante à la fin du fichier /​etc/​auto.master (sudo) :
 <file - /​etc/​auto.master> ​  /mnt /​etc/​auto.mnt --ghost,​--timeout=30 </​file>​ <file - /​etc/​auto.master> ​  /mnt /​etc/​auto.mnt --ghost,​--timeout=30 </​file>​
  
  
 === Créer un fichier /​etc/​auto.mnt === === Créer un fichier /​etc/​auto.mnt ===
-Créer un fichier /​etc/​auto.mnt contenant les informations d'​accès aux partages : +Créer un fichier /​etc/​auto.mnt contenant les informations d'​accès aux partages :
 <file - /​etc/​auto.mnt>​ <file - /​etc/​auto.mnt>​
   nas -fstype=cifs,​credentials=/​home/<​user>/​.cred-file,​user=<​user>,​uid=1000,​gid=1000 ://​nomDuNas/​montageDuNas   nas -fstype=cifs,​credentials=/​home/<​user>/​.cred-file,​user=<​user>,​uid=1000,​gid=1000 ://​nomDuNas/​montageDuNas
Ligne 218: Ligne 226:
   * N'​oubliez pas de valoriser ​ "<​user>"​ par votre login sur le client   * N'​oubliez pas de valoriser ​ "<​user>"​ par votre login sur le client
   *  /mnt doit exister   *  /mnt doit exister
-  * nas ne doit pas exister et sera le nom du répertoire créé automatiquement pas autofs sous /mnt (ie /mnt/nas) +  * nas ne doit pas exister et sera le nom du répertoire créé automatiquement pas autofs sous /mnt (i.e. /mnt/nas) 
-  * nomDuNas peut être remplacer ​par l'​adresse ​ip du (serveur) NAS. Attention dans le cas d'un serveur ​windows ​il faut remplacer le nom du serveur par l'​adresse IP, la résolution du nom de domaine ne se faisant pas ,+  * nomDuNas peut être remplacé ​par l'​adresse ​IP du (serveur) NAS. Attention dans le cas d'un serveur ​Windows, ​il faut remplacer le nom du serveur par l'​adresse IP, la résolution du nom de domaine ne se faisant pas , 
 +<note important>​Bien précéder le nom du serveur par le caractère ` **:** ` ((https://​help.ubuntu.com/​community/​Autofs#​FUSE_based_file_systems))</​note>​
   * testé avec succès avec un NAS synology DS214   * testé avec succès avec un NAS synology DS214
   * uid=1000 : 1000 correspond à votre uid linux sur le client (à verifier par la commande id en étant connecté avec votre login (pas en root)   * uid=1000 : 1000 correspond à votre uid linux sur le client (à verifier par la commande id en étant connecté avec votre login (pas en root)
Ligne 225: Ligne 234:
  
   sudo usermod -aG users loginUtilisateur   sudo usermod -aG users loginUtilisateur
-Il faut quitter la session et la réouvrir ​pour que le changement prenne effet.+Il faut quitter la session et la rouvrir ​pour que le changement prenne effet.
  
 Quelques options supplémentaires : Quelques options supplémentaires :
Ligne 231: Ligne 240:
   * file_mode=0750,​   * file_mode=0750,​
   * dir_mode=0750,​   * dir_mode=0750,​
-<note important>//​file_mode//​ et //​dir_mode//​ en 0777 FIXME semblent ​indispensables pour un partage Windows si on veut avoir un accès en écriture! </​note>​+<note important>//​file_mode//​ et //​dir_mode//​ en 0777 n'est pas indispensables pour un partage Windows, même si on veut avoir un accès en écriture ! Il suffit que l'​utilisateur Windows utilisé pour la connexion (dans le fichier de credentials) ait les droits d'​écriture sur le dossier partagé. 
 +Par ailleurs, si on précise le username dans le fichier de credentials,​ il est inutile de le re spécifier dans les options du mount. Et uid et gid ne doivent pas forcément être des valeurs numériques. 
 +Voir mount.cifs(8) 
 +</​note>​
   * nounix   * nounix
   * domain=NOM_DE_DOMAINE_DE_L_ENTREPRISE   * domain=NOM_DE_DOMAINE_DE_L_ENTREPRISE
  
  
-Pour finir Redémarrez ​autofs : +Pour finir, redémarrez ​autofs :
   sudo service autofs restart   sudo service autofs restart
  
Ligne 253: Ligne 265:
 Remarques : Remarques :
   * remplacer "<​user>"​ par le login linux du pc client de l'​utilisateur   * remplacer "<​user>"​ par le login linux du pc client de l'​utilisateur
-  * des erreurs devraient être retourner et doivent ​permettre une analyse du problème+  * des erreurs devraient être retournées pour permettre une analyse du problème
   ​   ​
-Une fois que le mount marche. Démonter ​+Une fois que le mount marche, démonter ​:
   sudo umount /mnt   sudo umount /mnt
  
Ligne 273: Ligne 285:
    sudo automount -f -v -d    sudo automount -f -v -d
  
-Voici le type d’erreur que vous pourrez trouver :+La plupart des problèmes se voient en regardant la commande "​mount"​. ​Voici le type d’erreur que vous pourrez trouver :
  
    >>​ mount error: could not resolve address for nas: Unknown error    >>​ mount error: could not resolve address for nas: Unknown error
Ligne 279: Ligne 291:
    >>​ mount: unknown filesystem type '​cif'​    >>​ mount: unknown filesystem type '​cif'​
  
-Au moins on sait ou chercher. Ici par exemple un problème de résolution de nom et une option de montage avec une erreur de saisie (cif au lieu de cifs)+Au moins on sait où chercher. Ici par exempleun problème de résolution de nom et une option de montage avec une erreur de saisie (cif au lieu de cifs) 
 + 
 +Le <//​nomPartageServeur//>​ après l'​adresse IP du serveur est nécessaire (en tout cas avec un partage Windows 10), sinon ça retourne une erreur <code bash>​mount error(22): Invalid argument</​code>​ 
 + 
 +===== Aller plus loin ===== 
 +  * [[montage|Montage : les bases pour rendre accessible partitions et unités de stockage]] 
  • autofs.1501695086.txt.gz
  • Dernière modification: Le 02/08/2017, 19:31
  • par thierrybo