Vous êtes sur la page 1sur 41

Administration des serveurs LINUX

Chapitre 3

Partage de fichiers
Objectifs du cours

➢ Connaitre les démons NFS


➢ Configurer un service NFS
➢ Connaitre les commandes de diagnostic NFS
➢ Comprendre la gestion des droits des accès clients NFS
➢ Connecter un client à un partage NFS

➢ Configurer le partage samba


➢ Gérer les mots de passe samba
➢ Connecter un client à un partage samba

➢ Connaitre les modes de fonctionnement FTP


➢ Configure un serveur et exploiter un client FTP
2
NFS
Partage de données avec NFS

• NFS est le protocole historique de partage de fichiers sur les systèmes


UNIX.

• NFS subit ces derniers temps un regain d’intérèt grâce à certaines


applications qui l’exploitent comme les infrastructure Vmware et un bon
nombre des Cloud Manager open source pour accéder à des espaces
de stockage peu onéreux.

4
Partage de données avec NFS
1. Partage de répertoire
a. Observation des partage actifs
Les partages NFS actifs sur un système sont déclarés pour un répertoire
local, et sont accessibles à certains clients avec certaines options.

Si on rencontre un système déjà configuré, il peut être utile de faire un


diagnostic des partages actifs sur ce système à l’aide de la commande
exportfs.

Il est possible d’observer les statistiques liées à l’activité NFS avec la


commande nfsstat. Cette commande sert surtout à vérifier une activité ou
absence d’activité sur un serveur NFS

5
Partage de données avec NFS
1. Partage de répertoire
b. Partage ponctuel
La commande exportfs permet également de déclarer un partage de
façon interactive. Elle est utilisée pour la déclaration de partages
ponctuels
# exportfs @client:/chemin_partage

Commande exportfs : options et paramètres


Adresse IP du client ou du réseau qui peut se connecter au
@client partage. Le joker « * » permet d’autoriser tous le monde.

Chemin_partage Chemin absolu du répertoire à partager


6
Partage de données avec NFS
1. Partage de répertoire
c. Service NFS et partage permanent
La déclaration d’un partage permanent activé à chaque démarrage du
service NFS se fait dans un fichier /etc/exports.
Il arrive selon les distributions que ce fichier n’existe pas après
l’installation du service et qu’il faille le créer de toutes pièces.

Format du fichier /etc/exports

partage1 @client1(rw,secure)
partage2 @client2
7
Partage de données avec NFS
1. Partage de répertoire
c. Service NFS et partage permanent
Ce fichier est lu à chaque démarrage du service NFS, ou à chaque appel
de la commande exportfs avec l’option -a.
Le script de gestion du service NFS assure le lancement de trois démons
normalisés.
-portmap : gère les requêtes RPC ( Remote Procedure Call )
remplacé par rpcbind dans centos 6
-nfsd : lance les threads NFS pour les connexions clientes
-mountd : gère les requêtes de montage des client
8
Partage de données avec NFS
1. Partage de répertoire
d. Options de partage
Certaines options modifient le comportement du serveur NFS pour
chacun des partages hébergés.
Elle sont précisées dans la commande exportfs ou dans le fichier
/etc/exports
Si plusieurs options sont configurées, elles doivent être séparées par des
virgules.

9
Partage de données avec NFS
1. Partage de répertoire
d. Options de partage

Commande exportfs : options et paramètres


ro Accès en lecture seule

rw Accès en lecture et écriture

Accès en écriture synchrone / asynchrone càd utilisation


sync / async d’une cache en écriture ou non.

root_squash Le compte root perd ses prérogatives sur le partage client

Le compte root conserve ses prérogatives sur le partage


no_root_squash

nolock Ne pose pas de verrouillage sur les fichiers accédés.


Partage de données avec NFS
2. Configuration des clients
a. Affichage des partages distants
La commande showmount permet d’afficher les informations d’un
serveur NFS distant.
a. Montage d’un répertoire distant
Les ordinateurs clients accèdent à un partage NFS par une opération de
montage. Ils exploitent ensuite le partage monté comme s’il s’agissait
d’une arborescence locale.
# mount -t nfs @serveur:/chemin_partage point_de_montage

11
Partage de données avec NFS
3. Gestion des identités
a. Les droits du client
Il peut être assez surprenant quand on se connecte à un partage NFS de
constater qu’aucune demande d’identification ne nous est présentée.
On se retrouve connecter à la ressource sans avoir eu à modifier patte
blanche.
Quand un client se connecte à un partage NFS, il présente son uid, et
aura sur le serveur les droits exactes de l’utilisateur ayant le même uid
sur le serveur. Aucun autre contrôle n’est effectué.

12
Partage de données avec NFS
3. Gestion des identités
b. Le cas du super-utilisateur
Comme le compte root a l’uid 0 quelque soit le système Linux, un client
se connectant au serveur avec son compte root aurait en théorie les
pleins pouvoirs sur le partage. Cette situation embarrassante est résolue
par l’application implicite de l’option de partage : root_squash.
En effet si un serveur reçoit une demande de connexion d’un compte
avec l’uid 0, il modifie son identifiant et lui applique sur le partage l’uid
d’un compte de service NFS (selon les distribution nfsanonymous,
nfsnobody, nobody …)
13
Samba
Partage de données avec SAMBA

Samba est une solution logicielle d’interopérabilité avec Windows sur les
systèmes Linux et Unix.

Le nom de samba vient du protocole SMB : Server Message Block utilisé


pour le partage de ressources sur les réseaux Microsoft.

Il permet notamment le partage de fichiers ou d’imprimantes sur des


serveurs Linux à destination de clients Windows.

15
Partage de données avec SAMBA

1. Configuration générale
a. Les démons samba

Samba repose sur deux démons appelés nmbd et smbd.

Les partages de fichiers et d’imprimantes eux-mêmes s’appuient sur le


démon smbd

Le script de gestion du service généralement présent dans les


distributions lance ces deux démons à chaque démarrage.

16
Partage de données avec SAMBA

1. Configuration générale
b. Les fichiers de configuration

Les démons samba trouvent leur configuration dans le fichier de


configuration smb.conf, généralement dans le répertoire /etc/samba.
Le fichier de configuration est divisé en sections normalisées, chacune
étant commencée par un titre entouré de crochets.
Les paramètres de fonctionnement seront dans chacune des sections
présentés sous la syntaxe paramètre = valeur.

17
Partage de données avec SAMBA

1. Configuration générale
b. Les fichiers de configuration

Il existe un outil fort utile appelé testparm qui valide le format d’un fichier
de configuration samba.
Il renvoie en outre un état épuré (sans les lignes de commentaire) de la
configuration sur la sortie standard.
Il est à noter que la commande testparm ignore tout paramètre du fichier
de configuration s’il est configuré à sa valeur par défaut.

18
Partage de données avec SAMBA

1. Configuration générale
c. Configuration globale

Dans sa configuration la plus simple, une implémentation samba


comprend un serveur héberge une ou plusieurs ressources. Certains
paramètres concernent le fonctionnement global et l’identité de ce
serveur et se retrouveront dans une section appelée global du fichier
smb.conf.
Dans ce qui suit, nous nous placeront dans la situation qui présente des
partages à des clients windows.
19
Partage de données avec SAMBA

1. Configuration générale
c. Configuration globale

Section [global] du fichier smb.conf


workgroup = groupe de travail Le nom du groupe de travail du serveur

server string = commentaire Commentaire associé au serveur

log file = /chemin/log Format standard des fichiers log.

max log size = log_max Taille maximum des fichiers de journalisation

security = user Oblige une authentification avec un compte utilisateur

encrypt passwords = true Nécessaire pour des mots de passe cryptés


20
Partage de données avec SAMBA

2. Partage de répertoire
Le partage de répertoire se fait par l’ajout d’une section dans le fichier
smb.conf

Format type d’une section partage dans smb.conf


[nom_partage]
Comment = commentaire
Path = chemin_absolu
Readonly = yes / true / false /no
Writable = yes / true / false /no
Browseable = yes / no
Valid users=@arctic1 21
Partage de données avec SAMBA

3. Gestion des identité


a. Authentification auprès des serveurs samba

Un serveur Linux avec la suite logicielle Samba installée utilise


nativement les comptes du système pour les authentifications Samba.

Cette situation risque de poser un problème car le client windows va


présenter un mot de passe crypté par l’algorithme de hachage natif des
systèmes Windows MD4 alors que les systèmes Linux exploitent un autre
algorithmes ( MD5 en général ).
22
Partage de données avec SAMBA

3. Gestion des identité


b. Génération des mots de passe MD4

Pour résoudre ce problème, il faut donc que ces systèmes hébergent une
version de mot de passe cryptée en MD4.
La commande spécifique smbpasswd permet la création d’un mot de
passe MD4 pour un compte Linux existant. Ce mot de passe est stocké à
par, généralement dans un fichier /etc/samba/smbpasswd

Syntaxe de la commande
# smbpasswd -a nom_compte 23
Partage de données avec SAMBA

3. Gestion des identité


c. Manipulation d’un compte samba

Désactiver un compte samba


# smbpasswd -d nom_compte

Réactiver un compte samba


# smbpasswd -e nom_compte

Supprimer un compte samba


# smbpasswd -x nom_compte
24
Partage de données avec SAMBA

4. Le client samba

Le client samba permet d’accéder à un partage d’une machine Windows


ou depuis un client Linux.

Les deux commandes principales du client samba sont smbclient et


smbmount

25
Partage de données avec SAMBA

4. Le client samba
a. Exploitation ponctuelle de ressources avec smbclient

Récupérer des informations sur un serveur smb


$ smbclient -L adresse_serveur -U nom_utilisateur

Réaliser des opérations sur les partages


$ smbclient //adresse_serveur/partage -U nom_utilisateur

=> On peut se déplacer dans l’arborescence avec la commande cd, puis


get pour récupérer et put pour envoyer des fichiers. 26
Partage de données avec SAMBA

4. Le client samba
b. Montage d’un partage smb avec smbmount

La commande smbmount permet de réaliser le montage d’un partage SMB


sur un répertoire local comme on peut le faire d’un filesystem local ou d’un
partage NFS

Syntaxe de la commande smbmount


$ smbmount //adresse_serveur/partage pt_montage -o user=nom_utilisateur

27
Partage de données avec SAMBA

4. Le client samba
c. Montage d’un partage CIFS

Pour répondre aux besoins d’ouverture de protocole, SMB s’est normalisé,


a évolué et s’appelle désormais CIFS. La tendance est à la disparition de
smb au profit de cifs.

Syntaxe de la commande mount pour partage cifs


$ mount –t cifs username=nom_utilisateur //@serveur/partage /pt_montage
Il est possible de vérifier coté serveur quels sont les clients connectés. La
commande smbstatus permet d’afficher les connexions smb actives. 28
FTP
Partage de fichiers avec FTP

1. Le protocole FTP
a. Historique

FTP : File Transfert Protocole est un protocole client-serveur assez ancien


qui fut l’un des premiers à permettre le partage de fichiers entre deux
ordinateurs.

Aujourd’hui il est très utilisé, notamment par les hébergeurs internet qui
proposent généralement à leurs clients de mettre à jour les sites web
hébergés par FTP.
30
Partage de fichiers avec FTP

1. Le protocole FTP
b. Mode FTP actif et FTP passif

Historiquement les clients FTP travaillaient en mode actif ou la session est


établie sur le port 21 du serveur ("control channel"), et ou les données sont
envoyées depuis le port 20 ("data channel") et à l’initiative du serveur vers
un port quelconque du client.

En mode passif, une fois la session établie et l'authentification FTP


acceptée, le serveur se met en attente de session qui sera établit par le
client sur un port dynamique vers le serveur ("data channel"). 31
Mode actif

32
Mode Passif

33
Partage de fichiers avec FTP

2. Les clients FTP


a. Les clients FTP graphiques

Les clients FTP graphiques sont nombreux et existent pour toutes les
plateformes. On peut citer filezilla qui est un produit open source très
populaire sur les systèmes windows.

La configuration et l’usage des clients FTP graphique variant selon les


produits et ne présentent pas de difficulté majeures.

34
Partage de fichiers avec FTP

2. Les clients FTP


b. Les clients FTP en lignes de commandes

La plupart des systèmes incluent un client FTP en lignes de commandes qui


le rend extrêmement pratique pour tester la configuration d’un serveur FTP.

L’avantage principale du client FTP en ligne de commande est qu’il permet


de réaliser toutes les opérations voulues une à une, et donc de comprendre
en cas de dysfonctionnement ou se situe l’échec.

35
Partage de fichiers avec FTP

2. Les clients FTP


b. Les clients FTP en lignes de commandes

Client FTP : commandes courantes


open Ouvre une session FTP vers le serveur donné en référence

close Ferme une session FTP en cours

ls Affiche les fichiers contenus dans le répertoire courant distant

cd Change le répertoire courant distant.

get Télécharge (récupère) un fichier du répertoire distant dans un répertoire local

put Envoie un fichier du répertoire courant local vers le répertoire courant distant
36
Partage de fichiers avec FTP

3. Le serveur Pure-FTPd

Pure-FTPd est un serveur FTP qui vise à proposer un service de transfert


de fichier simple, stable et efficace. Il se veut adapté aussi bien aux
débutants qu’aux situations de production en entreprise.

Sa principale caractéristique est de pouvoir être lancé facilement en ligne de


commande sans s’appuyer sur un fichier de configuration.

37
Partage de fichiers avec FTP

3. Le serveur Pure-FTPd
a. Fonctionnement par accès aux répertoires personnels

C’est le fonctionnement par défaut, et les utilisateurs possédant un compte


et un répertoire personnel peuvent accéder à leurs données avec leur
identifiant et leur mot de passe habituel.

Ce mode de fonctionnement est généralement déconseillé dans la mesure


ou le transit du mot de passe en clair met en danger le mot de passe Linux.
Lancement du service
# pure-ftpd 38
Partage de fichiers avec FTP

3. Le serveur Pure-FTPd
b. Fonctionnement en accès anonyme

L’accès anonyme est possible si un compte utilisateur ftp a été créé sur le
serveur. Les clients connectés en mode anonyme travaillent alors dans le
répertoire /home/ftp

Il est possible de travailler en mode anonyme seul en appelant pure-ftpd


avec l’option --anymousonly

39
Partage de fichiers avec FTP

3. Le serveur vsftpd

Vsftpd pour « very secure FTP daemon » est un autre serveur FTP très
populaire sur les systèmes Linux. Il s’appuie sur un service et un fichier de
configuration : vsftpd.conf.

40
Partage de fichiers avec FTP

3. Le serveur vsftpd

La plupart des paramètres ont pour valeur YES ou NO

Fichier vsftpd.conf : paramètres courants


anonymous_enable Autoriser/interdire la connexion d’un compte anonyme
Autoriser/interdire la connexion avec des comptes utilisateurs
local_enable locaux

write_enable Autoriser/interdire la création/ modification des fichiers / répertoires

chroot_enable Emprisonner les utilisateurs dans un répertoire spécifique

local_root Spécifier un répertoire à partager


41

Vous aimerez peut-être aussi