Nextcloud : Group Folders

Nextcloud : Group Folders

Table of Contents

Contexte

Nextcloud est orienté utilisateurs.

C'est à dire que si l'on souhaite partager des données à d'autres utilisateurs et/ou groupes d'utilisateurs, ces partages se retrouveront à la racine (par défaut) de chaque espace de travail des utilisateurs sans conserver toute l'arborescence.

Un exemple concret :

Un utilisateur nommé "Jean-Jacques" possède une arborescence comme suit :

Ce dossier partagé se retrouvera à la racine (par défaut) du Nextcloud des destinataires concernés.

L'arborescence complète ne sera pas visible.

Cela n'est pas adapté si l'on souhaite partager toute une arborescence avec des droits spécifiques et diverses en son sein.

C'est la que l'application Group Folders intervient.

Group Folders

Présentation

Group Folders est une application que l'on va pouvoir greffer à Nextcloud.

Cette application va permettre de configurer des dossiers partagés à un / des groupe(s) d'utilisateurs.

Ensuite, l'administrateur va pouvoir configurer finement des droits spécifiques (lecture / écriture / partage / quota) sur ces dossiers partagés.

De plus l'intérêt est qu'avec cette application, les données ne seront plus dépendantes d'un utilisateur. Par exemple si Jean-Jacques est supprimé, toutes ces données seront supprimmées ainsi que les partages qu'il a pu faire.

Lien vers le projet : https://github.com/nextcloud/groupfolders

Exemple

Dans mon Nextcloud, je possède plusieurs utilisateurs repartis dans les groupes suivant :

  • Comptabilité
  • Direction
  • Technique
  • Invité

Je souhaite déployer une arborescence de ce type au sein de mon Nextcloud :

.
├── compta # Accessible en écriture au groupe comptabilité et en lecture au groupe direction
│   ├── note_de_frais
│   └── salaires
├── direction # Accessible en écriture au groupe direction
│   ├── courriers
│   └── projets
├── public # Accessible en écriture à tous les groupes sauf au groupe invité qui sera en lecture seule
│   ├── documents
│   └── entreprise
└── technique # Accessible en écriture au groupe technique et en lecture au groupe direction
    ├── manuels
    └── procedures

Installation

Pour installer Group Folders, il faut se connecter en tant qu'admin sur la plateforme Nextcloud puis se rendre dans les Applications.

Ensuite, rechercher Group Folders puis Télécharger et activer :

image-20220422122832933

Configuration

Toujours en tant qu'admin, se rendre dans les Paramètres d'Administration puis Dossiers du groupe :

image-20220423111910824

Créer dans un 1er temps les dossiers qui figureront à la racine des utilisateurs :

image-20220423112429345

Ensuite, y associer les groupes d'utilisateurs désirés avec les permissions adéquates :

image-20220423112646312

Ici pour le dossier compta, le groupe Comptabilité pourra lire et écrire et le groupe Direction aura simplement un droit de lecture. Naturellement, je refuse que ces données soient partageables par les utilisateurs qui y auront accès.

Il est possible d'y définir un quota maximal :

image-20220423113054906

Puis, définir qui pourra gérer les droits de ce dossier :

image-20220423113327341

Il faut que ce soit un utlisateur / groupe qui ait accès au dossier.

Configurer l'intégralité des autorisations souhaitées comme suit :

image-20220423113730955

Bien entendu, il faut ensuite créer les sous-dossiers dans chaque Group Folders dans l'espace Fichiers de Nextcloud.

Maintenant, les utilisateurs verront uniquement ce à quoi ils doivent avoir accès à la racine de leur Nextcloud.

Par exemple, pour mon utilisateur Pierre qui fait partie du groupe Comptabilité :

image-20220423114901387

Autorisation avancée

Il est possible d'aller encore plus loin dans les autorisations.

Je pourrais souhaiter qu'un utilisateur qui fait partie d'un groupe (ayant des autorisations d'écriture) ait finalement q'un droit de lecture (un stagiaire par exemple). Pour cela dans les détails d'un dossier, des règles d'autorisations avancées peuvent être appliquées :

image-20220423115612503

Ici, je dis que Pierre du groupe Comptabilité peut finalement que lire et non modifier ce qui se trouve dans ce dossier :

image-20220423115750654

Ligne de commande

L'intégralité de la configuration peut être réalisé en ligne de commande via occ :

  • occ groupfolders:create <name> → create a group folder
  • occ groupfolders:delete <folder_id> [-f|--force] → delete a group folder and all its contents
  • occ groupfolders:expire → trigger file version and trashbin expiration (see Nextcloud docs for versionning and Nextcloud docs for the trash bin for details)
  • occ groupfolders:group <folder_id> <group_id> [-d|--delete] [write|share|delete] → assign groups and their rights to a group folder
  • occ groupfolders:list → list configured group folders
  • occ groupfolders:permissions → configure advanced permissions (see below for details)
  • occ groupfolders:quota <folder_id> [<quota>|unlimited] → set a quota for a group folder
  • occ groupfolders:rename <folder_id> <name> → rename a group folder
  • occ groupfolders:scan <folder_id> → trigger a filescan for a group folder
  • occ groupfolders:trashbin:cleanup → empty the trashbin of all group folders

Conclusion

Group Folders permet d'aller beaucoup plus loin dans la gestion des droits que peut le faire naturellement Nextcloud.

Et surtout, ces données ne sont pas dépendante d'un utilisateur.

Bien entendu, cela est synchronisable avec les clients desktop Nextcloud Windows, Mac, Linux.

Les commentaires sont fermés.