Comment créer un serveur de fichiers sécurisé et haute performance sur Ubuntu : guide d’installation de Samba & NFS

目次

1. Quels sont les avantages de créer un serveur de fichiers sur Ubuntu ?

Qu’est‑ce qu’un serveur de fichiers ?

Un serveur de fichiers est un serveur qui permet à plusieurs appareils d’un réseau de stocker et de partager des fichiers communs. Il simplifie l’échange de fichiers au sein de réseaux domestiques ou de bureau, permet une gestion centralisée des données, facilite les sauvegardes et offre de nombreux autres avantages.

Par exemple, si plusieurs personnes doivent modifier le même document, le sauvegarder sur un serveur de fichiers permet à chacun d’accéder à la version la plus récente, plutôt que d’échanger des fichiers stockés sur des PC locaux. Cela réduit également le risque de conserver des données importantes sur des machines individuelles et constitue une protection efficace contre la perte de données.

Pourquoi choisir Ubuntu ?

De nombreux systèmes d’exploitation peuvent être utilisés pour créer un serveur de fichiers, mais Ubuntu est l’un des choix les plus populaires pour les raisons suivantes :

1. Gratuit

Ubuntu est une distribution Linux open‑source, ce qui signifie qu’elle ne nécessite aucun frais de licence. Cela en fait une option très attrayante pour les particuliers ou les organisations souhaitant mettre en place un environnement serveur tout en maintenant les coûts bas.

2. Léger et très stable

Ubuntu consomme peu de ressources système et peut fonctionner sur d’anciens PC ou des appareils comme le Raspberry Pi. Choisir une version LTS (Long Term Support) offre des mises à jour de sécurité et des correctifs de bugs à long terme, ce qui la rend idéale pour un usage serveur.

3. Large prise en charge d’outils comme Samba et NFS

Ubuntu facilite l’installation et la configuration de systèmes de fichiers réseau tels que Samba (pour le partage de fichiers Windows) et NFS (pour le partage de fichiers Linux/Unix). Avec de nombreux paquets et une documentation abondante, même les débutants peuvent créer un serveur en toute confiance.

4. Grande communauté et documentation étendue

Parce qu’Ubuntu est largement utilisé dans le monde entier, il est facile de trouver des solutions en ligne lorsqu’un problème survient. Une documentation exhaustive en anglais et dans d’autres langues rend la plateforme conviviale même pour les utilisateurs qui ne sont pas à l’aise avec l’anglais.

Idéal pour les environnements domestiques ou de petit bureau

Un serveur de fichiers construit avec Ubuntu est parfait pour partager des données entre plusieurs appareils dans un réseau domestique ou pour un travail collaboratif dans un environnement SOHO. Comparé à l’achat d’un dispositif NAS dédié, Ubuntu vous permet de créer une solution plus flexible et économique, adaptée à vos besoins.

Voici quelques exemples d’utilisations :

  • Un serveur multimédia pour partager photos et vidéos dans tout le foyer
  • Partage de factures, devis et documents dans une petite entreprise
  • Échange de code et de documentation au sein d’une équipe de développement

2. Comparaison des méthodes de partage de fichiers : différences entre Samba et NFS

Lors de la création d’un serveur de fichiers sur Ubuntu, les deux options principales sont Samba et NFS. Les deux permettent le partage de fichiers sur un réseau, mais elles diffèrent par les systèmes d’exploitation clients pris en charge et leurs caractéristiques fonctionnelles. Cette section compare les fonctionnalités de chaque méthode afin de vous aider à choisir celle qui convient le mieux à votre environnement.

Qu’est‑ce que Samba ? — Excellente compatibilité avec Windows

Samba implémente le protocole de partage de fichiers Windows SMB (Server Message Block) sous Linux. Installer Samba sur Ubuntu vous permet de créer un serveur de fichiers que les PC Windows peuvent accéder comme un lecteur réseau.

Fonctionnalités de Samba

  • Excellente compatibilité avec Windows
  • Accès facile aux dossiers partagés via l’Explorateur Windows
  • Configuration granulaire de l’authentification des utilisateurs et des permissions
  • Outils de configuration graphiques (par ex., Webmin) disponibles

Quand Samba est le meilleur choix

  • Lors du partage de fichiers avec des clients Windows
  • Lors du partage de fichiers entre différentes plateformes (par ex., Windows + Linux)
  • Lorsque l’on privilégie une configuration conviviale dans des scénarios domestiques ou de bureau

Qu’est‑ce que NFS ? — Partage de fichiers rapide pour les systèmes Linux/Unix

NFS (Network File System) est un protocole principalement utilisé pour le partage de fichiers entre systèmes Linux et Unix. Du point de vue du client, le dossier d’un serveur NFS se comporte presque comme un répertoire local.

Fonctionnalités de NFS

  • Idéal pour le partage de fichiers Linux‑à‑Linux
  • Performances légères et à haute vitesse
  • Configuration simple adaptée au partage à grande échelle
  • Nécessite une configuration de sécurité minutieuse (contrôle d’accès basé sur IP)

Lorsque NFS est le meilleur choix

  • Environnements serveur basés sur Linux
  • Répertoires serveur partagés pour les équipes de développement
  • Scénarios nécessitant des transferts de fichiers légers et à haute vitesse

Tableau comparatif : Samba vs. NFS

ItemSambaNFS
Supported OSWindows / Linux / macOSLinux / Unix (Windows not recommended)
ProtocolSMB (CIFS)NFS
SpeedMedium (varies by configuration)High
SecurityUser authentication, encryption supportedIP-based control, Kerberos support
Configuration DifficultyModerateSimple
Use CaseCross-platform sharingEfficient Linux-to-Linux sharing

Quel choisir ?

En fin de compte, le choix dépend du système d’exploitation client, du cas d’utilisation et des priorités :

  • Samba est le meilleur lorsqu’on partage avec des clients Windows
  • NFS est le meilleur pour le partage à haute vitesse Linux‑à‑Linux
  • Pour les environnements mixtes, utiliser à la fois Samba et NFS est également une approche valable

La flexibilité d’Ubuntu vous permet de combiner les deux en fonction de vos besoins.

3. [Samba] Comment créer un serveur de fichiers sur Ubuntu

Dans cette section, nous expliquons comment installer et configurer Samba sur Ubuntu pour créer un serveur de fichiers. Cette méthode est particulièrement efficace pour le partage de fichiers avec des clients Windows.

Préparation : Mettre à jour Ubuntu et vérifier les paquets installés

Tout d’abord, mettez à jour votre système Ubuntu vers la dernière version. Ouvrez un terminal et exécutez les commandes suivantes :

sudo apt update
sudo apt upgrade

Ensuite, vérifiez si Samba est déjà installé :

smbclient --version

Si aucune version n’est affichée, installez Samba à l’étape suivante.

Comment installer Samba

Installez le paquet Samba en utilisant la commande suivante :

sudo apt install samba -y

Après l’installation, vérifiez que le service est actif :

sudo systemctl status smbd

S’il indique « active (running) », Samba fonctionne correctement.

Configuration de smb.conf et création d’un dossier partagé

Le fichier de configuration de Samba se trouve à /etc/samba/smb.conf. Tout d’abord, créez un répertoire partagé. Dans cet exemple, nous utilisons /srv/samba/shared comme dossier partagé.

sudo mkdir -p /srv/samba/shared
sudo chmod 777 /srv/samba/shared

Ensuite, éditez le fichier de configuration :

sudo nano /etc/samba/smb.conf

Ajoutez la configuration suivante à la fin du fichier :

[Shared]
   path = /srv/samba/shared
   browseable = yes
   read only = no
   guest ok = yes

Cette configuration crée un dossier public accessible en écriture par tous. Pour une utilisation sécurisée, configurez l’authentification des utilisateurs comme décrit plus tard.

Appliquez les paramètres en redémarrant Samba :

sudo systemctl restart smbd

Création d’utilisateurs Samba et définition des permissions d’accès

Pour renforcer la sécurité, il est recommandé de créer des utilisateurs Samba et de restreindre l’accès.

  1. Créez un utilisateur local Ubuntu (ignorer si il existe déjà) :
    sudo adduser sambauser
    
  1. Enregistrez l’utilisateur en tant que compte Samba :
    sudo smbpasswd -a sambauser
    
  1. Changez le propriétaire du répertoire et restreignez l’accès :
    sudo chown sambauser:sambauser /srv/samba/shared
    sudo chmod 770 /srv/samba/shared
    
  1. Modifiez smb.conf pour exiger une authentification :
    [SecureShared]
       path = /srv/samba/shared
       browseable = yes
       read only = no
       valid users = sambauser
    

Comment se connecter depuis un client Windows

Une fois Samba configuré, vous pouvez vous connecter depuis un PC Windows en suivant ces étapes :

  1. Ouvrez l’Explorateur de fichiers
  2. Saisissez ce qui suit dans la barre d’adresse : \\<Ubuntu-server-IP>\Shared
  3. Lorsqu’on vous le demande, entrez le nom d’utilisateur et le mot de passe pour sambauser

Si la connexion réussit, le dossier partagé fonctionnera comme un répertoire normal sous Windows.

4. [NFS] Comment créer un serveur de fichiers sur Ubuntu

NFS (Network File System) est un protocole de partage de fichiers réseau léger et rapide, largement utilisé dans les environnements Linux et Unix. Il est facile à installer sur Ubuntu et permet un échange fluide de fichiers entre plusieurs machines Linux.

Ici, nous parcourons les étapes pour configurer un serveur NFS sur Ubuntu.

Comment installer le serveur NFS

Installez le paquet du serveur NFS en exécutant les commandes suivantes sur le serveur Ubuntu :

sudo apt update
sudo apt install nfs-kernel-server -y

Vérifiez que le service est en cours d’exécution :

sudo systemctl status nfs-server

Si il indique « active (running) », l’installation a réussi.

Configuration de /etc/exports et définition des répertoires partagés

Ensuite, créez un répertoire que vous souhaitez que les clients accèdent. Dans cet exemple, nous utilisons /srv/nfs/shared :

sudo mkdir -p /srv/nfs/shared
sudo chown nobody:nogroup /srv/nfs/shared
sudo chmod 755 /srv/nfs/shared

Modifiez le fichier de configuration NFS :

sudo nano /etc/exports

Ajoutez la ligne suivante (remplacez 192.168.1.0/24 par votre réseau) :

/srv/nfs/shared 192.168.1.0/24(rw,sync,no_subtree_check)

Appliquez les paramètres :

sudo exportfs -a
sudo systemctl restart nfs-server

La configuration du serveur NFS est maintenant terminée.

Comment monter depuis un client Linux

Sur chaque client Linux qui accédera au serveur NFS, installez le paquet client NFS :

sudo apt update
sudo apt install nfs-common -y

Créez un point de montage tel que /mnt/nfs_shared :

sudo mkdir -p /mnt/nfs_shared

Ensuite, montez le partage NFS :

sudo mount -t nfs 192.168.1.10:/srv/nfs/shared /mnt/nfs_shared

※ Remplacez 192.168.1.10 par l’adresse IP de votre serveur NFS.

Une fois monté, le répertoire partagé se comporte comme un dossier local.

Montage automatique au démarrage (optionnel)

Pour monter le partage NFS automatiquement au démarrage, ajoutez cette ligne à /etc/fstab :

192.168.1.10:/srv/nfs/shared /mnt/nfs_shared nfs defaults 0 0

Cela garantit que le partage NFS se monte automatiquement au démarrage.

Restrictions d’accès spécifiques à NFS et notes importantes

NFS utilise un contrôle d’accès basé sur les IP, contrairement à Samba. Dans /etc/exports, spécifiez toujours uniquement les réseaux ou hôtes de confiance.

De plus, si l’UID (identifiant d’utilisateur) et le GID (identifiant de groupe) sur le serveur et le client ne correspondent pas, la propriété des fichiers peut ne pas être interprétée correctement. Pour un fonctionnement fluide, il est conseillé d’utiliser des UID et GID correspondants sur tous les systèmes.

Avec cela, votre serveur de fichiers NFS Ubuntu est prêt. Comparé à Samba, NFS est plus simple et plus rapide, ce qui le rend très adapté aux environnements Linux.

5. Meilleures pratiques de sécurité et d’exploitation

Bien qu’un serveur de fichiers soit un outil puissant pour partager des données sur un réseau, il augmente également le risque de fuites de données et d’accès non autorisé si les mesures de sécurité appropriées ne sont pas mises en place. Cette section présente les meilleures pratiques de sécurité et de gestion essentielles pour exploiter un serveur de fichiers Ubuntu en toute sécurité et efficacité.

Restreindre l’accès avec le pare-feu (ufw)

Ubuntu inclut un pare-feu intégré appelé ufw (Uncomplicated Firewall). Pour le partage de fichiers basé sur Samba ou NFS, vous pouvez limiter le trafic réseau inutile en autorisant explicitement uniquement les ports requis.

Exemple : Autoriser les ports pour Samba

sudo ufw allow Samba

Cette commande ouvre tous les ports requis pour Samba (137, 138, 139, 445) en une seule fois.

Exemple : Autoriser les ports pour NFS

Les ports NFS varient selon l’environnement, il peut donc être nécessaire de les ouvrir individuellement ou de les configurer pour utiliser des ports fixes.

sudo ufw allow from 192.168.1.0/24 to any port nfs

192.168.1.0/24 représente la plage réseau autorisée.

Renforcer le contrôle d’accès et l’authentification des utilisateurs

Restrictions d’accès Samba

  • Utilisez valid users pour restreindre qui peut accéder à chaque partage
  • Utilisez read only = yes pour autoriser l’accès en lecture seule si nécessaire
  • Utilisez hosts allow et hosts deny pour des restrictions basées sur les IP

Exemple (smb.conf) :

[SecureShared]
   path = /srv/samba/secure
   read only = no
   valid users = user1
   hosts allow = 192.168.1.

Restrictions d’accès NFS

  • Spécifiez les adresses IP ou réseaux autorisés dans /etc/exports
  • Définissez explicitement rw (lecture/écriture) ou ro (lecture seule)
  • Utilisez root_squash pour empêcher les clients d’utiliser les privilèges root

Exemple :

/srv/nfs/secure 192.168.1.0/24(rw,sync,no_subtree_check,root_squash)

Surveiller les journaux et détecter les irrégularités

La surveillance des journaux est essentielle pour détecter les accès non autorisés, les erreurs ou les activités suspectes.

  • Journaux Samba : /var/log/samba/log.smbd
  • Journaux NFS : /var/log/syslog ou journalctl -u nfs-server

L’utilisation d’outils comme fail2ban vous permet de bloquer automatiquement les adresses IP après des échecs répétés de connexion.

Créer un système de sauvegarde automatisé

Des sauvegardes régulières sont indispensables pour se protéger contre la suppression accidentelle, la corruption ou une défaillance matérielle.

Exemples de sauvegarde

  • Sauvegarde différentielle avec rsync
  • Sauvegardes planifiées avec cron
  • Stockage des sauvegardes sur des disques durs externes ou un NAS
  • Synchronisation avec le stockage cloud (Google Drive, Dropbox) via rclone

Exemple : une tâche cron qui sauvegarde quotidiennement à 02 h 00

0 2 * * * rsync -a /srv/samba/shared/ /mnt/backup/shared/

Maintenir les logiciels à jour régulièrement

Les mises à jour régulières sont l’un des moyens les plus efficaces de prévenir les vulnérabilités de sécurité.

sudo apt update && sudo apt upgrade -y

Utiliser une version LTS d’Ubuntu garantit un accès à long terme aux mises à jour de sécurité et à la stabilité.

Faire fonctionner un serveur de fichiers n’est pas une configuration ponctuelle. Pour une exploitation stable, vous devez gérer en permanence la sécurité, les sauvegardes et la maintenance.

6. Problèmes courants et comment les résoudre (dépannage)

Même après l’installation, les serveurs de fichiers peuvent rencontrer des problèmes de configuration ou de fonctionnement. Cette section résume les problèmes courants avec les serveurs de fichiers Samba et NFS sous Ubuntu et comment les résoudre.

Impossible de se connecter / Dossier partagé non visible

Symptômes

  • Les clients Windows ou Linux ne peuvent pas accéder aux dossiers partagés
  • Le serveur n’apparaît pas dans la liste du réseau

Causes principales et solutions

CauseSolution
Firewall blocking trafficsudo ufw allow Samba or sudo ufw allow from [IP] to any port nfs
Hostname resolution failureAccess using IP directly: \\192.168.1.10\Shared
Samba/NFS service is not runningsudo systemctl restart smbd or restart nfs-server
Incorrect client network settingsCheck subnet mask, gateway, and DNS settings

Erreurs de permission

Symptômes

  • Impossible de créer ou de modifier des fichiers
  • Des messages « Accès refusé » apparaissent

Causes principales et solutions

CauseSolution
Incorrect directory ownershipsudo chown -R user:group /shared-folder
Insufficient permissions (chmod)sudo chmod -R 770 /shared-folder
Misconfigured Samba settingsEnsure read only = no in the [shared] section
UID/GID mismatch in NFSAlign user IDs between server and client (id command)

Montage non persistant / Dossier partagé disparaît après redémarrage

Symptômes

  • Les dossiers partagés montés via NFS disparaissent après le redémarrage du client
  • La commande de montage doit être exécutée manuellement à chaque fois

Causes principales et solutions

CauseSolution
Missing fstab entryAdd auto-mount settings to /etc/fstab
Network initializes later than fstabAdd nofail,_netdev to mount options
Slow response from serverAdd timeout settings such as timeo=14 when mounting

Exemple d’entrée fstab (pour NFS) :

192.168.1.10:/srv/nfs/shared /mnt/nfs_shared nfs defaults,_netdev,nofail 0 0

Fichiers non visibles / Modifications non synchronisées

Symptômes

  • Les fichiers enregistrés depuis un autre client n’apparaissent pas immédiatement
  • Les modifications mettent du temps à se refléter sur les différents appareils

Causes principales et solutions

CauseSolution
Cache delayOften temporary—refresh (Ctrl + F5) or reconnect
Client-side buffering (NFS)Use actimeo=0 for immediate sync
Delayed write operations (Samba)Add strict sync = yes to smb.conf

Vérifier les journaux pour le diagnostic

Lors de l’investigation de problèmes sous Ubuntu, la vérification des fichiers journaux est indispensable.

Journaux Samba

cat /var/log/samba/log.smbd

Journaux NFS

journalctl -u nfs-server

Les journaux contiennent des informations sur les tentatives d’accès échouées, les erreurs d’authentification et les problèmes de configuration. Rechercher les messages d’erreur en ligne vous conduit généralement aux solutions appropriées.

Conseils pour un dépannage efficace

  • Modifiez les paramètres par petites étapes et testez chaque changement
  • Sauvegardez toujours les fichiers de configuration
  • Utilisez des outils de validation tels que testparm et exportfs -v
  • Redémarrez les services ou rechargez la configuration après chaque modification

7. FAQ : Questions fréquentes sur les serveurs de fichiers Ubuntu

Cette section couvre les questions et préoccupations courantes que rencontrent les débutants et les utilisateurs intermédiaires lors de la création et de l’exploitation de serveurs de fichiers Ubuntu.

Q1. Dois‑je utiliser Samba ou NFS ?

R. Choisissez en fonction du système d’exploitation du client.

  • Samba (SMB) pour les environnements Windows : accès facile via l’Explorateur de fichiers
  • NFS pour le partage Linux‑to‑Linux : léger, rapide et stable

Vous pouvez également utiliser les deux dans des environnements mixtes — il n’est pas nécessaire de se limiter à un seul.

Q2. Comment partager un périphérique de stockage externe (disque dur USB) ?

R. Montez d’abord le périphérique de stockage externe, puis configurez Samba ou NFS pour partager le répertoire monté.

  1. Vérifiez les périphériques disponibles :
    lsblk
    
  1. Créez un point de montage et montez le périphérique :
    sudo mkdir /mnt/usb
    sudo mount /dev/sdX1 /mnt/usb
    
  1. Ensuite, configurez Samba ou NFS pour partager /mnt/usb .

Si vous souhaitez qu’il se monte automatiquement, ajoutez une entrée dans /etc/fstab.

Q3. Je ne peux pas me connecter à Samba depuis Windows 11.

A. Le problème peut être lié aux versions du protocole SMB ou à l’authentification.

Essayez d’ajouter ce qui suit à /etc/samba/smb.conf :

client min protocol = SMB2
server min protocol = SMB2
  • Évitez l’accès invité — utilisez un nom d’utilisateur/mot de passe à la place
  • Si SMB 1.0 est activé sur Windows, envisagez de le désactiver pour des raisons de sécurité

Q4. Comment devrais-je sauvegarder mon serveur de fichiers ?

A. L’automatisation des sauvegardes est l’approche la plus fiable.

  • Sauvegardes différentielles avec rsync
  • Tâches planifiées avec cron
  • Sauvegarde vers un disque dur externe ou un NAS
  • Synchronisation avec des services cloud via rclone

Exemple de tâche crontab (s’exécute quotidiennement à 2 h du matin) :

0 2 * * * rsync -a /srv/samba/shared/ /mnt/backup/

Q5. Quel est le meilleur choix pour un serveur de fichiers : Ubuntu Desktop ou Ubuntu Server ?

A. Ubuntu Server pour une exploitation stable à long terme ; Ubuntu Desktop pour la facilité d’utilisation.

ItemUbuntu ServerUbuntu Desktop
GUI availabilityNo (lightweight)Yes (beginner-friendly)
Resource usageLowHigher
Operation styleCommand-line focusedGUI operations possible
Recommended useFull-scale server environmentsHome use, learning, lightweight setups

Si vous n’avez pas besoin d’une interface graphique, Ubuntu Server a tendance à être plus sécurisé et plus efficace en ressources.

8. Résumé : Construisez un système de partage de fichiers flexible avec Ubuntu

Construire un serveur de fichiers sur Ubuntu est un excellent choix pour créer un environnement de partage de fichiers économique, stable et personnalisable. Ce guide a couvert les différences entre Samba et NFS, les instructions d’installation étape par étape, les pratiques de sécurité, les méthodes de dépannage, et plus encore.

Choisissez Samba ou NFS en fonction de votre cas d’utilisation

Sélectionnez la méthode de partage de fichiers selon vos besoins :

  • Samba pour le partage de fichiers Windows — accès direct depuis l’Explorateur de fichiers
  • NFS pour le partage haute vitesse Linux‑à‑Linux — léger et efficace

Vous pouvez également combiner les deux pour des environnements mixtes.

Concentrez‑vous sur la sécurité et la maintenabilité

  • Configurez les pare-feu et les restrictions d’accès
  • Maintenez la santé du système avec des mises à jour régulières et la surveillance des journaux
  • Mettez en place des sauvegardes automatisées pour se préparer aux pannes

Pourquoi créer un serveur de fichiers personnalisé ?

Bien que l’achat d’un NAS soit une option, créer votre propre serveur avec Ubuntu offre :

  • Un système simple avec uniquement les fonctionnalités dont vous avez besoin
  • Flexibilité au niveau du matériel et de la capacité de stockage
  • Des compétences précieuses tant pour l’apprentissage personnel que pour les applications professionnelles

Si le processus vous a semblé difficile au départ, nous espérons que ce guide a montré que construire votre propre serveur de fichiers est tout à fait à votre portée.

Ubuntu vous permet de créer un environnement de serveur de fichiers puissant et polyvalent, adapté à tout, de l’usage domestique aux applications professionnelles. Choisissez la configuration qui correspond le mieux à votre réseau et à votre flux de travail.

侍エンジニア塾