Partage de fichiers sous Linux : NFS, Samba et FTP
1 Les solutions de partage de fichiers sous Linux : NFS,
Samba et FTP
Le partage de fichiers est une tâche fondamentale en administration système, permettant
aux utilisateurs et aux machines d’accéder aux ressources de manière fluide et sécurisée.
Sous Linux, plusieurs solutions sont disponibles, chacune adaptée à des besoins spécifiques :
➢ NFS (Network File System) → Idéal pour un partage entre machines Linux.
➢ Samba (SMB/CIFS) → Permet l'échange de fichiers entre Linux et Windows.
➢ FTP (File Transfer Protocol) → Utilisé pour le transfert de fichiers à distance.
1.1 Partage de fichiers avec NFS (Network File System)
➢ Configuration du Serveur NFS (192.168.0.1)
Le service NFS : permet de partager des données entre machines linux
Installer le package NFS : yum install nfs-utils
Autoriser service NFS sur le par feu : firewall-cmd –permanent –add-service =nfs
firewall-cmd –reload
Créer le dossier à partager : mkdir /dossier01
mkdir /dossier01/d1
touch /dossier01/fichier1
Changer les droits d’accès au répertoire : chmod –R 777 /dossier01
Vérifier les droits d’accès : ll -d /dossier01
Configurer le dossier de partage dans le fichier /etc/exports pour le partager avec le
client 192.168.0.2 :
vi /etc/exports
/dossier01 192.168.0.2 (rw)
Voici ce que fait chaque élément de la commande : /dossier01 : Le chemin local du répertoire
que vous voulez partager.
192.168.0.2 : L'adresse IP du client
autorisé à accéder au partage.
(rw) : L'option qui permet un accès en
lecture/écriture au répertoire.
La commande exportfs –a permet de relire le fichier /etc/exports après chaque modification
Redémarrer le service NFS : systemctl restart nfs
systemctl is-active nfs-server
➢ Configuration du Client NFS (192.168.0.2)
Pour accéder au dossier partagé, il est nécessaire d'effectuer une opération de montage.
• Méthode 1 : Montage à la volée
Créer un dossier pour monter le partage : Mkdir /mnt/client_nfs
Monter le partage NFS : Mount -t nfs 192.168.0.1:/dossier01 /mnt/client_nfs
Voici ce que fait chaque élément de la commande : 192.168.0.1 : Est l'adresse IP du serveur
NFS.
/dossier01 : Est le chemin du dossier
partagé sur le serveur.
/mnt/client_nfs : Est le point de montage
sur le client.
Vérifier le montage : Mount -t nfs4
Accéder au dossier partagé : ls /mnt/client_nfs
• Méthode 2 : Montage permanent
Les systèmes de fichiers montés seront toujours accessibles après un redémarrage de la
machine en les ajoutant dans le fichier /etc/fstab.
vim /etc/fstab
192.168.0.1:/dossier01 /mnt/client_nfs nfs defaults 00
Voici ce que fait chaque élément de la commande :
192.168.0.1:/dossier01 : C'est le chemin du répertoire exporté par le serveur NFS.
/mnt/client_nfs : C'est le point de montage sur le client.
nfs : C'est le type de système de fichiers, ici NFS.
defaults : Ce sont les options par défaut pour le montage. Tu peux spécifier d'autres options si
nécessaire, comme rw pour lecture/écriture.
0 0 : Les deux derniers chiffres sont utilisés pour la vérification du système de fichiers au
démarrage. Le premier "0" signifie que le système de fichiers ne sera pas vérifié au
démarrage, et le deuxième "0" signifie qu'il n'a pas d'ordre particulier de montage.
Mount -a
Verifié le montage : Mount -t nfs4
Afficher les répertoires partagés d'un serveur : showmount –e adresse_ip_serveur
showmount –e 192.168.0.1
1.2 Partage de fichiers avec Samba (Windows/Linux)
SAMBA : Permet le partage de données entre les machines linux et les machines Windows
Installer le package samba s'il n'est pas installé : yum install samba
Autoriser le service samba sur le pare-feu du serveur : firewall-cmd –permanent –add-
service=samba
firewall-cmd –reload
firewall-cmd –list-all
Créer un utilisateur samba : useradd user
smbpasswd –a user
Créer un répertoire à partager : mkdir /mnt/d1
mkdir -p /mnt/d1/d2
Changer les droits d’accès au répertoire : chmod –R 777 /mnt/d1
Configurer les partages dans le fichier de configuration : /etc/samba/smb.conf
[dossier1]
path = /mnt/d1
valid users = user1, @group1
read list = user2, @group2
writable = yes
read only = no
browseable = yes
Explication des options ajoutées :
dossier1 : Nom du partage que les clients verront.
Path : Le chemin du répertoire que tu partages.
valid users : user1 et les membres de group1 peuvent accéder au partage.
read list : user2 et les membres de group2 auront un accès en lecture seule.
writable = yes : Les utilisateurs ayant un accès complet peuvent également écrire dans le
partage.
read only = no : Empêche le partage d'être en lecture seule.
browseable = yes : Rendre le partage visible dans l'explorateur de fichiers du réseau.
Sur le client Windows : utilise l'adresse \\IP_serveur_SAMBA pour accéder aux partages
avec les droits d'accès définis.
Pour afficher les partages samba d'un serveur : smbclient -L IP_serveur_SAMBA -N
smbclient -L ip_serveur_SAMBA -U
nom-utilisateur
Pour accéder à un partage samba d'un serveur :
smbclient //@IPserveurSAMBA/nom-dossier -U nom-utilisateur
• Formulation pour les commandes pdbedit et smbpasswd relatives à la gestion des
comptes Samba :
Lister les comptes Samba : pdbedit -L
Afficher les informations détaillées sur un compte Samba : pdbedit -v user
Ajouter un compte dans la liste des utilisateurs Samba : pdbedit -a user
smbpasswd -a user
Supprimer un compte de la liste des utilisateurs Samba : pdbedit -x user
smbpasswd -x user
Désactiver un compte dans la liste des utilisateurs Samba : smbpasswd -d user
Activer un compte dans la liste des utilisateurs Samba : smbpasswd -e user
1.3 Partage de fichiers avec FTP (File Transfer Protocol)
Le service FTP (File Transfer Protocol) permet le transfert de fichiers entre différentes
machines.
➢ Configuration du Serveur FTP
Installer le package vsftpd : rpm –ivh vsftpd-3.0.14a-2.i386.rpm
Autoriser le service ftp sur le pare-feu du serveur :
firewall-cmd –permanent –add-service=ftp
firewall-cmd –permanent –add-port=20/tcp
firewall-cmd –permanent –add-port=21/tcp
firewall-cmd –reload
firewall-cmd –list-services
Configuration du fichier vsftpd :
/etc/vsftpd/vsftpd.conf
Anonymous_enable=yes
Write_enable= yes
Ftpd_banner=bonjour
anonymous_enable=YES : Permet l'accès FTP anonyme.
write_enable=YES : Permet aux utilisateurs d'écrire
ftpd_banner=bonjour : Affiche un message personnalisé "Bonjour" aux utilisateurs lors de
leur connexion.
Démarrer le service vsftpd : systemctl start vsftpd
systemctl is-active vsftpd
Activer le service automatiquement après chaque redémarrage de la machine:
systemctl enbale vsftpd
systemctl is-enabled vsftpd
Créer un compte d'utilisateur pour tester : useradd user1
passwd user1
su – user1
mkdir dossier1
touch fichier1.txt
touch fichier2.txt
➢ Configuration du client FTP
Installer le package ftp : yum install ftp
Se connecter au serveur FTP: ftp @serveur ➔ftp 192.168.0.1
Pour créer un répertoire dans le serveur ftp: mkdir rep01
Pour copier le fichier de serveur FTP à notre machine local (VM CLIENT) :
get fichier1.txt
Pour copier le fichier de serveur FTP à notre machine local dans l’emplacement /root/d1
Lcd /root/d1
Get fichier1.txt
Copier un fichier de notre machine au serveur FTP : put nom de fichier
Si on veut interdis à l’utilisateur user20 d’acer via FTP on peut l’ajouter au fichier :
/ect/vsftpd/user_list
User20
Wq !
➢ Sur le client Windows :
Méthode 1 :
Sur explorateur de fichier ➔ ftp://IP_du_serveur _ftp
Méthode 2 :
Sur Cmd➔ ftp IP_ serveur _ftp