Partages de fichiers

Besoin, mise en commun

  • Trois utilisateurs : Alice, Bob, votre-user

  • Gestion de fichiers en commun

Exercice : permissions

On veut régler finement les permissions avant de créer des partages réseaux.

  • Les enseignants et les étudiants doivent avoir accès en lecture/écriture à leurs dossiers respectifs.

  • (Optionnel) Les enseignants doivent avoir accès en lecture seule aux fichiers des étudiants.

  • Les étudiants ne doivent pas avoir du tout accès aux fichiers des enseignants.

  • Les autres utilisateurs ne doivent avoir accès à rien dans /srv/partage.

Étapes à réaliser :

  1. Créer les utilisateurs alice et bob

  2. Créer les groupes enseignants et etudiants

  3. Assigner les utilisateurs alice et votre-user au groupe etudiant et l’utilisateur bob au groupe enseignants

  4. Assigner les bonnes permissions aux dossiers dans /srv/partage en fonction du groupe

Pour affecter les permissions optionnelles, il faut utiliser les ACLs.
apt install acl
zfs set acltype=posix data/partage/etudiants
setfacl -m g:enseignants:r-x ./etudiants

NFS

  • NFS seul

  • NFS par ZFS

Serveur NFS

Il faut installer le paquet NFS serveur

apt install nfs-kernel-server

Ensuite la configuration peut se faire par le fichier /etc/exports, avec une ligne par partage. Cependant, comme nous utilisons le système de fichiers ZFS, il intègre déjà la configuration des partages :

# Attributs sur les volumes ZFS rendant plus aisé le partage
zfs set xattr=sa dnodesize=auto data/partage
# Configuration du partage ZFS pour les volumes
zfs set sharenfs="rw=192.168.10.0/24" data/partage
# Activation des partages
zfs share data/partage

Client NFS

Il suffit d’installer le bon paquet et de créer les dossiers de destination pour pouvoir monter des dossiers partagés en NFS.

apt install nfs-common
mkdir -p /mnt/nfs/{etudiants,enseignants}
mount -t nfs ip.du.serveur.nfs:/chemin/sur/le/serveur/etudiants /mnt/nfs/etudiants
mount -t nfs ip.du.serveur.nfs:/chemin/sur/le/serveur/enseignants /mnt/nfs/enseignants

Pour que les permissions fonctionnent comme prévu dans un environnement où les GID et les UID ne seraient pas identiques entre le serveur et les clients.

echo N > /sys/module/nfsd/parameters/nfs4_disable_idmapping
systemctl restart rpcidmapd

SFTP

  • Rappel historique FTP

  • SFTP : usage détourné de SSH

Samba

  • Partage type Windows