Aller au contenu
Vie du geek le forum entre geek
dokkun

TUTO FREENAS 9.3 : UTILISATEURS, DATASETS ET PERMISSIONS

Messages recommandés

Quatrième partie de la série de tutoriels consacrée à la mise en place d’un NAS avec FreeNAS. Précédemment, nous avons créé notre pool de stockage, nous voici alors avec cet énorme espace à organiser. C’est ce que nous allons voir maintenant en créant des utilisateurs et en leur attribuant à chacun un espace de stockage, le tout en gérant les permissions d’accès.

 

Comme dans l’étape précédente, nous allons avant tout commencer par réfléchir. C’est une étape clé, il faut absolument savoir comment on va s’organiser avant de commencer.

Faire le point sur les besoins

Dans le cadre de ce tuto nous allons avoir 3 utilisateurs : Pierre, Paul et Jacques. Chacun aura un dataset “privé” auquel il sera le seul à avoir accès. Pierre et Paul utilisent Windows, Jacques est sur Mac.

20-Objectif-du-tuto.png

Schéma des accès

Pierre et Paul auront tous deux un accès libre à un dataset Medias, leur permettant de mettre en commun leur musique et films. Et enfin un dataset Public sera disponible pour les fichiers que les trois utilisateurs souhaiterons se partager et ce dataset sera ouvert en lecture à toute autre personne connectée à leur réseau.

Comprendre la gestion des droits

Un des point clé pour bien comprendre ce que nous faisons est d’être familiarisé avec la gestion des permissions UNIX. C’est en effet par ce système simple que l’on va régler les accès, depuis le NAS, à nos différents datasets. Si vous avez ensuite des besoins avancés en terme de gestion de droits pour des fichiers ou dossiers individuels il faudra le faire via le système d’exploitation client : c’est là qu’entrent en jeu les ACLs. Nous n’aborderons pas ce point ici et resterons sur les permissions de base type UNIX.

Il est très important de comprendre les notions d’utilisateur, de groupe, de propriétaire ainsi que les actions sur lesquelles les droits sont  attribuables : Read, Write, Execute.

Allez lire les 2 premiers chapitres de la page Wikipedia consacrée aux permissions UNIX, il est indispensable de maîtriser cela et c’est relativement simple.

Création des datasets

Maintenant que l’on a mis à plat ce que l’on souhaite faire, on va commencer par “découper” notre espace de stockage pour chaque usage. On va d’abord créer un dataset pour chacun de nos utilisateurs et on va leur attribuer 200Go chacun, c’est un exemple et l’intérêt est ici de voir que cela n’est pas fixe et peut être augmenté ou modifié ultérieurement à volonté.

Donc dans Storage -> Volumes -> /mnt/Stockage (dans mon cas) -> Create Dataset :

21-Cr%C3%A9ation-dun-dataset.png

Création d’un dataset

Ici je choisi de donner aux datasets le même nom que l’utilisateur qui l’utilisera, en effet ce sera également son dossier home, servant à stocker les fichiers cachés propres à l’utilisateur et il est important que le dossier home ai le nom de son détenteur.

Les paramètres laissés sur inherit sont repris sur le dataset parent : on laisse par défaut ici comme cela convient mais vous pourriez choisir un niveau de compression différent par exemple.

Le Share type est laissé sur UNIX, cela est dépendant du partage que vous allez attribuer à ce dataset : pour du CIFS, on peut mettre Windows, ce qui permet d’améliorer la prise en charge des ACLs pour gérer les droits mais je trouve cela trop complexe pour un usage à domicile. Je prends donc le parti de mettre UNIX pour tous mes datasets. Il s’agit là d’un choix personnel et non d’une règle, libre à vous de tester et faire comme bon vous semble.

Point intéressant : on clique sur Advanced Mode, cela fait apparaître les champs permettant de définir les quotas et réservation d’espace. Le quota permet de limiter l’espace maximum que pourra occuper le dataset. Le même réglage est possible pour le dataset et tous ses “enfants” (sous-datasets). 0 signifie : pas de quota. Mais vous pouvez indiquer par exemple 20G ou 1T pour autoriser 20Go ou 1To maximum. Le quota est simplement une limite, vous pouvez mettre 2 dataset avec 800Go de quota sur un pool de 1To.

La réservation d’espace va non seulement fixer la limite mais carrément réserver l’espace : vous pouvez mettre une réservation de 500Go et stocker seulement 100Go dans un dataset : celui ci prendra quand même 500Go d’espace sur le pool.

22-Quto-et-r%C3%A9servation-despace.png

Quota et réservation d’espace

Ici on donne un quota de 200Go maximum à Pierre, sans faire de réservation. Un clic sur le bouton Add dataset et celui ci est créé.

De la même façon, on créé les datasets Paul, Jacques, Medias et Public :

23-Liste-des-datasets-cr%C3%A9%C3%A9s.pn

Liste des datasets créés

Création des groupes

Nous allons commencer pour plus de facilité par la suite, par créer les groupes puis nous ajouterons les utilisateurs dedans lors de la création de ces derniers.

Les groupes vont permettre de gérer finement les accès utilisateurs conformément au schéma établi plus haut. Ainsi on va créer un groupe “GrpMedias” dans lequel on mettra Pierre et Paul et qui sera propriétaire du dataset Medias. Un autre groupe appelé “TousUtilisateurs” regroupera nos 3 compères et ce groupe sera propriétaire du dataset Public. Le schémas suivant résume les propriétaires de chaque dataset :

24-Groupes-et-propri%C3%A9t%C3%A9s.png

Groupes et propriétés

Créer un groupe est très simple : on se rend dans Account -> Groups -> Add Group et on a simplement à remplir le nom du groupe sans se préoccuper du reste :

25-Cr%C3%A9ation-dun-groupe.png

Création d’un groupe

L’opération est répétée pour le groupe TousUtilisateurs.

Création des utilisateurs

Nous allons maintenant nous rendre dans Account -> Users -> Add User pour créer nos utilisateurs :

26-Cr%C3%A9ation-dun-utilisateur-1.png

Création d’un utilisateur 1/2

26-Cr%C3%A9ation-dun-utilisateur-2.png

Création d’un utilisateur 2/2

Donc on remplit le nom d’utilisateur, on laisse coché Create a new primary group for the user, qui va créer un groupe du même nom que notre utilisateur et l’ajoutera dedans. Ici on créé donc un groupe Pierre en même temps que l’utilisateur Pierre et Pierre est seul membre de ce groupe. Point important on sélectionne le dataset “Pierre” comme Home Directory.

Puis viennent nom complet, adresse mail, mot de passe qui se passent de commentaires.

Enfin dans Auxiliary groups on sélectionne pour Pierre “GrpMedias” et “TousUtilisateurs” et on ajoute Pierre dedans par un clic sur >> qui fait passer les groupes dans la liste selected. Cette opération peut aussi se faire après coup dans Account -> Groups -> View Groups en sélectionnant le groupe à modifier et en cliquant sur le bouton Members.

On reproduit l’opération pour Paul et Jacques, sachant que ce dernier est ajouté uniquement dans le groupe “TousUtilisateurs”.

 

Attribution des permissions

Nous avons à présent nos datasets, nos utilisateurs et nos groupes, il ne reste qu’à les lier ensemble et à paramétrer les accès. On veut donc que chaque utilisateur ai accès à son dataset mais pas à celui des autres et que Pierre et Paul puissent lire et écrire dans Medias mais pas Jacques et enfin que tous puissent lire et écrire dans Public.

On se rend dans Storage -> View Volumes et on sélectionne le dataset Pierre puis on clique en bas sur le bouton Change Permissions (le premier de la ligne) :

Attention ! Je rappelle que la connaissance de la gestion des permissions unix est nécessaire pour bien comprendre cette partie.

27-Modification-des-permissions-Pierre.p

Modification des permissions Pierre

Les propriétaires utilisateurs et groupes ont été automatiquement définis à Pierre (utilisateur) et Pierre (groupe) car le dataset est le dossier home de Pierre. Nous décochons les cases Read et Write de Other pour n’autoriser un accès qu’au propriétaire. Ici les droits du groupe n’ont pas d’importance puisque Pierre est seul membre de son groupe éponyme.

Un clic sur Change valide les changements effectués. On procède de la même façon pour Paul et Jacques.

Concernant le dataset Medias, c’est un peu différent :

28-Permissions-du-dataset-Medias.png

Permissions du dataset Medias

Pour celui ci, il n’y a pas vraiment de propriétaire utilisateur car c’est un dataset que l’on va partager, on choisi donc ici un propriétaire nobody, et bien sur notre groupe GrpMedias comme groupe à qui appartient le dataset. On  coche toutes les permissions pour le groupe et décoche celles des autres utilisateurs.

Pour le dossier Public enfin :

29-Permission-du-dataset-Public.png

Permission du dataset Public

Cette fois on considère (par exemple) que les données sont destinées à être partagée donc on coche Read et Executepour les autres utilisateurs, pour l’instant il n’y en a pas d’autres mais on verra plus tard comment faire un partage sans authentification de sorte que n’importe qui se connecte sur le réseau puisse y accéder.

Nous voici maintenant avec un NAS bien organisé, la prochaine étape est de créer des partages afin que les machines des utilisateurs puissent avoir accès à ces espaces de stockage.

NOTE : Tous les paramétrages abordés ici ne sont que des exemples permettant de comprendre le système, il est impossible de trouver une configuration convenant à tout le monde donc libre à vous de l’adapter ensuite à votre propre usage.

Partager ce message


Lien à poster
Partager sur d’autres sites

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !

Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant

×