Aller au contenu
Réussir mon BTS SIO

Tape une notion, une commande ou le nom d'une épreuve.

Par exemple

Chapitre 511 minIntermédiaire

Datasets, utilisateurs, groupes et ACL sur TrueNAS

Par Josselyn C., prof de BTS SIO. Mis à jour le .

À la fin de ce chapitre, tu sauras

  • découper un pool en datasets selon les usages ;
  • créer des utilisateurs et des groupes locaux ;
  • choisir entre ACL NFSv4 et ACL POSIX ;
  • régler des droits hérités avec l'éditeur d'ACL ;
  • limiter la place prise par un dataset avec les quotas.

4 exercices corrigés

Sur TrueNAS, les droits d'accès se règlent au niveau du dataset : chaque dataset porte une liste de contrôle d'accès (ACL) qui dit quels utilisateurs et quels groupes peuvent lire, modifier ou administrer ses fichiers, et comment ces droits se transmettent aux sous-dossiers. Ce chapitre montre comment découper un pool en datasets, créer des comptes et des groupes locaux, choisir entre les ACL NFSv4 et POSIX, régler des droits hérités et limiter la place occupée avec des quotas. Le chapitre suivant branchera ces ACL sur les comptes d'Active Directory.

Découper le pool en datasets

On découpe un pool selon trois questions : qui accède à ces données, par quel protocole, et avec quelle politique de protection (fréquence des snapshots, rétention, réplication). Deux données qui diffèrent sur un de ces points vont dans deux datasets. Voici l'arborescence de srv-nas :

DatasetContenuAccèsSnapshots
tank/archivesBons de livraison scannésSMB, groupes du domaineToutes les heures, gardés 2 semaines ; tous les jours, gardés 1 an
tank/partages/linuxFichiers échangés entre serveurs LinuxNFSTous les jours, gardés 1 mois
tank/proxmox/isoImages ISO et modèles de conteneursNFS, hyperviseursAucun (données reconstituables)
tank/proxmox/sauvegardesCopie hebdomadaire de secours des VM critiques (vzdump), en plus de Proxmox Backup ServerNFS, hyperviseursTous les jours, gardés 2 semaines (un hyperviseur compromis ne peut pas effacer les snapshots)
vms/pve-vms (zvol)Disques des VMiSCSI, hyperviseursToutes les 4 heures, gardés 2 jours

Créer un dataset. Datasets, sélectionner le parent (par exemple tank), bouton Add Dataset :

  1. Name : archives. Le chemin complet tank/archives s'affiche.
  2. Dataset Preset : le préréglage règle d'un coup l'ACL, la sensibilité à la casse et quelques options selon l'usage. SMB pour un partage Windows, Generic pour un usage Linux ou NFS, Multiprotocol pour un dossier partagé à la fois en SMB et en NFS, Apps pour les applications.
  3. Advanced Options si besoin : compression (laisser Inherit, donc LZ4), Enable Atime, Record Size, quotas, chiffrement. Certaines options, comme la sensibilité à la casse, ne se changent plus après la création.
  4. Save.

Utilisateurs et groupes locaux

Même joint à Active Directory, TrueNAS garde des comptes locaux : le compte d'administration truenas_admin, des comptes de service (pour un serveur Linux qui dépose des fichiers, pour la réplication) et, dans une structure sans annuaire, les comptes des utilisateurs eux-mêmes.

Credentials > Users > Add :

  • Full Name et Username (par exemple svc-linux) ;
  • Password, ou la désactivation de la connexion par mot de passe pour un compte qui n'en a pas besoin ;
  • l'identifiant numérique UID, proposé automatiquement à partir de 3000 ;
  • le groupe principal (créé au même nom par défaut) et des groupes secondaires ;
  • SMB Access (coché par défaut), à garder pour un compte qui se connecte aux partages SMB ;
  • TrueNAS Access (accès à l'interface, avec un rôle), SSH Access et Shell Access, à n'accorder qu'aux administrateurs ;
  • le répertoire personnel, inutile pour un compte de service.

Credentials > Groups > Add crée un groupe, avec son identifiant GID. On donne ensuite les droits aux groupes, jamais aux comptes : c'est le principe AGDLP du cours Windows Server, qui vaut aussi sur un NAS.

Les rôles d'administration. TrueNAS distingue trois rôles pour l'interface : Full Admin (tout), Sharing Admin (gérer les partages et leurs droits) et Readonly Admin (consulter sans rien changer), choisis dans TrueNAS Access. Un technicien de niveau 1 qui doit seulement vérifier l'état des pools reçoit le rôle en lecture seule : c'est le moindre privilège.

ACL NFSv4 ou ACL POSIX

Un fichier Linux a des droits simples : un propriétaire, un groupe, les autres, et pour chacun lecture, écriture et exécution (rwx). C'est trop pauvre pour un serveur de fichiers d'entreprise, où il faut donner des droits différents à plusieurs groupes. TrueNAS propose deux sortes d'ACL, une par dataset.

ACL NFSv4ACL POSIX
ModèleProche des ACL NTFS de WindowsExtension des droits Unix rwx
EntréesAutoriser ou refuser, pour des utilisateurs, des groupes, owner@, group@, everyone@Utilisateurs et groupes nommés, droits rwx
DroitsFins : lecture, écriture, ajout, suppression, lecture des attributs, prise de possession… regroupés en Read, Modify, Traverse, Full ControlLecture, écriture, exécution
HéritageIndicateurs d'héritage par entrée, comme sous WindowsACL « par défaut » d'un dossier, appliquée aux nouveaux fichiers
Préréglage de datasetSMB, MultiprotocolGeneric
Modifiable depuis WindowsOui, par l'onglet Sécurité de l'ExplorateurPartiellement

Pour un partage SMB destiné à des postes Windows, choisis les ACL NFSv4 (préréglage SMB). Pour un dataset utilisé seulement par des serveurs Linux en NFS, les droits POSIX suffisent.

Régler une ACL pas à pas

Pour le dataset tank/partages/linux, en ACL POSIX : le compte de service svc-linux y écrit, le groupe linux-lecture le lit, personne d'autre n'y entre.

  1. Datasets, sélectionner tank/partages/linux, widget Permissions, bouton Edit.
  2. Owner : svc-linux, Owner Group : svc-linux, cocher Apply Owner et Apply Group.
  3. Ajouter une entrée pour le groupe linux-lecture avec les droits Read et Execute (l'exécution, sur un dossier, permet de le traverser).
  4. Ajouter les mêmes entrées en ACL par défaut, pour que les fichiers créés ensuite en héritent.
  5. Retirer tout droit aux autres (other).
  6. Cocher Apply permissions recursively pour appliquer l'ACL aux fichiers déjà présents, puis Save Access Control List.

En ACL NFSv4, l'éditeur propose des préréglages (bouton Use Preset) : NFS4_RESTRICTED (seuls le propriétaire et le groupe propriétaire ont accès), NFS4_OPEN (tout le monde peut tout faire, à éviter), NFS4_HOME (pour des dossiers personnels). On part d'un préréglage, puis on ajoute les entrées des groupes. Chaque entrée a un Who (utilisateur, groupe, owner@, group@, everyone@), un ACL Type (Allow ou Deny), des droits de base ou avancés et des indicateurs d'héritage (Inherit, No Inherit, ou leur détail en mode avancé).

Les droits effectifs

Pour un partage SMB, deux listes s'appliquent, comme sur un serveur Windows :

  • l'ACL du dataset (le système de fichiers), qui protège les fichiers quel que soit le chemin d'accès ;
  • l'ACL du partage (Edit Share ACL), qui filtre l'accès au partage lui-même, sans toucher aux fichiers.

Le droit effectif est le plus restrictif des deux. La pratique recommandée est la même que sous Windows : laisser l'ACL du partage large (les utilisateurs authentifiés en contrôle total) et régler finement l'ACL du dataset. Le calcul détaillé des droits effectifs NTFS et partage est fait dans le cours Windows Server ; il s'applique tel quel à TrueNAS.

Quotas et réservations

Sans quota, un dataset peut remplir tout le pool et bloquer les autres usages. TrueNAS propose trois niveaux.

RéglageOùEffet
Quota for this dataset (refquota)Edit Dataset, section des quotasPlafonne les données propres du dataset, hors snapshots et enfants
Quota for this dataset and all children (quota)IdemPlafonne le dataset, ses enfants et ses snapshots
Reserved space (refreservation, reservation)IdemGarantit de l'espace au dataset, retiré de l'espace libre des autres
Quotas par utilisateur ou par groupeDatasets, menu du dataset, Manage User Quotas / Manage Group QuotasPlafonne ce qu'écrit chaque utilisateur ou chaque groupe dans le dataset

Chez Sorbier, tank/proxmox/sauvegardes reçoit un quota de 4 TiB avec ses snapshots : une rétention mal réglée dans la tâche de sauvegarde de Proxmox remplira son dataset, pas le pool. À l'inverse, tank/archives reçoit une réservation de 12 TiB : quoi qu'il arrive ailleurs, les scans de l'entrepôt trouveront de la place.

Exercices

Exercice 1 sur 4 Combien de datasets ? Réussi À revoir

Sorbier veut ajouter sur srv-nas : les photos des colis endommagés (consultées par le service client en SMB, gardées deux ans), les journaux des serveurs Linux (déposés en NFS, gardés trois mois) et une copie des modèles de conteneurs de Proxmox. Propose les datasets à créer, leur préréglage et une politique de snapshots, en justifiant chaque séparation.

Voir la réponseMasquer la réponse de l'exercice 1
DatasetPréréglageSnapshots
tank/photos-litigesSMB (accès Windows, insensible à la casse, ACL NFSv4)Quotidiens, gardés 2 ans, comme la durée de conservation
tank/journauxGeneric (accès NFS par des serveurs Linux, ACL POSIX)Quotidiens, gardés 3 mois
Les modèles vont dans tank/proxmox/iso existant (même usage, mêmes clients, même politique)GenericAucun : données téléchargeables à nouveau

Les photos et les journaux diffèrent par le protocole, les utilisateurs et la rétention : deux datasets. Les modèles de conteneurs partagent tout avec les ISO : pas besoin d'un nouveau dataset.

Tu avais trouvé ?

Exercice 2 sur 4 NFSv4 ou POSIX ? Réussi À revoir

Pour chaque dataset, choisis le type d'ACL et justifie.

  1. Un partage des ressources humaines, ouvert à deux groupes du domaine avec des droits différents, modifié depuis l'Explorateur Windows.
  2. Un dataset où un serveur Linux dépose chaque nuit un export de base de données par NFS.
Voir la réponseMasquer la réponse de l'exercice 2
  1. NFSv4 (préréglage SMB) : modèle proche des ACL NTFS, droits fins par groupe, héritage par entrée, et modification possible par l'onglet Sécurité de l'Explorateur.
  2. POSIX (préréglage Generic) : un seul compte de service écrit, en NFS, depuis Linux ; les droits Unix et une ACL simple suffisent.

Tu avais trouvé ?

Exercice 3 sur 4 Le droit effectif Réussi À revoir

Sur le partage Archives, l'ACL du partage donne Read au groupe Domain Users du domaine. L'ACL du dataset donne Modify au groupe DL_Archives_M, dont Chloé est membre. Chloé peut-elle déposer un fichier ? Que faut-il changer, et à quel endroit ?

Voir la réponseMasquer la réponse de l'exercice 3

Non : le droit effectif est le plus restrictif des deux. Le dataset lui permet de modifier, mais le partage ne lui donne que la lecture.

Il faut élargir l'ACL du partage (par exemple les utilisateurs authentifiés du domaine en contrôle total) et laisser l'ACL du dataset faire le tri. C'est la pratique recommandée : une seule liste fine à maintenir, celle du système de fichiers.

Tu avais trouvé ?

Exercice 4 sur 4 La place qui ne se libère pas Réussi À revoir

Le dataset tank/proxmox/sauvegardes a un quota de 4 TiB, snapshots compris. Il est plein. Moussa supprime 1 TiB de vieilles sauvegardes depuis Proxmox, mais l'espace occupé ne baisse presque pas. Explique et propose une solution.

Voir la réponseMasquer la réponse de l'exercice 4

Les fichiers supprimés existent encore dans les snapshots du dataset : leurs blocs restent occupés tant qu'un snapshot y fait référence, et le quota inclut les snapshots. L'espace ne se libérera qu'à l'expiration (ou à la suppression) des snapshots qui contiennent ces fichiers.

Solutions : raccourcir la rétention des snapshots de ce dataset (une sauvegarde est déjà une copie datée : des snapshots de deux semaines suffisent amplement), ou utiliser un quota qui n'inclut pas les snapshots (refquota) et surveiller l'espace total du pool. Dans l'urgence, supprimer depuis TrueNAS les plus anciens snapshots de ce dataset.

Tu avais trouvé ?

Chapitre terminé !

Fais les 4 exercices avant de passer à la suite : c'est en t'entraînant que tout se fixe.

chapitres
–
de série
–
du cours
–
Chapitre suivant : Partage SMB et Active Directory sur TrueNASRevoir le sommaire du cours