Partager un dossier Ubuntu avec Windows via Samba, sans accès invité

Partager un dossier Ubuntu avec Windows via Samba, sans accès invité

28 oct. 2026 · 13 min de lecture · 1 vues
// crédit : Illustration ChatGPT
TL;DR Un dossier Ubuntu accessible depuis Windows, sans partage public ni permissions ouvertes à tous. Installation de Samba, compte dédié, pare-feu ciblé et vérifications concrètes : voici la configuration complète.

Vous voulez déposer des fichiers depuis votre PC Windows sur une machine Ubuntu, mais pas transformer tout le serveur en dossier public. La bonne base est un partage Samba avec un compte dédié, des droits limités au dossier concerné et un pare-feu qui ne laisse entrer que le PC autorisé. Le mot de passe seul ne règle pas tout : il faut aussi vérifier où Samba écrit et qui peut joindre le service.

Je vous accompagne ici sur un exemple domestique précis : Ubuntu 24.04 LTS comme serveur, Windows 11 comme client, sans domaine Active Directory. À la fin, vous pourrez ouvrir \\192.168.1.20\Echange, vous identifier et y créer un fichier. Les adresses sont des exemples à remplacer. Les commandes et sorties décrites servent de guide : elles ne constituent pas un test exécuté sur votre réseau.

Repérer les deux machines avant de configurer le partage

Sur Ubuntu, ouvrez un terminal. Sur Windows, ouvrez PowerShell depuis le menu Démarrer. Gardez les deux fenêtres disponibles : les actions côté serveur et les vérifications côté client ne se font pas au même endroit. La machine Ubuntu doit rester allumée pendant l'utilisation du partage.

PUBLICITÉ

Sur Ubuntu, affichez les adresses des interfaces :

ip -br -4 address

Repérez la ligne de votre connexion Ethernet ou Wi-Fi. Une adresse comme 192.168.1.20/24 indique ici l'adresse du serveur. Ignorez 127.0.0.1 et les interfaces Docker ou de machines virtuelles qui ne correspondent pas au réseau de votre PC. Sur Windows, lancez ipconfig et relevez l'adresse IPv4 de la connexion réellement utilisée. Je prendrai 192.168.1.30 pour ce PC.

Une réservation DHCP dans l'administration de la box évite que ces adresses changent après un redémarrage. C'est particulièrement utile ici puisque le pare-feu autorisera un seul client. Un réseau Wi-Fi invité peut isoler les appareils même s'ils utilisent la même box. Dans ce cas, utilisez un réseau local de confiance commun, sans désactiver au hasard ses protections.

SUR LA CHAÎNE · NOUVELLE VIDÉO JBL Charge 3 : NON à l’obsolescence programmée ! je change la batterie et port de charge Voir la vidéo →
Schéma : le PC Windows se connecte au dossier d'échange d'Ubuntu via SMB3 chiffré sur TCP 445, sans redirection depuis Internet.
Schéma explicatif : le partage reste sur le réseau local. Les adresses IP du tutoriel sont des exemples. — Illustration ChatGPT

Le périmètre du tutoriel : une nouvelle configuration de serveur de fichiers autonome. Si Samba héberge déjà des utilisateurs, des partages ou un domaine, ne remplacez pas ses réglages globaux par ceux de cet exemple. Sauvegardez et adaptez la configuration existante. Aucun port SMB ne doit être redirigé vers ce serveur depuis Internet.

Installer Samba et créer un compte réservé au partage

Dans le terminal Ubuntu, installez le serveur et l'outil qui permettra de le vérifier localement :

sudo apt update
sudo apt install samba smbclient

APT peut demander une confirmation avant l'installation. Attendez son retour au terminal puis lancez smbd --version : une version doit s'afficher. Si APT signale un échec de téléchargement ou un paquet introuvable, corrigez l'accès aux dépôts avant de poursuivre. La documentation officielle Ubuntu sur l'installation de Samba décrit le rôle du serveur. Son exemple invité n'est pas la configuration retenue ici.

PUBLICITÉ

Je choisis un compte nommé partage, sans session interactive ni dossier personnel. Commencez par vérifier que ce nom n'existe pas déjà :

id partage

Sur une nouvelle installation, une réponse indiquant que l'utilisateur n'existe pas est normale à ce stade. Si un compte apparaît, ne le modifiez pas sans savoir à quoi il sert : choisissez un autre nom et remplacez-le dans tout le tutoriel. Créez ensuite le nouveau compte et son mot de passe Samba :

sudo useradd --no-create-home --user-group --shell /usr/sbin/nologin partage
sudo smbpasswd -a partage

La seconde commande demande deux fois le mot de passe qui sera utilisé depuis Windows. Pendant la saisie, rien ne s'affiche : c'est normal. Choisissez un secret long et distinct de votre compte administrateur. N'inscrivez pas le mot de passe à la fin d'une commande, où il pourrait rester dans l'historique.

Le compte Linux sert à attribuer les droits sur les fichiers ; l'inscription Samba sert à l'authentification réseau. Ce sont deux bases différentes. Créer seulement l'utilisateur Linux ne suffit donc pas. La documentation Ubuntu sur les comptes et accès Samba détaille cette distinction. Pour contrôler votre création, id partage doit maintenant fonctionner et sudo pdbedit -L -u partage doit retrouver l'entrée Samba. Ne créez pas de mot de passe de connexion Linux avec passwd pour ce tutoriel.

Préparer un dossier qui n'expose pas vos fichiers personnels

Le partage utilisera /srv/samba/echange, un dossier dédié. Vérifiez d'abord avec ls -ld /srv/samba /srv/samba/echange que ces chemins ne désignent pas déjà des données ou une configuration à conserver. L'absence des dossiers est normale. Si le dossier d'échange existe, arrêtez-vous pour choisir un autre chemin plutôt que d'en changer les droits sans examen.

Pour des chemins neufs, créez l'arborescence ainsi :

sudo install -d -o root -g root -m 0755 /srv/samba
sudo install -d -o partage -g partage -m 0700 /srv/samba/echange
ls -ld /srv/samba/echange

Sur la dernière ligne, cherchez drwx------ et les noms partage partage. Le compte dédié peut travailler dans le dossier ; les autres utilisateurs ordinaires du serveur n'y ont pas accès. L'administrateur conserve naturellement ses pouvoirs. Les répertoires parents doivent rester traversables, ce qui est le cas de l'arborescence standard utilisée ici.

Cette séparation évite un classique : partager son dossier personnel puis ouvrir ses permissions pour débloquer Windows. N'appliquez pas de chmod -R 777. Si vous souhaitez exposer un disque externe, il faut d'abord traiter son montage et ses permissions selon son système de fichiers ; les commandes ci-dessus ne règlent pas ce cas.

Déclarer le partage sans activer l'accès invité

Avant l'édition, copiez le fichier de configuration. Le nom ci-dessous doit être disponible ; si vous avez déjà une sauvegarde de ce nom, choisissez un nouveau suffixe pour ne pas l'écraser :

sudo cp -a -i /etc/samba/smb.conf /etc/samba/smb.conf.avant-lrg031
sudo nano /etc/samba/smb.conf

Si nano n'est pas installé, installez-le avec sudo apt install nano ou utilisez votre éditeur habituel. Dans la section [global] existante, ajoutez ou modifiez les lignes suivantes, une seule fois chacune. Ne créez pas une seconde section globale concurrente et ne laissez pas plus bas une autre valeur pour la même option.

[global]
    server role = standalone server
    map to guest = Never
    server min protocol = SMB2_02
    server signing = mandatory
    smb ports = 445

Cette base conserve un fonctionnement autonome, empêche le repli vers un invité et impose la signature. Le service de fichiers utilisera TCP 445. Le chiffrement demandé ci-dessous exigera en pratique SMB3 pour ce partage : un vieux client limité à SMB2 ne pourra pas l'ouvrir.

Tout en bas du fichier, ajoutez le partage suivant :

[Echange]
    path = /srv/samba/echange
    browseable = yes
    read only = no
    guest ok = no
    valid users = partage
    create mask = 0600
    directory mask = 0700
    smb encrypt = required

Echange est le nom visible depuis Windows ; ce n'est pas un chemin Linux. valid users restreint ce partage au compte choisi. Les masques limitent les permissions des nouveaux éléments et smb encrypt = required exige le chiffrement du transport. Ce réglage ne chiffre pas les fichiers stockés sur le disque. La référence officielle de smb.conf pour Samba 4.19 permet de retrouver ces options, notamment si vous adaptez la configuration.

Dans Nano, enregistrez avec Ctrl+O, validez le nom du fichier avec Entrée puis quittez avec Ctrl+X. Les sections de partage actives déjà présentes méritent aussi une lecture : cet ajout ne supprime pas d'autres partages. Sur ce nouveau serveur, commentez ou retirez uniquement les sections dont vous savez qu'elles ne sont pas nécessaires, sans toucher à une installation de production.

Vérifier le serveur avant d'ouvrir l'accès réseau

Relisez la configuration avec l'outil prévu pour cela :

testparm -s

La sortie doit contenir votre section [Echange] avec le bon chemin et ne pas signaler de paramètre inconnu ni d'erreur de chargement. Une indication du type Loaded services file OK. confirme la lecture du fichier, pas encore l'accès aux données. Si une faute est signalée, corrigez-la avant le redémarrage. Le manuel de testparm précise justement la limite de ce contrôle.

Sur ce nouveau serveur, démarrez Samba et activez son démarrage automatique :

sudo systemctl enable smbd
sudo systemctl restart smbd
systemctl is-active smbd
smbclient //127.0.0.1/Echange -U partage -c 'ls'

systemctl doit répondre active. La dernière commande demande le mot de passe Samba puis doit afficher le contenu du partage, même encore vide. Elle fait un véritable accès authentifié au serveur local. Si elle échoue, inutile de modifier Windows pour l'instant : vérifiez le compte, le chemin et les droits côté Ubuntu.

Schéma des trois contrôles d'accès : réseau et port 445, compte Samba puis droits Linux du dossier.
Schéma explicatif : atteindre le serveur ne suffit pas. Le compte Samba et les permissions Linux doivent aussi autoriser l'accès. — Illustration ChatGPT

Le schéma aide à situer la panne : une connexion peut atteindre Samba et quand même échouer sur les droits Linux. Inversement, un dossier parfaitement accessible localement n'autorise pas un paquet réseau bloqué par le pare-feu.

N'autoriser que le PC Windows à joindre Samba

Regardez l'état d'UFW sur Ubuntu avec sudo ufw status verbose. S'il est actif, vérifiez que les connexions entrantes sont refusées par défaut et recherchez une éventuelle règle plus large déjà autorisée pour Samba ou le port 445. Ajouter une règle précise ne retire pas une ancienne règle ouverte à tout le monde.

Pour le PC d'exemple 192.168.1.30, la règle à ajouter est :

sudo ufw allow from 192.168.1.30 to any port 445 proto tcp comment 'Samba PC Windows'
sudo ufw status numbered

Remplacez cette adresse par celle relevée sur Windows. La règle autorise cette machine à joindre le service, mais elle ne remplace pas le mot de passe. Si vous repérez une ancienne autorisation globale comme Samba ALLOW Anywhere, relevez son numéro, confirmez qu'elle est inutile puis supprimez uniquement cette règle avec sudo ufw delete NUMERO, en remplaçant NUMERO par le numéro affiché. Relancez l'affichage après chaque suppression : les numéros changent. Vérifiez aussi les entrées IPv6.

Si UFW est inactif, l'ajout précédent ne filtre encore rien. Sur une machine neuve administrée depuis sa console locale, sans autre service à maintenir accessible, vous pouvez ensuite poser les politiques et l'activer :

sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw enable
sudo ufw status verbose

L'état doit être actif, avec refus entrant par défaut et l'autorisation ciblée sur le port 445. Si vous êtes connecté en SSH, n'activez pas ces politiques en copiant ce bloc : préservez d'abord votre accès d'administration et les services indispensables selon votre configuration, ou intervenez à la console. De même, un serveur ayant déjà des règles exige leur examen avant toute modification. Le guide officiel Ubuntu sur UFW détaille la gestion du pare-feu.

Dans la box, il n'y a aucun port à rediriger. L'accès direct présenté ici ne nécessite ni les anciens ports NetBIOS ni l'activation de SMB1. Pour joindre le partage en déplacement, prévoyez un VPN adapté plutôt qu'une ouverture publique de TCP 445.

Ouvrir le dossier depuis Windows et prouver que l'écriture fonctionne

Sur le PC Windows autorisé, ouvrez l'Explorateur de fichiers avec Windows+E. Cliquez dans la barre d'adresse, pas dans la recherche, puis entrez :

\\192.168.1.20\Echange

Remplacez l'adresse par celle d'Ubuntu. Il n'est pas nécessaire que le serveur apparaisse dans la rubrique Réseau de l'Explorateur : vous lui donnez directement sa destination. Sur un réseau d'entreprise géré, une connexion par adresse peut être refusée par la politique d'authentification ; ce tutoriel domestique ne justifie pas de modifier cette politique.

Dans la demande d'identification, utilisez le compte partage et le mot de passe défini par smbpasswd. Ce n'est ni le code PIN Windows Hello ni forcément votre mot de passe Linux. Si Windows propose votre compte Microsoft, choisissez l'option permettant d'utiliser un autre compte et saisissez les identifiants Samba. Vous pouvez laisser l'enregistrement des identifiants décoché pour le premier essai.

Dans le dossier ouvert, faites un clic droit sur une zone vide puis créez un dossier nommé verification-windows. Copiez-y un petit fichier texte sans donnée sensible. Ouvrez cette copie depuis le partage pour vérifier qu'elle reste lisible. Sur Ubuntu, contrôlez qu'elle existe bien au bon endroit :

sudo ls -l /srv/samba/echange/verification-windows

Vous devez retrouver le fichier et son propriétaire partage. Pour contrôler aussi le protocole de la connexion en cours, ouvrez PowerShell en administrateur sur Windows et lancez :

Get-SmbConnection |
    Where-Object ShareName -eq 'Echange' |
    Select-Object ServerName, ShareName, UserName, Dialect, Encrypted

Gardez le dossier ouvert pendant ce contrôle. La ligne du partage doit indiquer un dialecte 3.x et Encrypted à True. L'absence de ligne demande de vérifier que vous interrogez bien une connexion active. La documentation Microsoft de Get-SmbConnection explique les informations disponibles.

Une fois l'essai terminé, vous pouvez supprimer uniquement le dossier de vérification depuis Windows. Ce petit aller-retour est plus probant qu'une simple apparition du serveur dans la liste Réseau : il valide un accès, une écriture et une lecture réels.

Quand Windows refuse encore la connexion

Le chemin réseau reste introuvable

Dans PowerShell, lancez Test-NetConnection 192.168.1.20 -Port 445, avec l'adresse du serveur. Si TcpTestSucceeded vaut False, revenez à l'adresse Ubuntu, au service smbd, à l'adresse source autorisée dans UFW et à l'isolation éventuelle du Wi-Fi. Un ping réussi ne prouve pas que TCP 445 passe ; un ping bloqué ne prouve pas non plus que Samba est inaccessible.

Si le test TCP réussit mais que le dossier n'existe pas, vérifiez le nom Echange dans testparm -s. Le nom du partage et celui du répertoire Linux n'ont pas à être identiques. Un service joignable ne garantit pas que le chemin demandé soit déclaré.

Le mot de passe est redemandé ou un accès invité est bloqué

Vérifiez sudo pdbedit -L -u partage puis, si nécessaire, redéfinissez uniquement son mot de passe Samba avec sudo smbpasswd partage. Retentez d'abord le contrôle local avec smbclient. Si celui-ci fonctionne, regardez ensuite les identifiants conservés dans Windows, dans le Gestionnaire d'identification, rubrique Informations d'identification Windows. Ne retirez que l'entrée correspondant exactement à ce serveur si elle est périmée.

Fermez également les fenêtres et documents ouverts sur ce serveur avant de déconnecter une ancienne session. Dans un terminal Windows, net use permet de repérer les connexions en cours. Ne supprimez pas toutes les connexions réseau pour résoudre un seul conflit d'identifiants. Reconnectez le partage avec le compte dédié, sans réactiver l'accès invité.

Windows 11 impose des protections qui peuvent faire échouer les anciens partages anonymes. La bonne correction consiste ici à fournir des identifiants valides et un serveur compatible, pas à désactiver la signature ou à réinstaller SMB1. Le guide Microsoft sur la signature SMB explique ces exigences et leurs différences selon l'édition de Windows.

Le dossier s'ouvre, mais vous ne pouvez rien créer

Relisez read only = no dans la section du partage puis contrôlez l'accès Linux sans passer par le réseau :

sudo -u partage test -w /srv/samba/echange && echo 'Ecriture locale autorisee'
namei -l /srv/samba/echange

Si le message d'écriture ne s'affiche pas, examinez les propriétaires et les droits des parents plutôt que d'ouvrir récursivement les permissions. Si tout paraît cohérent, consultez sudo journalctl -u smbd -n 50 --no-pager et les journaux Samba dans /var/log/samba/. Un contrôle de sécurité système ou un montage particulier peut aussi intervenir. Ne désactivez pas AppArmor pour masquer un refus dont la cause n'est pas comprise.

Conserver un partage utile sans en élargir les droits

Vous disposez maintenant d'un emplacement limité, utilisable depuis le PC choisi avec un compte identifié. Si vous voulez seulement distribuer des fichiers, changez read only en yes, validez avec testparm -s puis redémarrez smbd hors transfert en cours. Fermez et rouvrez les connexions Windows avant de vérifier que la création d'un fichier est bien refusée.

Pour annuler ce tutoriel sur le serveur neuf concerné, restaurez la sauvegarde de smb.conf, contrôlez-la avec testparm -s puis redémarrez smbd. Retirez la règle UFW spécifique après l'avoir retrouvée avec sudo ufw status numbered. Le dossier et ses fichiers peuvent rester en place : annuler l'accès réseau ne demande pas de les effacer. Ne restaurez pas aveuglément une ancienne configuration si des changements utiles ont été ajoutés depuis la sauvegarde.

Enfin, un compte autorisé à écrire peut aussi supprimer ou chiffrer ce qu'il voit. Le mot de passe, le pare-feu et le chiffrement du transport ne constituent pas une sauvegarde. Gardez une copie indépendante des fichiers importants et un système à jour.

Questions fréquentes

Faut-il installer Samba sur Windows ?

Non. Windows 11 dispose du client SMB nécessaire. L'installation de ce tutoriel concerne Ubuntu, qui héberge le dossier. Il n'est pas nécessaire d'activer la fonctionnalité ancienne SMB1.

Puis-je autoriser un deuxième PC ?

Oui, en ajoutant une règle UFW ciblée sur son adresse et en réservant cette adresse dans la box. Pour identifier les personnes séparément, créez des comptes distincts puis adaptez les droits du dossier avec un groupe plutôt que de distribuer le même secret à tout le monde.

Pourquoi le partage disparaît-il après une veille ?

Le serveur doit être allumé et joignable. Vérifiez sa veille et son adresse avant de modifier Samba. Une réservation DHCP stabilise l'adresse, mais elle n'empêche pas la machine de dormir.

Le dossier est-il chiffré sur le disque ?

Non. La configuration exige le chiffrement des échanges SMB. Le chiffrement du stockage relève d'un autre mécanisme, par exemple un volume chiffré, avec ses propres contraintes de déverrouillage et de sauvegarde.

Les guides officiels pour adapter la configuration

Cette astuce t'a aidé ? ça a marché ?
écrit par LaRevueGeek décrypte l'actualité high-tech et la culture geek depuis 2014 : tests, bons plans, ciné et tout ce qui touche, de près ou de loin, au monde des geeks.
S'abonner · 33,2 k
$ ls ./a-lire-aussi

À lire aussi

Toutes les astuces →

Commentaires

0
~/commentaires — nouveau
$ connecte-toi pour donner ton avis…
connecté en invité · se connecter Créer un compte
0% lu
💬 0