Partage de fichiers Windows/Linux avec Samba

Pour échanger des fichiers entre un serveur Linux (Debian/Ubuntu) et des postes Windows, la solution standard est l'installation d'un serveur Samba. Ce guide vous explique comment créer un partage sécurisé accessible via un utilisateur et un mot de passe.

Info : Le protocole utilisé est le SMB (Server Message Block). Linux utilise l'implémentation libre "Samba" pour parler le même langage que Windows.

1. Installation des paquets

Mettez à jour votre liste de paquets et installez Samba :

sudo apt update
sudo apt install samba -y

Vérifiez que le service est bien actif :

sudo systemctl status smbd

2. Préparation du dossier de partage

Nous allons créer un dossier qui contiendra les fichiers partagés. Pour l'exemple, nous le placerons dans /srv/.

# Création du dossier
sudo mkdir -p /srv/samba/partage

# Attribution des droits (Lecture/Ecriture pour le propriétaire et le groupe)
sudo chmod 2770 /srv/samba/partage

3. Gestion des Utilisateurs

Samba possède sa propre base de données d'utilisateurs, mais il faut d'abord que l'utilisateur existe sur le système Linux.

A. Créer un groupe dédié

Pour une meilleure gestion, on crée un groupe qui aura accès au partage.

sudo groupadd smbgroup
sudo chown :smbgroup /srv/samba/partage

B. Créer l'utilisateur Samba

Si vous voulez utiliser votre utilisateur actuel (ex: debian), passez directement à la commande smbpasswd. Sinon, créez-en un nouveau :

# Création utilisateur système (sans dossier home, pas de login shell)
sudo useradd -M -s /sbin/nologin user_partage

# Ajout de l'utilisateur au groupe
sudo usermod -aG smbgroup user_partage

# Définition du mot de passe SAMBA (C'est celui qui sera demandé sous Windows)
sudo smbpasswd -a user_partage

4. Configuration de Samba

Attention : Avant de modifier, sauvegardez toujours le fichier original par sécurité :
sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.bak

Ouvrez le fichier de configuration :

sudo nano /etc/samba/smb.conf

Allez tout en bas du fichier et ajoutez ce bloc de configuration :

[Partage_Wiki]
    comment = Partage de fichiers Samba
    path = /srv/samba/partage
    browsable = yes
    guest ok = no
    read only = no
    create mask = 0770
    directory mask = 0770
    valid users = @smbgroup

Explication des options :

  • [Partage_Wiki] : Le nom qui apparaîtra sous Windows.
  • path : Chemin du dossier sur le serveur Linux.
  • read only = no : Autorise l'écriture (création/suppression de fichiers).
  • valid users : Restreint l'accès uniquement aux membres du groupe smbgroup.

5. Redémarrage et Firewall

Appliquez les changements en redémarrant le service :

sudo systemctl restart smbd

Si vous utilisez un pare-feu (UFW), ouvrez les ports Samba :

sudo ufw allow samba

6. Accès depuis Windows

Sur votre PC Windows, ouvrez l'explorateur de fichiers.

  1. Dans la barre d'adresse, tapez l'adresse IP de votre serveur Linux précédée de deux anti-slashs :
    \\192.168.1.50 (Remplacez par votre IP).
  2. Une fenêtre d'authentification s'ouvre.
  3. Entrez le nom d'utilisateur (ex: user_partage) et le mot de passe défini avec smbpasswd.
  4. Le dossier Partage_Wiki apparaît. Vous pouvez créer un raccourci ou connecter un lecteur réseau (Clic droit > Connecter un lecteur réseau).
Astuce : Si Windows refuse la connexion, vérifiez que le profil réseau Windows est bien sur "Privé" et non "Public".