PRÉSENTATION
SUR LES
SYSTÉMES DE FICHIERS RÉSEAUX
LINUX
PRÉSENTÉE PAR :
HASNAE ELBALLAOUI
MOHAMMED OULHADJ
INTRODUCTION
Dans un monde de plus en plus connecté, il est crucial de
faciliter le partage et la gestion des données entre
plusieurs machines. Les systèmes de fichiers réseau offrent
une solution efficace en permettant un accès centralisé
aux fichiers, réduisant ainsi la duplication et simplifiant la
collaboration. Des outils comme NFS et Samba
garantissent un partage transparent et sécurisé des
ressources, qu'il s'agisse de réseaux locaux ou étendus.
DÉFINITION DES SYSTÈMES DE FICHIERS
RÉSEAUX EN LINUX
Une méthode qui permet de partager des fichiers
et des répertoires entre plusieurs ordinateurs
connectés à un réseau, en leur offrant un accès
transparent comme s'ils étaient stockés
localement sur leurs propres disques.
DÉFINITION DES SYSTÈMES DE FICHIERS
RÉSEAUX EN LINUX
Le système de fichiers réseau agit comme une
interface entre les machines clientes et le serveur,
centralisant les données pour en faciliter la
gestion et la collaboration. Cela permet à plusieurs
utilisateurs ou systèmes d’accéder simultanément
aux mêmes fichiers sans avoir besoin de les copier
localement.
PRINCIPALES CARACTÉRISTIQUES DES
SYSTÈMES DE FICHIERS RÉSEAU
1 Centralisation des données :
Les fichiers sont stockés sur un serveur,
ce qui permet de centraliser la gestion et
la sauvegarde.
2 Transparence :
Les fichiers distants apparaissent sur la machine
cliente comme s’ils faisaient partie de son propre
système de fichiers.
3 Accès distant :
Les utilisateurs peuvent accéder aux fichiers à partir
de n’importe quel poste client connecté au réseau, à
condition d'avoir les permissions nécessaires.
.
4 Compatibilité avec les
environnements Linux/Unix
Les systèmes de fichiers réseau en
Linux, tels que NFS ou Samba, sont
conçus pour des environnements Linux
homogènes ou des environnements
mixtes Linux/Windows.
NFS(NETWORK FILE SYSTEM)
NFS est un protocole de partage de fichiers réseau qui
permet à des ordinateurs connectés à un réseau de
partager des fichiers et des répertoires comme s'ils étaient
stockés localement. Créé initialement par Sun Microsystems
dans les années 1980, NFS est principalement utilisé dans
les environnements Linux et Unix, bien qu'il soit également
compatible avec d'autres systèmes d'exploitation.
PRINCIPES DE FONCTIONNEMENT
DE NFS :
1 Centralisation des données :Architecture
Client-Serveur :
• Serveur NFS : L'ordinateur qui héberge
les fichiers et répertoires à partager.
• Client NFS : Les ordinateurs qui accèdent
aux fichiers partagés via le réseau.
2
Montage de systèmes de fichiers :
• Les répertoires partagés sur le serveur sont
montés sur les machines clientes.
• Une fois monté, le répertoire distant apparaît
comme un répertoire local pour l'utilisateur ou le
système.
3 Transparence :
Les utilisateurs accèdent aux fichiers distants sans
se soucier de leur emplacement physique.
4 Protocoles sous-jacents :
NFS repose sur des protocoles comme RPC (Remote
Procedure Call) pour faciliter la communication entre le
client et le serveur.
SAMBA
Samba est une implémentation open source du protocole SMB/CIFS
(Server Message Block / Common Internet File System). Il permet à
des machines fonctionnant sous Linux ou Unix de partager des
fichiers, des imprimantes et d'autres ressources avec des
ordinateurs Windows dans un réseau local.
PRINCIPES DE FONCTIONNEMENT
DE SAMBA:
1 Interopérabilité multiplateforme :
Samba est conçu pour permettre une
communication fluide entre des systèmes
Linux/Unix et Windows, ce qui le rend idéal
pour des environnements réseau
hétérogènes.
2 Fonctionnement client-serveur
Samba agit comme un serveur qui partage des
répertoires, et les machines Windows ou Linux
peuvent y accéder en tant que clients.
3 Authentification et sécurité
Il utilise des mécanismes d’authentification (comme
les comptes utilisateur et les mots de passe) pour
contrôler l’accès aux ressources partagées.
DIFFÉRENCE ENTRE NFS ET SAMBA
PARTIE PRATIQUE
CONFIGURATION D’UN PARTAGE
NFS POUR L’ACCÉS AUX
FICHIERS SUR LE RÉSEAU.
Etape 1 : Installation des outils nécessaires :
• sur le serveur NFS (Ubuntu) :
[Link] à jour le système et installer le
serveur NFS
Mettre à jour le système Ubuntu et installé le paquet nfs-kernel-server,
qui permet de configurer le partage de fichiers NFS avec la commande
suivante :
· La commande apt update met à jour la liste des paquets disponibles.
·Le paquet nfs-kernel-server installe les outils nécessaires pour partager
des fichiers via NFS.
sudo apt upgrade
sudo apt install nfs-kernel -server
• Sur le client NFS
(Ubuntu) :
2. Installer les outils nécessaires pour le client NFS :
Installation du paquet nfs-common sur la machine cliente pour permettre le
montage des répertoires partagés par NFS avec la commande suivante :
sudo apt install
nfs-common
Étape 2 : Configuraion du serveur NFS :
• Créer un répertoire à
partager :
1. Créer un répertoire de partage sur le
serveur
Création d’un répertoire /mnt/partage_nfs sur le serveur qui sera
partagé avec le client via NFS.
Le répertoire /mnt/partage_nfs est créé pour contenir les fichiers
qui seront accessibles aux clients.
sudo mkdir -p /mnt/partage_nfs
• Définir les permissions du
répertoire :
2. Définir des permissions sur le répertoire
partagé :
On a attribué des permissions d'accès ouvertes (chmod 777) au
répertoire, permettant à tous les utilisateurs d'accéder au partage.
Avec la commande
· chmod 777 permet un accès total à tous les utilisateurs (lecture,
écriture, exécution).
· chown nobody:nogroup associe le répertoire à un
utilisateur/groupe neutre pour NFS.
Sudo chown nobody:nogroup /mnt/partage_nfs
Sudo chmod 777 /mnt/partage_nfs
• Configurer le partage dans
/etc/exports :
3. Modifier le fichier /etc/exports pour définir le
partage NFS :
On a modifié le fichier /etc/exports pour partager le répertoire
/mnt/partage_nfs avec les machines du réseau local [Link]/24."
sudo nano /etc/exports
On a ouvert le fichier /etc/exports et ajouté la ligne
suivante à la fin du fichier, après le # (qui signifie
commentaire) :
/mnt/partage_nfs
[Link]/24(rw,sync,no_subtree_check).
Cela permet de partager le répertoire /mnt/partage_nfs
avec toutes les machines du réseau local [Link]/24,
et elles peuvent y accéder en lecture et écriture."
· /mnt/nfs_share : Répertoire partagé.
· [Link]/24 : Plage IP du réseau local.
· rw : Permet lecture et écriture.
· sync : Synchronise les changements sur le disque.
· no_subtree_check : Désactive certaines vérifications pour
améliorer les performances.
• Appliquer les changements et redémarrer le
service NFS :
[Link] les partages et redémarrer le
serveur NFS
On a exporté les répertoires partagés et redémarré le service NFS pour que les
changements prennent effet."
· exportfs -a applique les modifications.
·systemctl restart redémarre le service NFS pour prendre en compte les changements.
sudo exportfs -a
sudo systemctl restart nfs-kernel-server
Pour sécuriser l'accès au service NFS, on a configuré le pare-feu UFW en autorisant
uniquement les connexions provenant de la plage IP locale [Link]/24 vers le port
2049, utilisé par NFS. Cela garantit que seules les machines du réseau local peuvent
accéder au partage, tout en bloquant les connexions externes. On a également activé le
pare-feu pour appliquer cette règle et confirmé son statut avec ufw status."
sudo ufw allow from [Link]/24 to any port nfs
· sudo ufw allow : Autorise une règle dans le pare-feu.
· from [Link]/24 : Indique que l'accès est autorisé uniquement pour les machines
appartenant au réseau local avec l'adresse IP dans la plage [Link] à
[Link].
· to any port nfs : Permet l'accès au port utilisé par le service NFS (par défaut, le port
2049).
sudo ufw enable
• Active le pare-feu UFW (Uncomplicated Firewall) pour protéger votre système.
• Une fois activé, le pare-feu commence à appliquer toutes les règles configurées, y
compris celle autorisant l'accès au NFS.
• Pourquoi activer le pare-
• Par défaut,
feu ?
Ubuntu n'active pas le pare-feu. Cette commande garantit que
seules les connexions autorisées (comme NFS) peuvent passer, bloquant toutes
les autres connexions non autorisées.
sudo ufw status
· Vérifie l'état du pare-feu et liste les règles actuellement appliquées.
· le statut montre que le pare-feu est active et que le port 2049 est autorisé pour
les connexions provenant de la plage IP [Link]/24.
Étape 3 : Test du partage côté client
• Créer un point de montage sur le
client
On a créé un répertoire /mnt/client_nfs sur : pour monter le partage NFS."
le client
sudo mkdir -p /mnt/client_nfs
Monter le partage NFS sur le client :
2. Monter le répertoire partagé du serveur sur le client :
JOn a monté le répertoire partagé /mnt/partage_nfs du serveur NFS sur le répertoire
/mnt/client_nfs du client."
La commande monte le répertoire /mnt/partage_nfs du serveur dans /mnt/client_nfs
sur le client
sudo mount [Link]:/mnt/partage_nfs /mnt/client_nfs
PARTIE PROJET:
Dans ce projet, nous avons mis en place un système de partage de fichiers
sécurisé en utilisant NFS (Network File System). L'objectif principal était de
permettre à plusieurs utilisateurs d'accéder à des répertoires partagés sur un
réseau local, tout en garantissant une gestion fine des permissions et de la
sécurité. Cette solution est particulièrement adaptée pour les environnements
collaboratifs, où chaque utilisateur dispose de son propre espace de travail
tout en ayant accès à des ressources communes. Grâce à NFS, nous avons
configuré un partage centralisé facile à gérer, tout en limitant l'accès aux
utilisateurs autorisés par des restrictions d'adresses IP et des règles de pare-
feu.
Mise en place des répertoires et
des permissions :
• Création des répertoires :
[Link]éez les répertoires partagés sur le
Ces commandes créent les répertoires serveur
nécessaires :pour chaque utilisateur et un répertoire
partagé.
sudo mkdir -p /mnt/partage_projet/utilisateur1
sudo mkdir -p /mnt/partage_projet/utilisateur2
sudo mkdir -p /mnt/partage_projet/commun
· Chaque utilisateur (utilisateur1, utilisateur2) a un répertoire dédié.
· Un répertoire commun est également créé pour permettre un accès partagé.
• Configuration des
permissions
1. Pour les répertoires
personnels :
• chown nobody:nogroup attribue un propriétaire neutre pour NFS.
• chmod 770 donne un accès total au propriétaire et au groupe, mais interdit
l'accès aux autres utilisateurs.
sudo chown nobody:nogroup /mnt/partage_projet/utilisateur1
sudo chmod 770 /mnt/partage_projet/utilisateur1
sudo chown nobody:nogroup /mnt/partage_projet/utilisateur2
sudo chmod 770 /mnt/partage_projet/utilisateur2
2. Pour le répertoire
commun :
chmod 775 permet au groupe et au propriétaire d'avoir un accès complet, et aux
autres utilisateurs d'avoir un accès en lecture.
sudo chown nobody:nogroup /mnt/partage_projet/commun
sudo chmod 775 /mnt/partage_projet/commun
chown nobody:nogroup attribue un propriétaire neutre pour NFS.
chmod 770 (répertoires personnels) donne un accès complet au propriétaire et
au groupe, mais aucun accès aux autres utilisateurs.
chmod 775 (répertoire commun) permet un accès en lecture aux autres
utilisateurs tout en donnant un accès complet au groupe.
• Configuration de
/etc/exports
[Link] le
fichier :
sudo nano /etc/exports
Ce fichier contient la configuration des répertoires partagés via NFS.
2. Ajoutez les lignes
suivantes :
/mnt/partage_projet/utilisateur1
[Link]/24(rw,sync,no_subtree_check)
/mnt/partage_projet/
utilisateur2192.168.1.0/24(rw,sync,no_subtree_check)
/mnt/partage_projet/commun
[Link]/24(rw,sync,no_subtree_check)
[Link]/24 : Permet l'accès à tout le réseau local.
rw : Permet la lecture et l'écriture.
3. Rechargez les configurations et
redémarrez NFS
sudo exportfs -a :
sudo systemctl restart nfs-kernel-
server
• exportfs -a applique les configurations définies dans
/etc/exports.
• Redémarre le service NFS pour prendre en compte les
modifications
Tests des accès depuis les
clients des
• Montage
répertoires
1. Créez des points de montage sur le
client
sudo : -p
mkdir
/mnt/client_utilisateur1
sudo mkdir -p
/mnt/client_utilisateur2
sudo mkdir -p
/mnt/client_commun
2 .Montez les
répertoires :
• Pour utilisateur1
sudo mount : [Link]:/mnt/partage_projet/utilisateur1
/mnt/client_utilisateur1
• Pour utilisateur2
sudo mount
: [Link]:/mnt/partage_projet/utilisateur2
/mnt/client_utilisateur2
• Pour le répertoire
commun :
sudo mount [Link]:/mnt/partage_projet/commun
/mnt/client_commun
Ces commandes montent les répertoires partagés du serveur dans les points
de montage créés sur le client.
Mise en place de la
• Limiter l'accès sécurité
par pour
· Modifiez /etc/exports IP restreindre l'accès :
/mnt/partage_projet/utilisateur1 [Link](rw,sync,no_subtree_check)
/mnt/partage_projet/utilisateur2 [Link](rw,sync,no_subtree_check)
· Rechargez les exportations :
sudo exportfs -a
• Configurer le pare-
feu
Autorisez uniquement les IP nécessaires :
sudo ufw allow from [Link] to any port nfs
sudo ufw allow from [Link] to any port nfs
Vérifiez le statut du pare-feu :
sudo ufw status
Configure le pare-feu pour autoriser uniquement les machines autorisées à accéder
au service NFS.
CONCLUSION
Ce projet a permis de démontrer la puissance de NFS pour le
partage de fichiers sur un réseau local. Nous avons configuré
des répertoires personnalisés pour chaque utilisateur avec des
permissions spécifiques, tout en intégrant des mesures de
sécurité, telles que la restriction par adresse IP et l’utilisation
d’un pare-feu. Les tests réalisés ont validé la fonctionnalité du
partage, la conformité des permissions et la protection contre les
accès non autorisés. Cette configuration offre une solution fiable
et évolutive pour les environnements multi-utilisateurs, en
simplifiant la gestion des ressources partagées et en renforçant
MERCI DE VOTRE ATTENTION.
ARCHTECTURE D’ORDINATEUR