Partage SMB autonome
Le cas recommandé ici
Dossier partagé, utilisateurs locaux, droits UNIX, configuration smb.conf et service smbd.
Installer Samba 4 sur Debian peut vouloir dire deux choses très différentes: monter un partage SMB fiable pour des clients Windows, macOS ou Linux, ou construire un contrôleur de domaine Active Directory. Ne mélangez pas les deux au départ. Dans la majorité des homes labs, petits bureaux et installations domotiques, le besoin réel est beaucoup plus simple: un serveur Debian qui expose un dossier proprement, avec des utilisateurs nommés, des droits cohérents et une configuration vérifiable.
Le bon objectif est donc clair: un partage accessible sur le réseau local, sans accès invité, avec une configuration Samba lisible et des permissions Linux qui ne se contredisent pas. C’est aussi ce qui évite les articles cassés par des commandes empilées sans contexte. Ici, chaque bloc est une commande ou un fichier à copier, et chaque étape a un test de validation.
Le piège classique consiste à lire “Samba 4” et à partir directement sur Active Directory. C’est inutile pour un partage de fichiers domestique, un serveur de sauvegarde local ou un dossier commun entre machines. Dans ce cas, Samba tourne comme serveur autonome: les utilisateurs sont gérés localement, les partages sont décrits dans /etc/samba/smb.conf, et le service principal est smbd.
Le mode Active Directory Domain Controller est un autre chantier. Il implique DNS, Kerberos, base d’annuaire, provisioning du domaine, stratégie de nommage et clients joints au domaine. Si vous voulez juste accéder à \\serveur\partage depuis Windows ou monter un partage depuis Linux, commencez par le mode autonome. Vous aurez moins de pièces mobiles et beaucoup moins de diagnostics inutiles.
Le choix du mode détermine les paquets, les services et la méthode de dépannage.
Le cas recommandé ici
Dossier partagé, utilisateurs locaux, droits UNIX, configuration smb.conf et service smbd.
Projet d’infrastructure
Domaine complet, DNS/Kerberos, comptes centralisés, clients joints et procédure Samba dédiée.
À éviter par défaut
Pratique en test, mais rarement défendable sur un réseau où transitent sauvegardes ou documents.
Partez d’un serveur Debian à jour, avec une adresse IP stable. Une réservation DHCP suffit si vous maîtrisez votre routeur; une IP statique convient aussi. Le point important est que les clients retrouvent toujours le même serveur. Samba n’aime pas les environnements où l’adresse change sans prévenir.
Je préfère une réservation DHCP documentée à une IP statique posée dans l’urgence. Le résultat est le même pour les clients, mais vous gardez une source de vérité réseau côté routeur.
Avant d’installer quoi que ce soit, mettez à jour les dépôts et le système. Sur une machine de production, lancez cette étape dans une fenêtre où un redémarrage éventuel ne pose pas problème.
sudo apt update
sudo apt upgrade
Installez ensuite Samba et les outils clients. Le paquet smbclient n’est pas strictement obligatoire pour servir un partage, mais il simplifie les tests depuis le serveur lui-même.
sudo apt install samba smbclient
Vérifiez la version et l’état du service. Le nom du service à contrôler pour un partage classique est smbd. Le service nmbd peut être utile selon les besoins de découverte NetBIOS, mais il n’est pas le cœur d’un accès SMB moderne.
smbd --version
systemctl status smbd --no-pager
Un partage Samba fiable commence côté système de fichiers. Si Linux refuse l’écriture, Samba ne pourra pas la rendre magique. Créez donc un groupe dédié, un dossier propre et des permissions cohérentes. Dans cet exemple, le groupe s’appelle sambashare et le dossier partagé est /srv/samba/domotique.
sudo groupadd --force sambashare
sudo mkdir -p /srv/samba/domotique
sudo chgrp sambashare /srv/samba/domotique
sudo chmod 2770 /srv/samba/domotique
Le bit 2 dans 2770 n’est pas décoratif: il force les nouveaux fichiers créés dans le dossier à conserver le groupe du répertoire. C’est la ligne qui évite beaucoup de tickets “je peux écrire mais mon collègue ne peut plus modifier”.
Ajoutez ensuite un utilisateur au groupe. Exemple avec un compte nommé nicolas. Si le compte n’existe pas encore sur Debian, créez-le d’abord. Si vous utilisez déjà un utilisateur système, gardez-le et ajoutez-le seulement au groupe.
sudo adduser nicolas
sudo usermod -aG sambashare nicolas
Créez maintenant le mot de passe Samba. Ce mot de passe peut être différent du mot de passe Linux. Il sera utilisé par les clients SMB.
sudo smbpasswd -a nicolas
sudo smbpasswd -e nicolas
Avant de modifier smb.conf, sauvegardez le fichier. C’est non négociable. Une erreur de syntaxe se répare vite quand le fichier original existe encore.
sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.bak
sudo nano /etc/samba/smb.conf
Dans la section [global], gardez une configuration simple. Le nom de groupe de travail peut rester WORKGROUP si vous êtes sur un réseau domestique classique. Le paramètre server role = standalone server rend l’intention explicite.
[global]
workgroup = WORKGROUP
server role = standalone server
map to guest = never
usershare allow guests = no
log file = /var/log/samba/log.%m
max log size = 1000
Ajoutez ensuite le partage. Le nom entre crochets est celui que les clients verront sur le réseau. Les lignes importantes sont valid users, force group, create mask et directory mask. Elles évitent le grand classique: un fichier créé par un utilisateur mais inutilisable par le groupe.
[domotique]
comment = Partage domotique local
path = /srv/samba/domotique
browseable = yes
read only = no
guest ok = no
valid users = @sambashare
force group = sambashare
create mask = 0660
directory mask = 2770
Ne redémarrez pas Samba à l’aveugle. Lancez testparm pour vérifier la syntaxe et afficher la configuration chargée. Si cette commande échoue, corrigez smb.conf avant d’aller plus loin.
testparm /etc/samba/smb.conf
Si testparm ne signale pas d’erreur, redémarrez le service et vérifiez son état. Là encore, ne passez pas à l’étape suivante tant que le service n’est pas stable.
sudo systemctl restart smbd
systemctl status smbd --no-pager
Depuis le serveur Debian, testez la liste des partages avec smbclient. Cette commande vérifie déjà une partie de l’authentification et de la publication du partage.
smbclient -L localhost -U nicolas
Testez ensuite l’accès direct au partage. Créez un fichier simple, puis vérifiez sur le système de fichiers que le groupe et les droits sont corrects.
smbclient //localhost/domotique -U nicolas
smb: \> put /etc/hostname test-hostname.txt
smb: \> ls
smb: \> quit
ls -l /srv/samba/domotique
Si une couche échoue, ne cherchez pas encore côté Windows ou macOS.
Le fichier smb.conf se charge-t-il sans erreur ?
Impact décision : Si non, corrigez la syntaxe avant tout redémarrage.
Le service smbd est-il actif après redémarrage ?
Impact décision : Si non, regardez les journaux Samba et systemd.
Le fichier créé a-t-il le bon groupe et les bons masques ?
Impact décision : Si non, revoyez chgrp, chmod, force group et masks.
Si un pare-feu local est actif, ouvrez Samba uniquement sur le réseau de confiance. Avec ufw, la règle applicative Samba peut suffire dans un réseau domestique simple. Dans un environnement plus strict, limitez la règle à votre sous-réseau.
sudo ufw allow from 192.168.1.0/24 to any app Samba
sudo ufw status verbose
Adaptez évidemment 192.168.1.0/24 à votre LAN. N’exposez pas SMB directement sur Internet. Si vous avez besoin d’un accès distant, passez par un VPN. SMB est fait pour un réseau de confiance, pas pour devenir un service public.
Depuis Windows, utilisez l’explorateur avec le chemin UNC du serveur. Remplacez l’adresse par celle de votre Debian. Si l’authentification échoue alors que smbclient fonctionne en local, vérifiez le nom d’utilisateur transmis par Windows: il peut préfixer le compte avec le nom de la machine.
\\192.168.1.20\domotique
Depuis macOS, le Finder accepte une URL SMB. Le raccourci “Se connecter au serveur” permet d’entrer l’adresse suivante.
smb://192.168.1.20/domotique
Depuis un autre poste Linux, installez les outils clients si nécessaire, puis testez avec smbclient avant de monter le partage en dur. Ce test isole les problèmes d’identifiants avant de toucher à /etc/fstab.
smbclient //192.168.1.20/domotique -U nicolas
Pour un montage temporaire côté Linux, créez un point de montage et utilisez mount.cifs. Évitez de laisser le mot de passe en clair dans l’historique shell sur une machine partagée.
sudo apt install cifs-utils
sudo mkdir -p /mnt/domotique
sudo mount -t cifs //192.168.1.20/domotique /mnt/domotique -o username=nicolas
Le dépannage Samba devient pénible quand on saute les couches. Commencez toujours par le serveur, puis seulement ensuite le client. Un accès Windows qui échoue ne prouve pas que Windows est en cause; il peut simplement révéler un groupe Linux oublié.
| Symptôme | Cause probable | Commande utile |
|---|---|---|
| Le partage n’apparaît pas | Service arrêté, pare-feu ou découverte réseau | systemctl status smbd --no-pager |
| Mot de passe refusé | Compte Samba absent ou désactivé | sudo pdbedit -L |
| Lecture OK, écriture refusée | Droits Linux ou masques incohérents | ls -ld /srv/samba/domotique |
| Configuration ignorée | Erreur dans smb.conf ou mauvais partage | testparm /etc/samba/smb.conf |
| Accès lent ou instable | DNS, Wi-Fi, switch, stockage ou logs à vérifier | journalctl -u smbd -n 80 |
Pour lire les journaux récents du service, utilisez journalctl. C’est souvent plus direct que de chercher dans tous les fichiers de logs.
journalctl -u smbd -n 80 --no-pager
Si un utilisateur existe côté Linux mais pas côté Samba, ajoutez-le avec smbpasswd. Si le groupe est mauvais, corrigez-le côté Linux. Si testparm affiche un autre chemin que celui attendu, vous avez probablement modifié la mauvaise section ou oublié un crochet de partage.
Ne passez pas à l’usage réel tant que ces points ne sont pas vérifiés.
Un contrôleur de domaine Samba 4 ne se résume pas à ajouter deux lignes dans smb.conf. Il faut préparer le nom de domaine, le realm Kerberos, le DNS, le provisioning, la résolution de noms et les clients qui rejoindront le domaine. Dans ce scénario, ne partez pas du fichier de configuration minimal ci-dessus: suivez la procédure AD DC officielle.
Le bon réflexe est de décider avant l’installation. Pour un partage de fichiers, vous gardez Debian simple et robuste. Pour un domaine, vous concevez un service d’identité. Ce n’est pas le même niveau de responsabilité, ni le même plan de sauvegarde. Un AD DC mal sauvegardé ou mal nommé devient vite un point de panne central.
Si vous hésitez encore entre les deux, c’est probablement que vous n’avez pas besoin d’AD DC aujourd’hui. Montez le partage, documentez les utilisateurs, testez la restauration, puis seulement ensuite décidez si la gestion centralisée des identités vaut cette complexité.
Ma recommandation est nette: commencez par le serveur autonome si vous voulez partager des dossiers. Passez à l’AD DC seulement si vous avez un vrai besoin de comptes centralisés, de jonction au domaine et de gestion des postes. Dans un lab domotique, un atelier ou une petite installation familiale, le serveur autonome couvre déjà l’essentiel.
Une bonne installation Samba sur Debian n’est pas la plus longue. C’est celle que vous pouvez relire trois mois plus tard sans deviner pourquoi un droit existe. Un groupe, un dossier, un partage, un test testparm, un accès smbclient, puis un essai depuis le client réel: cette séquence suffit pour construire une base solide.
Évitez les raccourcis qui coûtent cher: accès invité par défaut, droits 777, absence de sauvegarde, pare-feu trop large, confusion avec Active Directory. Prenez Samba autonome si vous voulez un partage réseau propre. Évitez de monter un AD DC si vous n’avez pas déjà un besoin clair de domaine.