# Accéder aux partages du NAS depuis un poste Linux Référence : Linux Mint 22.3 – montages NFS – serveur NAS sous Ubuntu Server 24.04 **Les noms d'hôtes, de comptes et de dossiers de cette page sont des exemples à transposer.** Les adresses `192.168.0.x` appartiennent à l'espace privé RFC 1918 et sont conservées telles quelles : elles illustrent la topologie sans identifier personne. **Le fichier `.md` de cette page :** [ouvrir le `.md`](https://blog.infolaf.ca/wp-content/uploads/fichiers/guide-poste-partages-nas-public.md) ⚠ **13 lignes de ce document dépassent 84 caractères et s'enrouleront dans le PDF sans aucun signe visible : ce sont les lignes d'`/etc/fstab`.** `fstab` n'accepte aucune continuation — **les recopier depuis le fichier `.md`, jamais depuis le PDF.** **Ce que cette page couvre :** faire en sorte que les dossiers ordinaires d'un poste — Documents, Images, Musique, Téléchargements, Vidéos — soient en réalité ceux du NAS, pour chaque utilisateur de la machine, et que ça tienne à chaque démarrage sans intervention. **Contexte :** le serveur exporte ses volumes en NFS. Le poste les monte, puis **relie** des sous-dossiers du partage aux dossiers du profil. L'utilisateur ne voit aucun « lecteur réseau » : il ouvre *Documents* et il est sur le NAS. > Convention : chaque bloc indique où il s'exécute — `[poste]` pour la machine de travail, `[NAS]` pour le serveur. --- ## 1. Le principe, en deux étages Le montage se fait en **deux temps**, et les confondre produit un montage fragile. **Le premier étage monte le partage** à un emplacement neutre, une fois pour toute la machine : ``` /media/nas1 /media/nas2 ``` **Le second étage relie** des sous-dossiers de ce partage aux dossiers du profil de chaque utilisateur : ``` /media/nas1/Documents → /home/user/Documents ``` 🎯 **Pourquoi ne pas monter directement dans le profil ?** Parce qu'il faudrait autant de montages réseau que d'utilisateurs multiplié par le nombre de dossiers — dix connexions NFS au lieu de deux. Le second étage n'est pas un montage réseau : c'est un **lien de montage**, purement local, qui ne coûte rien. --- ## 2. Le paquet client **Sur `[poste]`** : ```bash sudo apt install -y nfs-common ``` C'est le seul nécessaire. `cifs-utils` ne sert qu'aux partages Samba, qui s'adressent aux postes Windows. --- ## 3. Monter les partages **Sur `[poste]`** : ```bash sudo mkdir -p /media/nas1 /media/nas2 /media/home_nas ``` Puis ouvrir la table des montages : ```bash sudo nano /etc/fstab ``` Ajouter dans l'éditeur ouvert ci-dessus : ``` 192.168.0.11:/media/nas1 /media/nas1 nfs _netdev,nofail,rw,hard,proto=tcp,nfsvers=3,exec,auto,acl 0 0 192.168.0.11:/media/nas2 /media/nas2 nfs _netdev,nofail,rw,hard,proto=tcp,nfsvers=3,exec,auto,acl 0 0 192.168.0.11:/home/hostadmin /media/home_nas nfs _netdev,nofail,rw,hard,proto=tcp,nfsvers=4.2,exec,auto,acl 0 0 ``` ### Ce que chaque option fait, et pourquoi elle est là 🎯 **`_netdev` déclare que ce montage dépend du réseau.** Sans elle, le système tente de monter avant que la carte soit prête : le montage échoue, et rien ne le retente — le dossier reste vide jusqu'à une intervention manuelle. Avec elle, systemd ordonne le montage après l'activation du réseau, et le partage est là quand l'utilisateur ouvre sa session. ⚠ **`nofail` empêche un NAS éteint de bloquer le démarrage du poste.** Sans elle, un serveur absent laisse la machine attendre puis tomber en mode secours — pour un partage de musique. Avec elle, le poste démarre normalement et le dossier reste simplement vide. **`hard` plutôt que `soft`.** En `hard`, une écriture interrompue par une coupure réseau attend le retour du serveur et reprend ; en `soft`, elle échoue et l'application reçoit une erreur, souvent au milieu d'un fichier. Sur un partage de documents, `hard` est le choix qui préserve les données. **`acl`** demande que les ACL du serveur traversent le montage. Sans elle, les permissions étendues restent invisibles depuis le poste. **Les versions diffèrent délibérément.** La version 4 passe par un seul port, se dispense du démon de montage séparé et gère les verrous de façon plus fiable : c'est elle qu'on emploie pour le dossier personnel du serveur, où des fichiers de configuration sont ouverts et réécrits. La version 3 suffit aux volumes de données, et c'est elle qui les monte. ℹ **Le montage se fait par adresse, pas par nom.** Un partage monté par nom dépend du résolveur du réseau : si le filtre DNS local est arrêté ou en cours de mise à jour au moment du démarrage, le montage échoue. L'adresse rend le montage indépendant de cette chaîne. --- ## 4. Relier les dossiers du profil C'est ici que le poste devient agréable à utiliser. Toujours dans `/etc/fstab`, sous les lignes précédentes : ``` /media/nas1/Documents /home/user/Documents auto defaults,nofail,bind,x-systemd.requires-mounts-for=/media/nas1,x-gvfs-hide 0 0 /media/nas1/Download /home/user/Téléchargements auto defaults,nofail,bind,x-systemd.requires-mounts-for=/media/nas1,x-gvfs-hide 0 0 /media/nas1/Audio/Musique /home/user/Musique auto defaults,nofail,bind,x-systemd.requires-mounts-for=/media/nas1,x-gvfs-hide 0 0 /media/nas1/Photographies /home/user/Images auto defaults,nofail,bind,x-systemd.requires-mounts-for=/media/nas1,x-gvfs-hide 0 0 /media/nas2/Videotheque /home/user/Vidéos auto defaults,nofail,bind,x-systemd.requires-mounts-for=/media/nas2,x-gvfs-hide 0 0 ``` Le bloc se répète tel quel pour chaque utilisateur de la machine, en changeant le chemin du profil : ``` /media/nas1/Documents /home/u2/Documents auto defaults,nofail,bind,x-systemd.requires-mounts-for=/media/nas1,x-gvfs-hide 0 0 /media/nas1/Download /home/u2/Téléchargements auto defaults,nofail,bind,x-systemd.requires-mounts-for=/media/nas1,x-gvfs-hide 0 0 /media/nas1/Audio/Musique /home/u2/Musique auto defaults,nofail,bind,x-systemd.requires-mounts-for=/media/nas1,x-gvfs-hide 0 0 /media/nas1/Photographies /home/u2/Images auto defaults,nofail,bind,x-systemd.requires-mounts-for=/media/nas1,x-gvfs-hide 0 0 /media/nas2/Videotheque /home/u2/Vidéos auto defaults,nofail,bind,x-systemd.requires-mounts-for=/media/nas2,x-gvfs-hide 0 0 ``` 🔴 **`x-systemd.requires-mounts-for=` est ce qui empêche le montage vide.** Un lien vers `/media/nas1/Documents` posé avant que `/media/nas1` soit monté ne produit pas d'erreur : il relie un **dossier vide** au profil, et l'utilisateur ouvre *Documents* sur du néant. Cette option déclare la dépendance ; systemd attend. C'est la ligne à ne jamais oublier en ajoutant un lien. **`x-gvfs-hide`** empêche le gestionnaire de fichiers d'afficher ces montages dans sa barre latérale. Sans elle, chaque dossier du profil apparaît une seconde fois comme « volume monté », et la liste devient illisible. ℹ Le dernier champ vaut `0 0` : un lien de montage n'est pas un système de fichiers, il n'y a rien à vérifier au démarrage. --- ## 5. Appliquer sans redémarrer **Sur `[poste]`** : ```bash sudo systemctl daemon-reload sudo mount -a ``` ⚠ **`daemon-reload` n'est pas optionnel.** systemd fabrique une unité de montage par ligne d'`fstab` au moment où il lit le fichier. Sans rechargement, `mount -a` monte bien, mais les dépendances déclarées par `x-systemd.requires-mounts-for=` ne sont pas connues — et le prochain démarrage se fait dans le désordre. Contrôler : ```bash findmnt -t nfs,nfs4 -o TARGET,SOURCE,FSTYPE ``` --- ## 6. Le `umask` — ce qu'il ne faut pas toucher Les fichiers créés sur le partage doivent rester accessibles au groupe, faute de quoi les autres comptes ne peuvent pas les modifier. Le réglage qui décide de cela est le `umask`, et il vaut **002** sur un poste correctement configuré. **Sur `[poste]`** : ```bash umask -S ``` La réponse attendue est `u=rwx,g=rwx,o=rx`. 🎯 **Ce `002` arrive tout seul, et il ne faut pas le forcer.** `/etc/login.defs` déclare pourtant `UMASK 022`. C'est la combinaison de `USERGROUPS_ENAB yes` et du module `pam_umask.so` qui le relâche à `002` pour tout compte dont le groupe principal porte son propre nom — ce qui est le cas de tous les comptes créés normalement. ⚠ **Modifier `UMASK` dans `/etc/login.defs` relâcherait le `umask` de *tous* les comptes, root compris**, y compris pour les fichiers qui n'ont rien à voir avec les partages. Le mécanisme en place obtient le même résultat là où il le faut, et nulle part ailleurs. Si `umask -S` répond autre chose, c'est qu'un fichier de profil le force — `~/.profile`, `~/.bashrc` ou un script de session — et c'est là qu'il faut corriger, pas dans `login.defs`. --- ## 7. Vérifier que ça tient Le vrai contrôle n'est pas que le montage fonctionne maintenant, mais qu'il **revienne après un redémarrage**. Après redémarrage, sur `[poste]` : ```bash findmnt -t nfs,nfs4 -o TARGET,SOURCE | tail -n +2 | wc -l systemctl --failed --no-pager ls /home/user/Documents | head -3 ``` Le compte de montages doit correspondre au nombre de lignes NFS d'`fstab`, aucune unité ne doit être en échec, et le dossier du profil doit montrer le contenu du NAS. ⚠ **Un dossier de profil vide après un redémarrage réussi est le symptôme d'un lien monté trop tôt** — donc d'un `x-systemd.requires-mounts-for=` absent ou mal écrit sur cette ligne. **Et l'écriture, qui est ce qui compte vraiment** : ```bash touch /home/user/Documents/essai.tmp ls -l /home/user/Documents/essai.tmp rm -f /home/user/Documents/essai.tmp ``` Un refus ici, alors que la lecture fonctionne, renvoie aux permissions côté serveur et non au poste. --- ## 8. Références - Le serveur, ses partages et ses permissions : [INCUS – Hôte et conteneur & serveur NAS](https://blog.infolaf.ca/wiki/incus-hote-et-conteneur-serveur-nas/) - Partager un dossier entre les utilisateurs d'une même machine : [Dossier partagé localement avec acl](https://blog.infolaf.ca/wiki/dossier-partage-localement-avec-acl/)