Généralités système Linux

Montage de partages SAMBA (CIFS) sous Linux

Table des matières

Introduction



Dans cet article, nous allons voir comment sous Linux configurer des montages réseaux à travers des partages SAMBA.

Il peut être nécessaire, que ce soit sur un serveur ou un poste de travail de connecter automatiquement des montages réseaux à destination de machines Windows ou de NAS à travers le protocole SMB.

Cet article n'aborde pas la configuration d'un serveur SAMBA sous Linux, ni de serveur de fichier sous Windows.

Le partage est accessible via : \\192.168.21.25\linuxtricks
Les identifiants seront : linuxtricksuser / Linuxtrickspass123
L'ensemble des commandes sont saisies en tant que root.

Prérequis



Sous Linux, les outils permettant de gérer le protocole samba ne sont pas installés par défaut la plupart du temps.

Sur Fedora, RHEL et dérivées :
Code BASH :
dnf install  cifs-utils


Sur Debian, Ubuntu :
Code BASH :
apt install  cifs-utils


Nous aurons besoin que de ça.

Montage manuel



En ligne de commande



Pour monter manuellement un partage dans /mnt/linuxtricks, on utilisera la commande mount :
Code BASH :
mount -t cifs -o username=linuxtricksuser,password=Linuxtrickspass123,iocharset=utf8 //192.168.21.25/linuxtricks/ /mnt/linuxtricks


Les options additionnelles via -o indiquent les identifiants, et le jeu de caractère.
Il est nécessaire d'avoir les droits superutilisateur pour monter une ressource réseau.

Si on ne veut pas que les identifiants soient dans la ligne de commande, on peut créer un fichier dans lequel stocker les identifiants. Je créé généralement ce fichier sur mes serveurs dans /root :
Code BASH :
vim /root/.credentials


Voici le contenu :
Code :
username=linuxtricksuser
password=Linuxtrickspass123
domain=WORKGROUP


Et on effectue le montage ainsi dans /mnt/linuxtricks :
Code BASH :
sudo mount -t cifs -o credentials=/root/.credentials,iocharset=utf8 //192.168.21.25/linuxtricks/ /mnt/linuxtricks


Pour démonter le partage si nécessaire, on utilisera la commande umount :
Code BASH :
umount /mnt/linuxtricks



En graphique avec gvfs



Pour effectuer le montage dans une session graphique, on pourra utiliser notre gestionnaire de fichiers.
Dans les environnements de bureau GTK (GNOME, Cinnamon, Xfce, ...) on s'assurera que GVFS supporte le protocole SMB. C'est proposé via gvfs-smb qui est installé par défaut.

On pourra se connecter via le gestionnaire de fichiers avec comme URL :
Code BASH :
smb://adresse_ip/partage


Les informations d'identification sont demandées et sont enregistrables :

smb-gvfs-authentification


Une fois les informations validées, l'accès au dossier est possible. Le partage est aussi accessible sur la barre latérale, et épinglable :

smb-gvfs-acces-dossier



Pour démonter le partage, on clique sur le bouton "Eject"

Montage automatique



Pour monter des partages SMB automatiquement au démarrage de la machine, on peut le faire de plusieurs façons :
1/ Dans le fichier fstab
2/ Via systemd
3/ Via autofs (non traité dans cet article)

Je préfère la solution systemd, cependant je vous montre les 2 méthodes.

Montage auto via le fichier fstab



Il est possible de paramétrer le fichier /etc/fstab pour réaliser le montage automatique des partages.

Pour ne pas que les identifiants soient en clair dans le fichier fstab, on peut créer un fichier dans lequel stocker les identifiants. Je créé généralement ce fichier sur mes serveurs dans /root :
Code BASH :
vim /root/.credentials


Voici le contenu :
Code :
username=linuxtricksuser
password=Linuxtrickspass123
domain=WORKGROUP


Ensuite, on édite le fichier /etc/fstab, et on y place la ligne suivante :
Code BASH :
//192.168.21.25/linuxtricks /mnt/linuxtricks cifs credentials=/root/.credentials,iocharset=utf8,_netdev 0 0

L'option credentials= infique le fichier contenant les infos d'identfication
L'option iocharset= indique le jeu de caractères à utiliser
L'option _netdev indique d'attendre que le réseau soit opérationnel pour monter le partage

Pour démonter le partage si nécessaire, on utilisera la commande umount :
Code BASH :
umount /mnt/linuxtricks


Parfois, pour une raison que je n'ai pas encore trouvée, il arrive que les partages ne se montent pas au démarrage. C'est probablement dû à une tentative de montage échouée car le réseau n'est quand même pas prêt. C'est pour cela que je préfère la version avec systemd.

Montage auto via une unité systemd



La méthode que je préfère car elle fonctionne à tous les coups est de réaliser un montage avec une unité systemd.
On utilisera l'unité de type .mount qui est prévue à cet effet.

Pour ne pas que les identifiants soient en clair dans l'unité systemd, on peut créer un fichier dans lequel stocker les identifiants. Je créé généralement ce fichier sur mes serveurs dans /root :
Code BASH :
vim /root/.credentials

Aussi, cela permet de ne pas modifier l'unité si le mot de passe est changé.

Voici le contenu :
Code :
username=linuxtricksuser
password=Linuxtrickspass123
domain=WORKGROUP


Le nom de l'unité qu'on créera dans /etc/systemd/system doit avoir le nom du point de montage (les / remplacés par des -) comme par exemple :
Code BASH :
vim /etc/systemd/system/mnt-linuxtricks.mount


Voici le contenu :
Code :
[Unit]
Description=Montage Linuxtricks
Requires=network-online.target
After=network-online.service
[Mount]
What=//192.168.21.25/linuxtricks
Where=/mnt/linuxtricks
Type=cifs
Options=credentials=/root/.credentials,iocharset=utf8
[Install]
WantedBy=multi-user.targe


La section Unit permet d'avoir une description et surtout d'attendre que tous les éléments réseaux soient opérationnels
La section Mount indique quoi monter, où, le protocole et les options.

On recharge ensuite le démon systemd :
Code BASH :
systemctl daemon-reload


On active l'unité pour que le système de fichiers soit monté au démarrage et on démarre l'unité au passage :
Code BASH :
systemctl enable --now mnt-linuxtricks.mount


Pour démonter le partage si nécessaire, on arrêtera l'unité.
Cette page a été vue 23825 fois