Nextcloud au quotidien / administration applicative(french post)
Ce document dĂ©crit quelques actions systĂ©matiques dâadministration afin de faire Ă©voluer lâusage du coffre-fort en ligne / cloud fichiers /extranet clients
Le serveur Nextcloud propose dâutiliser une interface graphique pour lâadministrateur:
- https://coffre.<nom>.com/settings/users ou
- un utilitaire en ligne de commande : occ
su - nextcloud
./occ
Coffre-fort 16.0.4
Usage:
command [options] [arguments]
Options:
-h, --help Display this help message
-q, --quiet Do not output any message
-V, --version Display this application version
--ansi Force ANSI output
--no-ansi Disable ANSI output
-n, --no-interaction Do not ask any interactive question
--no-warnings Skip global warnings, show command output only
-v|vv|vvv, --verbose Increase the verbosity of messages: 1 for normal output, 2 for more verbose output and 3 for debug
A. Description du fonctionnement
Etapes lors de la crĂ©ation dâun compte client / provisionning client
Les documents mis Ă disposition par le Coffre-Fort Electronique sont dĂ©posĂ©s sur le compte de lâadministrateur principal (ayant le ânom Ă afficherâ de la sociĂ©tĂ© <nomSociete> Lâarborescence du coffre-fort de lâadministrateur âPrincipalâ est donc organisĂ©e comme tel:
--
|-CLIENT1/DossierClient
|-CLIENT2/DossierClient
.
|-CLIENTn/DossierClient
Un nouveau compte client est un structure ne contenant que :
- un rĂ©pertoire âPersonnelâ
- le rĂ©pertoire partagĂ© par lâadmin pour prĂ©senter les documents au client
Le compte client est prĂ©parĂ© en amont par lâadmin du CFE ou alors un utilisateur afin de configurer le ou les partages accessibles pour ce client. Si le client fait parti dâune famille/indivision (un groupe ayant Ă©tĂ© crĂ©e Ă cette fin), le partage est effectuĂ© sur le groupe et donc automatiquement accessible Ă chaque membre de ce groupe.
Pour info: repertoire âskeletonâ
Dans la configuration config.php , la variable âskeletondirectoryâ contient le rĂ©pertoire utilisĂ© comme modĂšle pour un nouvel utilisateur.
Ici , le rĂ©pertoire ânextcloud-server/themes/<nom_theme>/core/skeletonâ a Ă©tĂ© choisi, et ne contient quâun rĂ©pertoire vide nommĂ© âPersonnelâ
Pour info: repertoire nommé de partage
Dans la configuration config/config.php , la variable âshare_folderâ permet dâafficher lâensemble des partages dans un rĂ©pertoire Ă la racine du dossier de lâutilisateur:
'share_folder' => '/<nomSociete>/',
B. Créer un espace pour un nouveau client en ligne de commande
Lâavantage dâutiliser la ligne de commande est quâaucun email de bienvenue nâest envoyĂ©.
Sur le serveur Front :
- générer un mot de passe temporaire chiffré
export OC_PASS="$(gpg --armor --gen-random 1 16)"
- créer le compte
./occ user:add client1 --display-name "Prenom1 CLIENT1" --group "CLIENTS<nom>" --password-from-env
The user "client1" was created successfully
Display name set to "Mr CLIENT1"
- effacer la trace du mot de passe temporaire
unset OC_PASS
- mettre Ă jour les paramĂštres de lâutilisateur client
./occ user:setting client1 settings email "client1@mail.com"
./occ user:setting client1 core lang fr
./occ user:setting client1 files quota "none"
- Partager le rĂ©pertoine dans la console dâadministration de Nextcloud
--
|-CLIENT1/<nomSociete>/DossierClient
-CLIENTn/
C. Créer un espace pour un groupe de client / indivision
Si 2 clients doivent se recevoir , consulter, et pouvoir se partager plusieurs documents, au sein dâune famille, ou dâune sociĂ©tĂ© ou dâune indivision.
- créer un groupe nommé
./occ group:add famille1
- ajouter les membres Ă ce groupe
./occ group:adduser famille1 client1
D. Partage des documents avec la famille/indivision de personnes
- Partager le rĂ©pertoire <nom> au groupe et non plus Ă lâutilisateur client1 âŠ
E. Configuration du comportement de partage par défaut
Dans ParamĂštres de lâadministrateur, menu âPartageâ : sĂ©lectionner les options suivantes:
-
Autoriser les applications Ă utiliser lâAPI de partage
- Autoriser les utilisateurs Ă partager par lien
- Autoriser les téléversements publics
- Toujours demander un mot de passe
- Imposer la protection renforcée du mot de passe
- Autoriser le repartage
- Autoriser le partage avec les groupes
- EmpĂȘcher certains groupes de partager CLIENTS<nom>
F. (utilisation avancée)Gestion du partage en ligne de commande
Sur le serveur de base de données
- se connecter sur la base de données Nextcloud et lister les partages en cours
sudo -u postgres psql -d template1
\l
\c <nomBaseDonnees>
select * from oc_share;
- trouver lâid de lâĂ©lĂ©ment Ă partager dans lâinterface Web Nextcloud , dans lâURL : http://serveurFront/apps/files/?dir=/CLIENT1&fileid=<id>
- creer un partage de lâutilisateur <admin> vers lâutilisateur ou le groupe <client>
INSERT INTO public.oc_share(
share_type, share_with, uid_owner, uid_initiator, item_type, item_source, file_source, file_target, permissions, accepted, mail_send, password_by_talk, hide_download)
VALUES ( 1, '<client>', ' <admin>', ' <admin>', 'folder', <id>, <id>, '/CLIENT1', 21, 0, 0, 'f', 0);
share_type = 0 pour un partage avec un utilisateur share_type = 1 pour un partage avec un groupe
- si un utilisateur de groupe supprime son partage , on peut le restaurer avec la commande:
DELETE FROM public.oc_share
WHERE share_type =2 and share_with = '<utilisateur>' ;