Partages de fichiers
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 :
-
Créer les utilisateurs
aliceetbob -
Créer les groupes
enseignantsetetudiants -
Assigner les utilisateurs
aliceetvotre-userau groupeetudiantet l’utilisateurbobau groupeenseignants -
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