samba ubuntu 24.04 disque dur externe : partage monté après redémarrage

Disque externe et Samba sur Ubuntu 24.04 : un partage qui reste monté après redémarrage

Pour partager un disque dur externe avec Samba sur Ubuntu 24.04, commencez par stabiliser son montage, puis créez un accès réservé aux utilisateurs autorisés. Les permissions du disque et celles de Samba doivent toutes deux permettre l’accès. Cette configuration convient à un réseau local et aux clients Windows, macOS, Linux et mobiles.

1. Donner au disque un point de montage durable

Samba expose des dossiers locaux avec le protocole SMB, souvent appelé SMB/CIFS. Il ne monte pas lui-même le disque USB. Identifiez d’abord sa partition, son système de fichiers et son éventuel point de montage :

Vérifiez vos connaissances sur Samba sous Ubuntu 24.04

Répondez aux 6 questions, puis validez vos réponses pour obtenir votre score et la correction.

0/6 réponses sélectionnées Score : —

lsblk -f

Repérez le disque à l’aide de sa taille et de son étiquette. /dev/sdb1 est un exemple, pas une valeur à copier sans vérification. Un montage sous /media/votre-nom-utilisateur peut convenir pour un essai, mais dépendre de l’ouverture de session. Pour un partage permanent, préférez /mnt/disque-externe.

Monter la partition sans la reformater

Si la partition est déjà montée, fermez les applications qui l’utilisent et démontez-la proprement avant de changer son emplacement. Ces commandes ne formatent pas le disque :

sudo mkdir -p /mnt/disque-externe

sudo mount /dev/sdb1 /mnt/disque-externe

findmnt /mnt/disque-externe

La dernière commande doit afficher la partition attendue. Si rien ne s’affiche, ne poursuivez pas : vous risqueriez de partager le dossier vide situé sur le disque système plutôt que le contenu du disque externe.

Enregistrer le montage dans fstab

Récupérez l’UUID avec sudo blkid /dev/sdb1, puis sauvegardez et ouvrez le fichier de montage :

sudo cp /etc/fstab /etc/fstab.bak

sudo nano /etc/fstab

Pour une partition ext4 uniquement, ajoutez cette ligne en remplaçant UUID_REEL par l’identifiant réel :

UUID=UUID_REEL /mnt/disque-externe ext4 defaults,nofail 0 2

Testez la ligne avec sudo mount -a, puis vérifiez le résultat avec findmnt /mnt/disque-externe. L’option nofail permet au système de démarrer si le disque est absent, mais ne garantit pas que Samba pourra accéder aux fichiers. L’option _netdev concerne les montages réseau, pas ce disque USB local.

Après un redémarrage, vérifiez que le disque est bien monté avant de tester le partage. Un service Samba actif ne prouve pas que les fichiers sont disponibles. Si le disque est absent au démarrage, le chemin peut désigner un dossier vide sur le disque système. Ce contrôle permet aussi de repérer une configuration qui ne fonctionne qu’après une intervention manuelle.

2. Préparer les comptes et les droits sur les fichiers

Installez le serveur Samba et les outils de contrôle :

Schéma du partage d’un disque dur externe avec Samba Ubuntu 24.04 vers Windows macOS Linux et mobile
Schéma du partage d’un disque dur externe avec Samba Ubuntu 24.04 vers Windows macOS Linux et mobile

sudo apt update

sudo apt install samba samba-common-bin smbclient

Dans les exemples qui suivent, remplacez alice par le nom d’un compte Linux existant. Samba possède sa propre base de mots de passe : un compte Linux seul ne suffit pas pour se connecter au partage.

sudo groupadd -f partage

sudo usermod -aG partage alice

sudo smbpasswd -a alice

sudo smbpasswd -e alice

Choisissez un mot de passe dédié. Après l’ajout au groupe, ouvrez une nouvelle session pour que les groupes du compte alice soient actualisés dans le terminal.

Adapter les permissions au système de fichiers

Sur ext4, créez un dossier dédié au partage plutôt que de modifier récursivement les droits de tout le disque :

sudo mkdir -p /mnt/disque-externe/Partage

sudo chown root:partage /mnt/disque-externe/Partage

sudo chmod 2770 /mnt/disque-externe/Partage

Le groupe partage peut lire et écrire dans ce dossier. Le bit setgid favorise la transmission du groupe aux nouveaux sous-dossiers. Vérifiez l’accès local avec sudo -u alice touch /mnt/disque-externe/Partage/test-local. L’utilisateur doit également pouvoir traverser les dossiers parents pour atteindre le partage.

Sur NTFS ou exFAT, les commandes chown et chmod ne fonctionnent généralement pas comme sur ext4 : les droits dépendent des options de montage. Récupérez les identifiants numériques avec id alice et getent group partage, puis adaptez les options uid, gid et umask au pilote utilisé. Un masque 0007 vise à limiter l’accès au propriétaire et au groupe. N’utilisez pas la ligne fstab prévue pour ext4 sur ces formats, et évitez chmod 777.

3. Déclarer un partage authentifié et limiter son exposition

Sauvegardez la configuration Samba avant de la modifier :

sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.bak

sudo nano /etc/samba/smb.conf

Ajoutez à la fin le bloc ci-dessous. Chaque ligne doit être saisie séparément dans le fichier :

[DisqueUSB]

path = /mnt/disque-externe/Partage

browseable = yes

read only = no

guest ok = no

valid users = @partage

force group = partage

create mask = 0660

directory mask = 0770

Le nom entre crochets devient le nom du partage réseau. read only = no autorise l’écriture côté Samba, mais les permissions locales du système de fichiers doivent elles aussi l’autoriser. valid users = @partage limite les connexions aux membres du groupe.

Validez la configuration, puis démarrez et activez le service :

testparm

sudo systemctl enable –now smbd

sudo systemctl restart smbd

sudo systemctl status smbd

Pour partager plusieurs disques ou dossiers, ajoutez un bloc distinct avec un nom et un chemin différents. Pour empêcher les modifications, définissez read only = yes.

Si UFW est actif, limitez l’accès à votre sous-réseau. Adaptez cet exemple à votre réseau réel :

sudo ufw allow from 192.168.1.0/24 to any app Samba

sudo ufw status

Le profil Samba couvre TCP 445 et 139 ainsi qu’UDP 137 et 138. SMB direct utilise TCP 445 ; les autres ports servent aux fonctions NetBIOS historiques. Vérifiez qu’aucune règle plus large n’annule cette restriction. Ne redirigez pas les ports Samba depuis Internet : pour accéder au partage de l’extérieur, utilisez plutôt un VPN.

4. Se connecter et vérifier l’écriture depuis chaque appareil

Repérez l’adresse du serveur avec ip addr. Les exemples ci-dessous utilisent 192.168.1.100, à remplacer par l’adresse de votre machine Ubuntu. Une réservation DHCP dans le routeur évite que cette adresse change.

  • Windows : saisissez \\192.168.1.100\DisqueUSB dans la barre d’adresse de l’Explorateur. Connectez-vous avec alice et son mot de passe Samba. Vous pourrez ensuite connecter un lecteur réseau.
  • macOS : dans le Finder, choisissez Aller, puis Se connecter au serveur, et saisissez smb://192.168.1.100/DisqueUSB.
  • Linux : saisissez cette même adresse smb:// dans un gestionnaire de fichiers compatible.
  • Android : ajoutez un serveur SMB dans une application de fichiers compatible.
  • iPhone ou iPad : dans l’app Fichiers, choisissez Se connecter au serveur, puis connectez-vous comme utilisateur enregistré.

Depuis Ubuntu, vérifiez aussi la connexion avec smbclient //192.168.1.100/DisqueUSB -U alice. Créez un fichier depuis un appareil client, ouvrez-le, puis supprimez-le : voir les dossiers ne suffit pas à confirmer que l’écriture fonctionne. L’accès par adresse IP peut fonctionner même si le serveur n’apparaît pas dans la découverte réseau. nmbd ne garantit pas la découverte sur tous les clients modernes.

5. Dépanner dans l’ordre : disque, service, réseau, identifiants

Ne modifiez pas toutes les permissions dès le premier refus. Vérifiez chaque couche séparément :

  • Dossier vide ou indisponible : contrôlez lsblk -f et findmnt, puis vérifiez le chemin indiqué par path.
  • Connexion impossible : vérifiez systemctl status smbd, testparm et sudo ufw status.
  • Mot de passe refusé : réinitialisez-le avec sudo smbpasswd alice. Sous Windows, fermez les sessions SMB existantes et supprimez les identifiants mémorisés pour le serveur.
  • Lecture possible, écriture refusée : retestez la commande touch avec le compte alice, puis vérifiez les permissions et l’éventuel montage en lecture seule.
  • Coupures USB : examinez le câble, l’alimentation et les messages avec journalctl -k avant de modifier les réglages de veille.

Pour préciser les erreurs, consultez sudo journalctl -u smbd et le fichier /var/log/samba/log.smbd. Avant de débrancher le disque, arrêtez les transferts et démontez-le proprement. Sur un réseau gigabit, le débit peut atteindre environ 100 à 115 Mo/s dans de bonnes conditions, sans que cette vitesse soit garantie : les performances dépendent aussi du disque, de l’USB, du Wi-Fi et de la charge du serveur.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *