Le rôle du serveur NFS est de mettre à disposition sur le réseau une partie de son système de fichiers local. On parle d'« exportation ».
Conformément à la présentation de la Section 2, « Protocole NFSv4 », on choisit une solution qui utilise les fonctions du noyau Linux.
Q66. |
Quel est le paquet qui contient les outils nécessaires au fonctionnement du serveur NFS ? Installez ce paquet. Interrogez les méta données du gestionnaire de paquets pour identifier le nom du paquet à installer. |
||||||
Recherchez la chaîne apt search --names-only nfs.*server nfs-kernel-server/testing,now 1:2.8.3-1+b1 amd64 [installé]
gestion du serveur NFS du noyau
sudo apt -y install nfs-kernel-server |
|||||||
Q67. |
Quel est le fichier de configuration principal de gestion des exportations NFS ? Recherchez dans le support Linux NFS-HOWTO. |
||||||
Quel que soit le protocole utilisé, c'est toujours le fichier
cat /etc/exports # /etc/exports: the access control list for filesystems which may be exported # to NFS clients. See exports(5). # # Example for NFSv2 and NFSv3: # /srv/homes hostname1(rw,sync,no_subtree_check) hostname2(ro,sync,no_subtree_check) # # Example for NFSv4: # /srv/nfs4 gss/krb5i(rw,sync,fsid=0,crossmnt,no_subtree_check) # /srv/nfs4/homes gss/krb5i(rw,sync,no_subtree_check) #
|
|||||||
Q68. |
Créez le répertoire Consultez les supports Linux Linux NFS-HOWTO et Nfsv4 configuration. Vous pouvez également consulter les pages de manuel fournies avec le paquet du serveur NFS. |
||||||
sudo mkdir -p /home/exports/home En exploitant la documentation
Nfsv4 configuration et l'exemple de configuration fournis
dans le fichier de configuration, on applique les instructions de
configuration suivantes dans le fichier Ajoutez les instructions d'exportation du dossier à destination de votre réseau IPv4. cat << EOF | sudo tee -a /etc/exports /home/exports 172.28.101.0/24(rw,sync,fsid=0,crossmnt,no_subtree_check) /home/exports/home 172.28.101.0/24(rw,sync,no_subtree_check) EOF Ajoutez aussi les instructions d'exportation du dossier à destination de votre réseau IPv6. cat << EOF | sudo tee -a /etc/exports /home/exports 2001:678:3fc:65::/64(rw,sync,fsid=0,crossmnt,no_subtree_check) /home/exports/home 2001:678:3fc:65::/64(rw,sync,no_subtree_check) EOF Les adresses des réseaux IPv4 et IPv6 doivent bien sûr être adaptées à votre plan d'adressage. Les options entre parenthèses sont documentées dans les pages de
manuels
|
|||||||
Q69. |
Comment l'exportation NFS effective ? Comment vérifier que les paramètres actifs sont corrects ? Recherchez dans la liste des outils fournis avec le paquet
|
||||||
On identifie la commande exportfs dans la liste des binaires fournis avec le paquet serveur NFS. dpkg -L nfs-kernel-server | grep bin /usr/sbin
/usr/sbin/exportfs
/usr/sbin/fsidd
/usr/sbin/nfsdcld
/usr/sbin/nfsdclddb
/usr/sbin/nfsdclnts
/usr/sbin/nfsdctl
/usr/sbin/nfsref
/usr/sbin/rpc.mountd
/usr/sbin/rpc.nfsd
sudo systemctl restart nfs-server systemctl status nfs-server ● nfs-server.service - NFS server and services Loaded: loaded (/usr/lib/systemd/system/nfs-server.service; enabled; preset: enabled) Active: active (exited) since Mon 2025-09-15 08:56:44 CEST; 27s ago Invocation: 9056b4826f4d4be688cb4ee9f1490f23 Docs: man:rpc.nfsd(8) man:exportfs(8) Process: 2495 ExecStartPre=/usr/sbin/exportfs -r (code=exited, status=0/SUCCESS) Process: 2496 ExecStart=/bin/sh -c /usr/sbin/nfsdctl autostart || /usr/sbin/rpc.nfsd (code=exited, status=0/SUCCESS) Main PID: 2496 (code=exited, status=0/SUCCESS) Mem peak: 2.3M CPU: 38ms sept. 15 08:56:44 srvr systemd[1]: Starting nfs-server.service - NFS server and services... sept. 15 08:56:44 srvr sh[2498]: nfsdctl: lockd configuration failure sept. 15 08:56:44 srvr systemd[1]: Finished nfs-server.service - NFS server and services.
Consultez la liste des entrées exportées via NFS avec la commande exportfs. sudo exportfs /home/exports 172.28.101.0/24 /home/exports 2001:678:3fc:65::/64 /home/exports/home 172.28.101.0/24 /home/exports/home 2001:678:3fc:65::/64 Vérifiez que la liste des exportations est visible et identique côté client en utilisant la commande showmount. sudo showmount -e fe80::baad:caff:fefe:5 Export list for fe80::baad:caff:fefe:5: /home/exports/home 2001:678:3fc:65::/64,172.28.101.0/24 /home/exports 2001:678:3fc:65::/64,172.28.101.0/24 |
Il est impératif d'assurer la cohérence du nommage des arborescences entre les clients et le serveur. Cela évite toute confusion entre les différents interlocuteurs, d'un point de vue administration et support.
Il faut également garantir l'évolutivité en utilisant un point de montage dédié côté serveur. Ainsi, il est possible de déplacer ou de migrer le volume de stockage du serveur sans impacter les clients.
Q70. |
Quel est le rôle du répertoire Recherchez la signification du paramètre |
On peut établir une analogie entre un serveur Web et un serveur
NFS. L'option Dans les deux cas, les clients des serveurs Web ou NFS n'ont aucune connaissance de l'arborescence de stockage du serveur. |
|
Q71. |
Comment créer le point de montage logique
Recherchez, dans les pages de manuels de la commande
mount, les
informations sur l'option Complétez le fichier système qui contient la liste des montages
statiques et activez le nouveau montage du nouveau dossier
|
Dans le cadre de ces travaux pratiques, les répertoires
utilisateurs doivent être référencés à partir d'une racine nommée
L'utilisation d'un montage local avec l'option Créez le répertoire de montage. sudo mkdir /ahome Associez le répertoire exporté par le service NFS au point de montage. sudo mount --bind /home/exports/home /ahome Enregistrez ce montage dans la configuration système permanente
en éditant le fichier cat << EOF | sudo tee -a /etc/fstab /home/exports/home /ahome none defaults,bind 0 0 EOF Vérifiez l'ajout de la nouvelle entrée dans le fichier
grep -v ^# /etc/fstab PARTUUID=95ed2e41-f56c-4cc0-a79e-c93a07e93c79 / ext4 rw,discard,errors=remount-ro,x-systemd.growfs 0 1
PARTUUID=71f5d30c-8e21-4372-81f6-11eb66815669 /boot/efi vfat defaults,umask=077 0 2
/home/exports/home /ahome none defaults,bind 0 0
Activez le nouveau point de montage. sudo mount -a |
Dans cette section, vous créez un compte utilisateur local sur
le serveur ainsi qu'un fichier lui appartenant. L'objectif est de
préparer l'analyse de la correspondance entre les valeurs
UID
et GID
entre le client et le serveur NFS. Voir Section 6,
« Gérer les droits sur le système de fichiers
NFS ».
Q72. |
Comment créer un compte utilisateur local
baptisé Recherchez dans les paramètres de la commande adduser celui qui permet de désigner le répertoire utilisateur. |
Créez le compte utilisateur en utilisant l'option sudo adduser --home /ahome/etu-nfs etu-nfs Nouveau mot de passe : Retapez le nouveau mot de passe : passwd : mot de passe mis à jour avec succès Modifier les informations associées à un utilisateur pour etu-nfs Entrer la nouvelle valeur, ou appuyer sur ENTER pour la valeur par défaut NOM []: NFS user Numéro de chambre []: Téléphone professionnel []: Téléphone personnel []: Autre []: Is the information correct? [Y/n] Affichez les attributs du compte utilisateur créé. getent passwd etu-nfs etu-nfs:x:1002:1002:NFS user,,,:/ahome/etu-nfs:/bin/bash Les valeurs numériques des identifiants |
|
Q73. |
Comment créer un fichier avec l'identité de
l'utilisateur Recherchez comment utiliser la commande su ou login pour prendre l'identité du nouvel utilisateur. |
Utilisez l'une des deux commandes suivantes pour prendre
l'identité de l'utilisateur
Prenez l'identité de l'utilisateur su - etu-nfs Mot de passe : id uid=1002(etu-nfs) gid=1002(etu-nfs) groupes=1002(etu-nfs),100(users) Vérifiez que le chemin du répertoire utilisateur est correct. pwd /ahome/etu-nfs Créez un fichier texte dans le répertoire utilisateur et affichez son masque de permissions. echo "This file is mine" > myTextFile ls -lAh myTextFile -rw-rw-r-- 1 etu-nfs etu-nfs 18 15 sept. 15:00 myTextFile Vous pouvez revenir à l'identité précédente en quittant la session avec la commande exit. |