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
:
Configuration
Toujours en tant qu'admin
, se rendre dans les Paramètres
d'Administration
puis Dossiers du groupe
:
Créer dans un 1er temps les dossiers qui figureront à la racine des utilisateurs :
Ensuite, y associer les groupes d'utilisateurs désirés avec les permissions adéquates :
Ici pour le dossier
compta
, le groupeComptabilité
pourra lire et écrire et le groupeDirection
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 :
Puis, définir qui pourra gérer les droits de ce dossier :
Il faut que ce soit un utlisateur / groupe qui ait accès au dossier.
Configurer l'intégralité des autorisations souhaitées comme suit :
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é :
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 qu'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 :
Ici, je dis que Pierre du groupe Comptabilité peut finalement que lire et non modifier ce qui se trouve dans ce dossier :
Ligne de commande
L'intégralité de la configuration peut être réalisé en ligne de commande via occ
:
occ groupfolders:create
→ create a group folderocc groupfolders:delete [-f|--force]
→ delete a group folder and all its contentsocc 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 [-d|--delete] [write|share|delete]
→ assign groups and their rights to a group folderocc groupfolders:list
→ list configured group foldersocc groupfolders:permissions
→ configure advanced permissions (see below for details)occ groupfolders:quota [|unlimited]
→ set a quota for a group folderocc groupfolders:rename
→ rename a group folderocc groupfolders:scan
→ trigger a filescan for a group folderocc 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.