Linux : comment monter un partage SMB (Windows) ?
Sommaire
I. Présentation
Comment monter un partage de fichiers Windows sur Linux ? Ou, autrement dit, comment accéder à un partage réseau via le protocole SMB (CIFS) depuis Linux ? Cet article va répondre à ces deux questions !
Sous Windows, le protocole SMB est pris en charge par défaut. Il est ainsi naturel de se connecter à un partage réseau distant par l'intermédiaire de ce protocole. Sous Linux, l'accès à un partage SMB implique l'installation d'un paquet spécifique, puis l'utilisation de plusieurs commandes pour "monter" le partage et disposer d'un accès en local (comme un lecteur réseau).
Pour ma part, je vais utiliser une machine sous Ubuntu, mais vous pouvez utiliser une machine Debian, AlmaLinux ou encore Fedora. L'objectif sera d'accéder au partage réseau suivant : \\srv-adds-01.it-connect.local\Partage. Ce partage est hébergé sur une machine Windows Server, mais il pourrait s'agir d'une autre machine Linux ou encore d'un NAS.
Cet article n'aborde pas le fonctionnement du protocole SMB en lui-même, ni la création d'un partage de fichiers SMB sur Windows ou sur Linux. Si vous souhaitez approfondir ces sujets, voici nos ressources :
- Le protocole SMB pour les débutants
- Serveurs de fichiers – Créer son premier partage sous Windows Server
- Serveurs de fichiers - Installer et configurer Samba 4 sous Linux
Version originale de l'article : 15 mars 2013
II. Installation des prérequis
Nous allons commencer par installer le paquet "cifs-utils" puisqu'il est nécessaire pour monter un partage SMB (CIFS) sur une machine Linux. Ouvrez un terminal et exécutez les commandes suivantes :
sudo apt-get update
sudo apt-get install cifs-utils -y
La première étape est accomplie !
III. Monter le partage CIFS sur Linux
A. Créer un point de montage
Linux doit pouvoir associer le partage distant à un chemin local, que l'on appelle un point de montage. Il convient donc de créer un répertoire qui servira à mapper le partage distant. Ici, nous créons le répertoire "/mnt/partage". Ce sera notre chemin d'accès local pour accéder au contenu du partage.
sudo mkdir /mnt/partage
B. Monter le partage avec mount
Pour monter le partage, nous allons utiliser la commande mount. Sous Linux, cette commande s'utilise pour rendre accessible un partage réseau ou un périphérique de stockage dans le système de fichiers local. Voici la commande à exécuter pour répondre à notre besoin :
sudo mount -t cifs //srv-adds-01.it-connect.local/Partage /mnt/partage -o [email protected]
Quelques explications sur la syntaxe utilisée :
- -t cifs : spécifie le type de système de fichiers à utiliser, ici CIFS, soit le SMB
- //srv-adds-01.it-connect.local/Partage : indique l'adresse complète du partage réseau
- /mnt/partage : indique le point de montage local où le contenu du partage réseau sera accessible une fois monté. Ici, les fichiers du dossier partagé seront visibles dans /mnt/partage.
- -o : déclarer des options de montage
- [email protected] : fournit le nom d'utilisateur pour s'authentifier sur le partage réseau. Ici, il s'agit de l'utilisateur "florian.burnel" dans le domaine "it-connect.local" (compte Active Directory).
Pour préciser directement le mot de passe (en clair), il faudrait utiliser cette syntaxe :
sudo mount -t cifs //srv-adds-01.it-connect.local/Partage /mnt/partage -o [email protected],password=P@ssword!
Remarque : à la place du nom DNS du serveur, vous pouvez spécifier une adresse IP. Néanmoins, il est préférable de travailler avec des noms complets (FQDN).
Nous devons ensuite saisir le mot de passe du compte, de façon interactive. S'il n'y a pas de retour dans la console, c'est que l'opération s'est déroulée avec succès. Pour s'en convaincre, il suffit de lister le contenu du répertoire "/mnt/partage" : il doit afficher le contenu du partage, visible sur le serveur de fichiers.
ls -l /mnt/partage

Nous pouvons accéder directement à ce répertoire via la commande cd, mais aussi afficher des informations sur ce partage via la commande df.
df -h

L'inconvénient de cette méthode (qui peut être un avantage, selon notre besoin), c'est qu'elle monte le partage de fichiers de façon temporaire. Si vous redémarrez votre machine Linux, le partage de fichiers ne sera plus accessible ! Le répertoire "/mnt/partage" sera toujours présent, mais le partage distant ne sera plus monté !
C. Monter le partage automatiquement au démarrage de Linux
Désormais, nous allons faire évoluer notre configuration pour faire en sorte que le partage de fichiers Windows soit monté automatiquement au démarrage de notre machine Linux. Cela nous évitera de devoir rejouer la commande mount à chaque fois.... Au-delà de monter automatiquement le partage, nous devons aussi gérer les identifiants afin de ne pas avoir besoin de saisir le mot de passe de l'utilisateur à chaque fois.
Nous allons commencer par modifier le fichier "/etc/fstab" pour ajouter un point de montage automatique.
sudo nano /etc/fstab
Puis, dans ce fichier, nous allons ajouter cette ligne :
//srv-adds-01.it-connect.local/Partage /mnt/partage cifs credentials=/etc/smb-partage-creds 0 0

Quelques explications :
- //srv-adds-01.it-connect.local/Partage : partage distant à monter
- /mnt/partage : point de montage local
- cifs : protocole de fichiers à utiliser (SMB)
- credentials=/etc/smb-partage-creds : fichier avec les identifiants
- 0 0 : options de dump et de vérification du système de fichiers (0 ou 1)
Nous pourrions aussi préciser les identifiants directement dans le fichier fstab, mais il est préférable d'utiliser la méthode évoquée ci-dessus.
Enregistrez et fermez ce fichier.
À présent, nous allons créer le fichier "/etc/smb-partage-creds", car il va nous servir à stocker les identifiants.
sudo nano /etc/smb-partage-creds
Indiquez le nom d'utilisateur et le mot de passe de cette façon :
[email protected]
password=P@ssword!
Enregistrez et fermez le fichier. Pour éviter les accès non autorisés, nous allons modifier les permissions sur ce fichier avec la commande chmod :
sudo chmod 600 /etc/smb-partage-creds
Vous n'avez plus qu'à redémarrer votre machine Linux pour tester la configuration (ou à recharger fstab) ! Si elle est correcte, vous devriez avoir accès au partage SMB et à ses données !
IV. Démonter un partage CIFS sur Linux
Pour terminer, nous allons simplement voir comment démonter un partage CIFS sur Linux. Autrement dit, si le partage est monté et que vous souhaitez le déconnecter. Il vous suffit d'utiliser la commande umount et de spécifier le point de montage local.
Dans notre cas, voici la commande à exécuter :
sudo umount /mnt/partage
V. Conclusion
Suite à la lecture de ce tutoriel, vous avez maintenant toutes les bases nécessaires pour monter un partage CIFS (SMB) sur votre système Linux.
En suivant ces étapes, vous devriez être en mesure de monter un partage de fichiers de façon temporaire ou permanente, et même de le déconnecter du système. Si vous rencontrez des difficultés, vérifiez la syntaxe de vos commandes, ainsi que les permissions de l'utilisateur au niveau du partage distant.


Bonjour,
Merci pour le tuto.
Avez vous des infos sur les droits.
Le montage est ok mais je n’ai pas les droits pour modifier les fichiers.
Cordialement
Bonjour,
je vous oriente vers ce tutoriel où l’on parle des droits UNIX : http://www.it-connect.fr/la-commande-chmod/
Cdlt
Merci, tout fonctionne maintenant.
Bonne continuation.
Merci pour ce tuto
Je me bats depuis un certain temps pour arriver à monter le partage en auto. Je pensais que mettre auto dans les options de la ligne fstab suffisait mais nom. Il me faut faire mount -a. Ce qui veut dire que quelqu’un qui n’a pas le mot de passe du superutilisateur ne peut pas le faire.
J’ai lu que si le montage n’avait pas lieu automatiquement au boot c’est parce que le réseau n’arrive pas tout de suite et qu’il faut rajouter _netdev dans les options. Malgré cela rien n’y fait.
Bonjour.
Pour le montage automatique c’est beaucoup plus élégant d’utiliser pam_mount, que la fstab !
Bonjour,
Merci pour vos documentations sacrément bien construite.
Ce tutoriel est obsolète depuis la version du protocole SMB v2 et v3.
Par mesure de sécurité, il est emportant de documenté la nouvelle procédure.
apt get install smbclient cifs-util
Tester votre configuration avec cette commande :
mount -t cifs -o [email protected],password=motdepasse,vers=3.11 //serveur/dossier_montage /mnt/dossier_linux/
L’option vers=3.11 force le montage avec la dernière version du protocole SMB
On peut aussi indiquer l’option sec=arg. La documentation indique que par défaut il utilise le mode ntlm avec la version SMB v3.8 et supérieur. (documentation : man mount.cifs, section sec=arg)
Si la commande se déroule bien, créer un fichier /root/.smbcredentials avec les droits 600.
Ne plus utiliser la méthode :
username=nom_utilisateur
password=motdepasse
domain=DOMAINE_NETBIOS
mais plutôt :
[email protected]
password=motdepasse
Si besoin, tester avec la commande :
mount -t cifs -o credentials=/root/.smbcredentials,vers=3.11 //serveur/dossier_montage /mnt/dossier_linux/
Si le dossier se monte sans erreur, on peut ajouter la ligne dans le /etc/fstab :
//serveur/dossier_montage /mnt/dossier_linux/ cifs credentials=/root/.smbcredentials,uid=33,gid=1000,file_mode=0770,dir_mode=0770,iocharset=utf8,vers=3.11
Pour information sur les options :
Adapter l’UID utilisateur avec uid, le groupe utilisateur avec gid, les droits d’écriture sur les fichiers avec file_mode et les droits d’écriture sur les dossiers avec dir_mod (très important).
Et enfin, tester la configuration dans le fatal avec la commande
Mount -a
Les commandes ci-dessous seront à utiliser avec sudo ou en tant que root sur vos serveurs.
Bonjour,
J’ai un partage windows que je monte sur un srv linux via mount.cifs en version 3.0.
J’aimerai le scripter et faire un montage auto mais j’ai besoins de credentials, je les ai mis en place mais ce qui me gêne c’est que les identifiants sont en clair, ya til possibilité de chiffrer le fichier ? avec quel outil ? Ya til un autre moyen de stocker les login/mdp autrement pour le montage auto ? Merci à vous
Merci pour le tuto.
Vraiment tres bien expliqué simple et clair super