PrimTux en réseau

Dans l'utilisation en classe ou en salle informatique, si l'on ne souhaite pas que les élèves soient contraints d'utiliser le même poste informatique à chaque séance afin de retrouver les fichiers qu'ils ont créés précédemment, il faut pouvoir enregistrer ces fichiers sur un poste "serveur" accessible depuis n'importe quelle autre machine. Évidemment, il faudra que ce poste soit allumé pour pouvoir avoir accès aux documents ;-). Dans ce but, les PC doivent être reliés à un même réseau informatique. Deux principaux types de protocoles permettent le partage de fichiers, Samba et NFS. Chacun a ses avantages et inconvénients.

Partage de fichiers avec samba

Samba est un protocole à privilégier lorsque le parc informatique est constitué de machines  disposant de systèmes d'exploitation très différents tels que Linux, Windows, Mac OS, car reconnu par ces différents systèmes. Comme très souvent les ordinateurs des enseignant⋅es sont encore sous Windows, cette solution peut leur permettre d'agir directement sur le dossier de partage (dépôt de fichiers pour les élèves ou récupération de leurs fichiers).

Sous Linux, pour que ce partage soit reconnu pour la lecture ou l'enregistrement de fichiers au sein des applications sur les postes clients, il faudra d'abord le monter, soit par le gestionnaire de fichiers (mais il faudra faire l'opération à chaque fois), soit en intervenant dans le fichier fstab.

PrimTux dispose d'un utilitaire permettant de créer très facilement un répertoire de partage sur un poste que l'on considérera comme poste "serveur". Les autres postes, considérés comme "invités", pourront se connecter à ce répertoire partage pour y enregistrer des fichiers, ou en récupérer pour les modifier.

Opération à faire sur le poste serveur

AVERTISSEMENT : Pour des raisons de droits d'écritures, ce poste serveur ne devra pas être utilisé pour travailler sur les documents partagés. Il faudra agir à partir d'autres postes clients pour déposer, modifier ou supprimer des dossiers ou fichiers partagés. Ce poste serveur ne doit donc pas être celui des enseignant⋅es car iels auront du mal à accéder au partage.

L'utilitaire de création d'un dossier de partage samba est accessible depuis le menu principal de PrimTux (menu Whisker) :

samba01.png

samba02.png

S'ouvre un terminal dans lequel il faudra saisir le mot de passe de session :

samba03.png

Puis on obtient la boîte de dialogue suivante :

samba04.png

Dans le premier champ, il faut créer un répertoire de partage en saisissant un nom au sein du dossier /media. L'icône de dossier sur la droite du champ permet de le faire comme dans le gestionnaire de fichiers.

Le répertoire à créer doit obligatoirement se situer dans le dossier /media !

Dans le second champ, on crée un nom pour ce partage. C'est sous ce nom que le dossier sera vu par les autres ordinateurs du réseau.

Exemple :

samba05.png

Un fenêtre indique si l'opération s'est correctement effectuée :

samba06.png

Accès depuis les autres postes (postes clients)

Sur les autres PC du réseau, on devrait accéder à ce répertoire partagé depuis le gestionnaire de fichiers.

PC sous Linux

Ouvrir le gestionnaire de fichiers, et aller à "Réseau", puis double-cliquer sur le dossier dont le nom correspond au nom de partage que l'on a défini sur le poste serveur :

samba07.png

On double-clique sur le répertoire portant le nom du partage :

samba08.png

S'ouvre une boîte de dialogue de demande d'authentification avec laquelle on se connecte anonymement :

samba09.png

On entre alors dans le répertoire partagé dans lequel il est possible de créer des dossiers, sous-dossiers, fichiers, ou de les ouvrir pour les modifier :

samba10.png

Dans le cas où le partage samba n'apparaîtrait pas dans le gestionnaire de fichiers, il est possible d'y accéder par l'adresse IP du serveur.

L'adresse IP du poste serveur (s'il est sous PrimTux) peut être trouvée en ouvrant un terminal sur ce poste serveur, en saisissant 
hostname -I

Pour cela on se rend à "Réseau" depuis le gestionnaire de fichier, puis on double-clique sur "Réseau Windows" :

samba11.png

On bascule la barre de navigation du mode bouton au mode édition, on supprime l'un des slash du smb:/// qui s'affiche, puis on saisit l'adresse IP du poste serveur suivie du nom de partage que l'on a donné lors de la configuration du serveur :

samba12.png

Montage au démarrage

Pour ne pas à avoir à effectuer l'opération précédente afin que le dossier partagé soit reconnu lors de la lecture ou l'enregistrement de fichiers au sein des applications, on devra le monter dans le fichier /etc/fstab.

Voici comment procéder en ligne de commande dans un terminal.

Par sécurité, on commencera par faire une sauvegarde du fichier existant :

sudo cp /etc/fstab /etc/fstab.orig

On crée un répertoire dans lequel effectuer le montage, en lui donnant les droits souhaités :

sudo mkdir /media/mon-dossier-partage sudo chmod -R 777 /media/mon-dossier-partage
On édite le fichier fstab :
sudo nano /etc/fstab

On ajoute la ligne suivante en l'adaptant à sa configuration locale et en paramétrant les droits selon ses besoins (ici on a donné les droits les plus larges avec possibilité de se connecter anonymement) :
//IP-serveur/chemin/dossier-partage-serveur /media/mon-dossier-partage cifs guest,iocharset=utf8,file_mode=0777,dir_mode=0777

PC sous Windows

Pour accéder au dossier partagé avec un PC client sous Windows, on ouvre l'explorateur de fichiers. Dans la barre d'adresse, on saisit l'adresse IP du PC serveur suivie du nom du partage tel que défini sur le poste serveur sous la forme

\\IP serveur\nom du partage :

smb-win12.png

On valide par l'appuie sur [Entrée], ce qui ouvre le dossier partagé. Pour ne pas avoir à refaire cette opération à chaque fois que l'on souhaite accéder à ce dossier, on peut l'épingler dans l'accès rapide, ce qui le placera dans le volet gauche de l'arborescence des dossiers :

smb-win13.png

smb-win14.png

On peut en rendre l'accès encore plus aisé en lui affectant une lettre de lecteur réseau, comme un disque dur. Pour cela, une fois que l'on a ouvert le répertoire réseau, on se rend dans le volet de gauche de l'arborescence des fichiers, à l'entrée "Réseau". On doit y retrouver le chemin du dossier partagé :

smb-win15.png

On fait un clic droit sur le nom du dossier partagé pour faire apparaître le menu contextuel dans lequel on clique sur "Connecter un lecteur réseau" :

smb-win16.png

Dans la fenêtre qui s'affiche, on peut alors choisir quelle lettre de lecteur on veut attribuer à ce dossier partagé :

smb-win17.png

Partage de fichiers avec NFS

Ce tutoriel a été réalisé grâce à l'article https://www.it-connect.fr/le-protocole-nfs-pour-les-debutants/#V_Creer_un_partage_NFS_sous_Debian_Linux
Le partager NFS est un peu plus complexe à mettre en œuvre que le partage samba, et n'est pas accessible depuis un poste sous Windows, mais il est beaucoup plus simple à utiliser une fois mis en place, car il se comporte comme un dossier local. Ainsi il n'y aura aucun problème d'enregistrement ou de lecture de fichiers quel que soit le logiciel utilisé.

Opérations à effectuer sur le poste serveur

On installe le paquet nécessaire à la création du partage
sudo apt-get install nfs-kernel-server
Le serveur NFS est installé, on le configure pour qu'il démarre automatiquement avec le système :
sudo systemctl enable nfs-server.service
On crée un dossier de partage, par exemple :
sudo mkdir /media/partage-nfs
Puis on applique les droits sur le partage (à adapter selon ses besoins) :
sudo chown nobody:nogroup /media/partage-nfs/
sudo chmod 777 /media/partage-nfs/
777 indique que toute personne  aura des droits de lecture, écriture et exécution dans ce dossier. Ce sont les droits les plus permissifs.
Ce nombre s'interprète de la manière suivante :
Pour chaque chiffre,
ces chiffres s'additionnant :
Le partage NFS doit être indiqué et paramétré dans le fichier /etc/exports
On peut l'éditer par
sudo nano /etc/exports
On y ajoute la ligne suivante :
/srv/partagenfs 192.168.1.0/24(rw,sync,anonuid=65534,anongid=65534,no_subtree_check)
Il est possible d'indiquer une une ou des adresses IP spécifiques, ou un ou plusieurs réseaux
Exemple pour plusieurs réseaux :
/media/partage-nfs 192.168.1.0/24(rw,sync,anonuid=65534,anongid=65534,no_subtree_check) 10.0.0.0/24(rw,sync,anonuid=65534,anongid=65534,no_subtree_check)
On a ensuite les options de partage :
On doit ensuite faire prendre en compte la configuration par le système par la commande :
sudo exportfs -a

Pour stopper et purger les partages NFS, il faut exécuter la commande suivante :
sudo exportfs -ua
Pour afficher la liste des partages NFS sur l'hôte précisé :
showmount -e IP-serveur

Opérations à effectuer sur les postes clients

On installe le paquet nfs-common
sudo apt-get install nfs-common
On crée un répertoire local dans lequel sera monté le partage NFS :
sudo mkdir /mon-dossier/partage-nfs
Puis on effectue le montage du partage du dossier hôte sur notre poste client :
sudo mount -t nfs4 IP-hôte:/media/partage-nfs /mon-dossier/partage-nfs
Pour ne pas avoir à faire le montage manuellement, ou par un script au démarrage de session, le plus simple est d'inscrire le montage dans le fichier /etc/fstab :
sudo nano /etc/fstab
On y inscrit la ligne suivante, en adaptant selon sa configuration locale et ses besoins :
IP-serveur:/media/partage-nfs /mon-dossier/partage-nfs nfs4 defaults,user,exec 0 0
Pour ne pas avoir à redémarrer pour que la nouvelle configuration du fichier fstab soit prise en compte, on peut relancer ce fichier par
sudo mount -a
Tout dossier ou fichier du répertoire /mon-dossier/partage-nfs se retrouvera dès lors dans le dossier /media/partage-nfs du PC hôte, et sera accessible en lecture et écriture depuis n'importe quel poste client sur lequl on aura configuré cet accès.