0% ont trouvé ce document utile (0 vote)
0 vues4 pages

TP04

Ce document présente un TP sur la mise en place d'un système de fichiers en réseau (NFS) entre deux ordinateurs. Il décrit les étapes pour configurer les machines, exporter des répertoires, monter des disques distants, et gérer les permissions d'accès pour différents utilisateurs. Les utilisateurs doivent également comprendre les fichiers de configuration associés et les commandes nécessaires pour manipuler les montages NFS.

Transféré par

Amour YOBODE
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
0 vues4 pages

TP04

Ce document présente un TP sur la mise en place d'un système de fichiers en réseau (NFS) entre deux ordinateurs. Il décrit les étapes pour configurer les machines, exporter des répertoires, monter des disques distants, et gérer les permissions d'accès pour différents utilisateurs. Les utilisateurs doivent également comprendre les fichiers de configuration associés et les commandes nécessaires pour manipuler les montages NFS.

Transféré par

Amour YOBODE
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Institut Galilée L2 Info – S4 — Année 2017–2018

Administration Système
TP 04 : NFS (1)
Le but de ce TP est de mettre en place un NFS (Network File System) qui permet à un ordinateur
d’accéder au disque dur d’un autre.
Attention ! Il y a souvent une erreur RPC error: Program not registered au moment du montage
(à la partie 1.3.2), il faut arrêter le démon bind, redémarrer le démon qui gère le serveur NFS puis
démarrer le démon bind. Par sécurité, il vaut mieux le faire sur toutes les machines. . .

1 Les bases
1.1 Mise en place initiale
Ouvrir un nouveau projet. Mettre deux ordinateurs et les connecter à l’aide d’un câble. Démarrer
les ordinateurs. Modifier les fichiers /etc/network/interfaces de manière à assigner une adresse IP
statique à chaque machine. Modifier les fichiers /etc/hosts de manière à ce que chacun connaisse
l’autre 1 .
Activer les interfaces réseau et vérifier (à l’aide de ping) que le réseau fonctionne correctement.

1.2 Exporter un répertoire


Sur la première machine, il faut exporter un répertoire pour qu’il soit accessible depuis l’autre machine.
La liste des répertoires à exporter se trouve dans le fichier /etc/exports. Regarder le contenu de ce
fichier (utiliser cat ou less, pas besoin d’utiliser un éditeur de texte et de risquer de modifier le fichier
par erreur). Il contient juste quelques exemples un peu obscurs ainsi qu’une référence au manuel. . .
Regarder le manuel de exports. En particulier :
— Le deuxième paragraphe qui décrit le format général du fichier (et de chaque ligne).
— La section “Machine Name Formats” qui explique comment peuvent être donné les noms des
machines autorisées à accéder au répertoire exporté. Quel format faudra-t-il utiliser pour l’instant ?
— La section “General Options”. Quelle option faudra-t-il utiliser pour autoriser la machine distante
à écrire dans le répertoire exporté ?
— La section “EXAMPLE” qui contient en quelques lignes un résumé de la syntaxe du fichier.
Comme on peut le voir, il faut préciser sur chaque ligne d’une part le répertoire qui doit être exporté et
d’autre part la ou les machines qui ont le droit d’y accéder, suivie d’une liste d’options entre parenthèses.
Créer un répertoire /toto sur m1. Y placer un fichier [Link] contenant le texte “Ce fichier se
trouve physiquement sur m1.” Modifier le fichier /etc/exports de manière à autoriser m2 à accéder au
répertoire et à écrire dedans. Rajouter l’option no_subtree_check pour éviter les warning intempestifs
par la suite. . .
Pour que les changements soient pris en compte, il faut relancer le démon NFS (ou lui faire recharger
sa configuration). Le programme de gestion du démon se trouve à l’endroit habituel (au même endroit
que bind de la semaine dernière) et il s’agit de la gestion du serveur NFS (lister les programmes de ce
répertoire pour trouver le bon). Relancer (restart) ou recharger la configuration (reload) du démon.
Utiliser la commande exportfs pour vérifier que le répertoire est bien exporté vers m2.

1.3 Monter le répertoire


Pour que m2 puisse accéder à un répertoire distant, il faut le monter sur m2. Le mécanisme de montage
est le mécanisme général avec lequel Linux accède à toutes ses informations, que ce soit les disques durs
(locaux ou distants), les CD/DVD, les clés USB, . . . Aussi nous allons passer un peu de temps à le
détailler. . .
1. En “vrai”, il faudrait bien sûr mettre en place un serveur DNS. Dans le cadre de ce TP, on se contentera de la version
simplifiée.

1
1.3.1 Montage de périphériques physiques
Sous Windows, lorsqu’on rajoute un nouveau périphérique de stockage (disque dur, CD, clé USB,
. . . ), le système lui attribue un nouveau lecteur, identifié par une lettre (généralement C:, D: pour les
disques durs, A: pour les disquettes, . . . )
Sous Linux, les périphériques ne sont pas rattachés au niveau le plus haut de l’arborescence de
répertoires mais peuvent être rattachés à n’importe quel niveau. Il faut donc spécifier au système à la
fois un périphérique et un point de montage, c’est-à-dire un répertoire où sera rattaché le périphérique
en question.
La commande pour monter un périphérique s’appelle mount. Regarder son manuel. En particulier le
deuxième paragraphe qui indique la syntaxe la plus courante d’utilisation de la commande et la section
“FILES” à la fin qui indique les fichiers de configuration associés à mount. On pourra aussi survoler la
liste d’arguments que peut prendre l’option -t (i.e. la liste des types de système de fichiers qui sont
gérés) ainsi que les options spécifiques à chaque type de système de fichiers (“FILESYSTEM SPECIFIC
MOUNT OPTIONS”). Y a-t-il des noms de type de système de fichiers qui vous disent quelque chose ?
Quel est le système de fichier d’un CD ?
Remarque : La section “FILES” du manuel parle du fichier /etc/filesystems qui n’existe pas sur
les machines Marionnet. Une lecture attentive de la description de l’option -t permettra de trouver par
quel fichier il est remplacé et de voir ainsi la liste des systèmes de fichiers utilisable sur ces ordinateurs
(on pourra aussi regarder le manuel de filesystems pour une rapide description des plus courants).
Les deux premiers fichiers de la section “FILES” du manuel sont ceux sur lesquels nous allons
nous concentrer maintenant. La machine virtuelle étant, par nature, un peu bizarre au niveau des
périphériques, nous allons les regarder sur la machine réelle. Le deuxième de ces fichiers contient la
table de tous les périphériques qui sont actuellement montés sur la machine.
Regarder ce fichier sur la machine réelle 2 . Chaque ligne contient un nom de périphérique, le nom du
point de montage et une liste d’options de montage. Regarder en particulier :
— Les lignes qui commencent par /dev/sd et qui indiquent les disques durs SATA (ou SCSI) (la
lettre indique ensuite le numéro du disque et le chiffre le numéro de la partition, ainsi /dev/sdb3
correspond à la troisième partition du deuxième disque SATA).
— Les lignes commençant par /dev/hd indiquent les disques durs IDE 3 .
— Les lignes dont le nom de fichier contient ’:’ indiquent des disques distants montés par NFS. On
y trouve notamment les comptes utilisateurs (les machines sercalsf sont les serveurs de f ichiers
du Sercal).
Insérer une clé USB ou un CD dans l’ordinateur. Normalement, le montage a lieu automatiquement
(grâce au démon hald (Hardware Abstraction Layer )). Regarder de nouveau le fichier /etc/mtab et
constater le changement. Retirer la clé/le CD. Regarder de nouveau le fichier.
Regarder maintenant (toujours sur la machine réelle) le fichier /etc/fstab qui contient la liste
des système de fichiers qui peuvent être monté. La syntaxe est globalement similaire. On retrouve les
différentes partitions du disque dur ainsi que la possibilité de montage pour CD ou clé USB.

1.3.2 Montage de disque réseau


Attention ! En cas d’erreur RPC error: Program not registered, voir la procédure à suivre en
début de TP.
Nous allons maintenant pouvoir monter sur m2 le disque réseau exporté par m1 (enfin !)
Il faut tout d’abord créer sur m2 un point de montage, c’est-à-dire un répertoire où sera monté le
disque. Créer un répertoire /titi sur m2.
Il faut maintenant utiliser mount pour monter le disque. Reregarder le manuel pour retrouver (deuxième
paragraphe) la syntaxe de la commande. Le type de système de fichiers sera, bien sûr, nfs. Le répertoire
de montage sera /titi. Pour le périphérique (device), il faut signaler qu’il se trouve sur m1 et indiquer
le chemin sur place. Comme dans les fichiers fstab ou mtab, on indique ça à l’aide de la syntaxe :
<machine>:<chemin>

2. Rappel : pas d’éditeur.


3. Normalement, il n’y en a pas sur les machines Sercal, mais il peut y en avoir sur vos machines personnelles.

2
Monter le répertoire /toto de m1 sur m2 (dans le répertoire /titi). Aller dans le répertoire. Vérifier
que le fichier [Link] s’y trouve bien et qu’il s’agit bien de celui créé précédemment (regarder son
contenu).
Remarque : par la suite, nous utiliserons cette syntaxe pour spécifier des répertoires particuliers sur
des machines particulières. Ainsi, on écrira m2:/titi comme forme abrégée de “le répertoire /titi sur
la machine m2”.
Essayer de modifier son contenu. Pour des raisons de sécurité, root n’a pas le droit de modifier les
répertoires NFS. Nous y reviendrons.
Démonter le répertoire à l’aide de la commande umount (regarder le manuel, en particulier le pre-
mier paragraphe, en cas de doutes sur la syntaxe). Avez-vous penser à quitter le répertoire avant de le
démonter ?

1.3.3 Monter et démonter, c’est toujours travailler


Aller dans m2:/titi. Créer un fichier [Link] contenant le texte “Ce fichier se trouve physique-
ment sur m2.” Revenir à la racine. Remonter m1:/toto comme précédemment. Regarder le contenu de
m2:/titi. Que constate-t-on ? Démonter le répertoire. Que constate-t-on ?

1.4 Montage au démarrage


Bien évidemment, cette méthode ne permet pas un accès pérenne au répertoire car il faut le remonter
à chaque fois et en particulier à chaque démarrage.
Éditer le fichier m2:/etc/fstab. En s’inspirant du fichier sur la machine réelle, ajouter une ligne
pour monter le répertoire distant m1:/toto au point de montage /titi (seuls ces deux paramètres sont
à changer par rapport aux lignes correspondant à des montages NFS sur la machine réelle).
Regarder dans le manuel de mount l’option -a. L’utiliser et vérifier que le répertoire est bien monté
(donc que la syntaxe est correcte. . . )
Arrêter et redémarrer m2 (uniquement). Le répertoire a-t-il été monté automatiquement au démarrage ?
Remarque : il faut bien évidemment que m1 soit déjà allumée quand m2 est démarrée pour que le
montage puisse avoir lieu. . . Si les deux machines sont démarrées simultanément, rien n’est garanti quant
à l’ordre réel dans lequel les opérations vont avoir lieu et des problèmes peuvent surgir.

2 Lecture et écriture
2.1 Pour un utilisateur
À l’aide de la commande adduser, Créer un utilisateur toto sur chacune des deux machines. Créer
un répertoire m1:/export_toto. À l’aide de chown, donner ce répertoire à l’utilisateur toto. Exporter
ce répertoire par NFS. Vérifier que depuis m2 l’utilisateur toto parvient bien à lire ce répertoire et à
écrire dedans. Regarder les propriétaires du répertoire et des fichiers se trouvant dedans vu depuis chaque
machine.

2.2 Pour root


Par défaut, lorsqu’un répertoire est exporté par NFS est monté par root, l’écriture est impossible. En
effet, root n’est pas forcément la même personne sur chaque machine ! Si on autorise l’accès en écriture
au root d’une autre machine, on lui donne ainsi la possibilité de modifier les fichiers de configuration du
système et on ouvre une faille de sécurité.
Par exemple, le serveur de fichiers du Sercal permet à toutes les machines ayant obtenues une adresse
par DHCP de monter les disques utilisateurs (les $HOME de tout le monde). Si quelqu’un se connecte
avec un portable (ne jamais brancher de portable sur les machines de la fac, ça perturbe gravement le
réseau), il peut obtenir une adresse par DHCP et monter ainsi les répertoires de tout le monde. Il est
bien évidemment facile d’être root sur son portable et si on autorisait root à faire ce qu’il veut via ce
montage, il serait alors facile de ”pirater” tous les comptes de la fac !
Lire dans le manuel de exports la section “User ID Mapping” vers la fin.

3
Créer et exporter un répertoire de telle sorte que root puisse écrire dedans. Créer et exporter un
répertoire de telle sorte que personne (ni root, ni toto) ne puisse écrire dedans. Vérifier qu’ils se com-
portent comme ils doivent.

2.3 Pour plusieurs utilisateurs


Sur m1, créer un utilisateur tata puis un utilisateur titi. Sur m2, créer un utilisateur titi puis un
utilisateur tata (attention à l’ordre !)
Sur m1, créer et exporter un répertoire appartenant à titi. Que se passe-t-il sur m2 ? Avez-vous une
idée de la raison de ce phénomène ? (explications. . . au prochain TP)

3 Ce qu’il faut retenir


Vous devez connaı̂tre
— le concept de NFS et les fichiers associés ;
— la commande mount et la manière de monter un disque NFS
Vous devez connaı̂tre l’existence :
— de la notion de types de systèmes de fichiers, éventuellement des noms de quelques uns de ces
types ;
— des fichiers /etc/fstab et /etc/mtab ;
— de la commande adduser (nous y reviendrons).

Vous aimerez peut-être aussi