Introduction
L’objectif est de transformer notre serveur Ubuntu en un serveur de fichiers capable de partager des documents avec des postes clients Windows, macOS et Linux via le réseau.
Contexte et Justification
Dans une entreprise, les utilisateurs ont besoin d’espaces communs pour collaborer. Bien que le serveur soit sous Linux, la majorité des postes clients sont souvent sous Windows. Le protocole natif de Linux (NFS) n’est pas idéal pour Windows.
Nous utiliserons donc Samba, qui implémente le protocole SMB/CIFS (le langage de partage de fichiers de Windows) sur Linux. Cela permet au serveur d’apparaître dans le « Voisinage Réseau » de Windows comme s’il s’agissait d’un serveur Windows natif.
Concepts Clés
- SMB (Server Message Block) : Protocole de partage de ressources (fichiers, imprimantes) sur un réseau local.
- Share (Partage) : Le nom du dossier tel qu’il apparaît sur le réseau (ex :
\\SRV-UBU\Compta), qui peut être différent du nom réel du dossier sur le disque (/srv/samba/compta). - Workgroup : Groupe de travail logique regroupant les ordinateurs (par défaut
WORKGROUPsur Windows).
Prérequis
Scénario : Un serveur Ubuntu est installé et nous voulons créer un dossier « Public » accessible à tous, et un dossier « Privé » sécurisé.
Avant de commencer :
- Disposer d’un serveur Linux (Ubuntu/Debian) fonctionnel.
- Avoir un accès root ou sudo.
- Avoir un poste client Windows connecté au même réseau pour tester.
Configuration
Installation des Paquets Samba
Justification : Nous installons le service smbd, qui gère le partage de fichiers et les clients nécessaires pour tester.
- Mettez à jour les dépôts et installez Samba :
sudo apt update
sudo apt install samba samba-common-bin -y
- Vérifiez que le service tourne :
systemctl status smbd.

Figure 1 · Service smbd actif
Création de l’Arborescence
Justification : Il est recommandé de ne pas partager des dossiers système (/etc, /home). Nous allons créer un dossier dédié dans /srv (standard pour les services).
- Créez le dossier à partager :
sudo mkdir -p /srv/samba/partage. - Ajustez les permissions (pour cet exemple, le dossier est attribué à l’utilisateur invité
nobody) :
sudo chown -R nobody:nogroup /srv/samba/partage
sudo chmod -R 777 /srv/samba/partage

Figure 2 · Dossier partagé et permissions
Le 777 est utilisé ici pour la pédagogie, afin d’éviter les blocages initiaux. Voir « Conseils et Bonnes Pratiques » pour la production.
Configuration du Fichier smb.conf
Justification : Le fichier /etc/samba/smb.conf est le cerveau de Samba. Il définit qui a le droit d’accéder à quoi.
- Sauvegardez le fichier d’origine :
sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.bak - Éditez le fichier :
sudo nano /etc/samba/smb.conf - Ajoutez ces lignes tout à la fin du fichier :
[Partage_Public]
comment = Serveur de Fichiers Ubuntu
path = /srv/samba/partage
browsable = yes
guest ok = yes
read only = no
create mask = 0755

Figure 3 · Section Partage_Public dans smb.conf
- path : Chemin réel sur le disque Linux.
- guest ok : Autorise la connexion sans mot de passe (invité).
- read only = no : Permet l’écriture (création/suppression de fichiers).
- Vérifiez la syntaxe de votre configuration avec
testparm(si le message « Loaded services file OK » s’affiche sans erreur, c’est bon).

Figure 4 · Résultat de testparm
Création des Utilisateurs Samba
Justification : Si vous voulez sécuriser un dossier, l’utilisateur système Linux ne suffit pas. Il faut créer un mot de passe spécifique Samba.
- Si vous avez un utilisateur système, ajoutez-le à la base Samba :
sudo smbpasswd -a nomutilisateur. - Définissez son mot de passe de partage.

Figure 5 · Ajout d'un utilisateur Samba
Démarrage du Service
Justification : Pour appliquer les changements du fichier de configuration.
- Redémarrez Samba :
sudo systemctl restart smbd
Vérifications
Depuis un client Windows :
- Ouvrez l’explorateur de fichiers (Win + E).
- Dans la barre d’adresse, tapez l’IP du serveur :
\\192.168.1.XX(remplacez par votre IP). - Vous devriez voir le dossier
Partage_Public.

Figure 6 · Partage visible depuis Windows
- Entrez dedans et essayez de créer un fichier « test.txt ». Si ça marche, le serveur est opérationnel.
Depuis un client Linux :
- Ouvrez le gestionnaire de fichiers.
- Allez dans « Autres emplacements » > « Connexion à un serveur ».
- Adresse :
smb://192.168.1.XX.
Dépannage
Erreur « Accès refusé » ou « Vous n’avez pas la permission » :
- C’est souvent un problème de permissions Linux (et non Samba). Samba donne l’autorisation d’entrer, mais le système de fichiers Linux (ext4) bloque l’écriture.
- Vérifiez :
ls -l /srv/samba/et assurez-vous que le dossier a les droits d’écriture (w) pour « others » ou le groupe concerné.
Impossible de se connecter au serveur (timeout) :
- Le pare-feu bloque probablement le port 445 ou 139.
- Sur Ubuntu, autorisez le trafic :
sudo ufw allow samba
Le dossier n’apparaît pas :
- Vérifiez que
browsable = yesest bien dans le fichier de configuration. - Redémarrez le service :
sudo systemctl restart smbd
Conseils et Bonnes Pratiques
Sécurité (Permissions) : Ne jamais laisser guest ok = yes pour des données sensibles. En production, forcez l’authentification (valid users = @nom_du_groupe).
Audit : Utilisez la commande smbstatus pour voir en temps réel qui est connecté à votre serveur et quels fichiers sont ouverts.
Nom NetBIOS : Pour que le serveur soit accessible via un nom (ex : \\MON-SERVEUR) au lieu de l’IP, assurez-vous que le service nmbd est actif, mais la méthode la plus fiable reste le DNS local.
Procédures Liées
- Déploiement d’un Serveur NFS (Alternative pour les clients Linux)
- Intégration d’un Serveur Linux à Active Directory (realmd et SSSD) (Authentification par Active Directory)
- Gestion des Permissions, ACL et Droits Spéciaux (Droits Unix sur les dossiers partagés)
- Mise en Place d’un Serveur de Fichiers avec Partages et Sécurité NTFS (Équivalent sous Windows Server)
- Mise en Place d’un Volume RAID 5 Logiciel sous Linux (Stockage redondant des données)
