Ajout utilisateurs nextcloud sans inscription yunohost

Bonjour,

ma question est simple, je découvre que je peux ajouter un utilisateur dans Nextcloud sans créer un compte Yunohost, donc sans qu’il soit dans l’annuaire LDAP…
Lors de la création du compte, l’utilisateur ne peux pas être ajouter au groupe par défaut all_users, mais cela m’intéresse de pouvoir ajouter des comptesutilisateurs pour Nextcloud dans un groupe ‘invites’ sans les ajouter à Yunohost…

Est-ce que cela est une pratique recommandable ? Ou est-ce que il a des risques avec cette pratique ?

Bonjour @rodinux :wave:
En principe, on essai de centraliser la gestion des comptes, pour en faciliter la gestion des droits/accès.
Techniquement ce que tu dit est faisable, par contre suivant le nombre d’utilisateurs que tu as, ça peut devenir le bazar rapidement :wink:

Pour répondre à ta question, pour ma part ce n’est pas une bonne pratique, mais on connait tous la différence entre la théorie et le terrain :yum:

Ok, après réflexion c’est pas terrible tout de même… Il vaut mieux utiliser le sso et LDAP le plus possible j’ai l’impression…

sinon il existe l’extension nextcloud “guests” qui permet de créer des comptes invités

1 Like

Pas mal comme ressource, oui ça peut être intéressant pour certains partages…

Salut Rodinux,
Pour ma part, j’utilise cette pratique :slight_smile:
Je garde les enregistrements LDAP pour les utilisateurs qui auront accès à plusieurs tuiles dans le portail yunohost. Mais quand je crée des utilisateurs uniquement pour un nextcloud, je n’ai pas besoin qu’il ait connaissance de yunohost, il va directement sur l’url du cloud et s’identifie uniquement pour cela.

L’avantage de cette pratique, c’est que si un jour, un utilisateur que nextcloud veut finalement avoir accès à d’autres tuiles supportées par yunohost, je peux créer dans ynh un utilisateur avec le même nom, id, … et hop il garde son compte nextcloud intact, le LDAP prend le pas sur les utilisateurs que nextcloud. Dans l’autre sens, ce n’est pas possible : si je supprime l’utilisateur LDAP, ça supprime aussi l’utilisateur NC (sauf si j’avais créé en premier l’utilisateur sur NC. En résumé un utilisateur NC puis YNH, si tu supprimes le YNH, il reste le NC. Un utilisateur YNH, si tu supprimes le YNH, tu supprimes aussi le NC).

Dans ce genre d’utilisation, j’aime bien que mes utilisateurs nextcloud n’aient pas connaissance de yunohost. deux portails d’identification, une seule application, ça les perd plus qu’autre chose. C’est rare, les sites où on s’identifie pas au même endroit que l’à où on veut aller finalement… Et pareil pour la déconnexion. J’ai ouvert un topic à ce sujet, car naturellement, la redirection après déconnexion emmène sur le portail ynh. Si tu veux changer ça, il faut aller dans le config.php.

Dernière chose, quand je fais ce genre de manip, ce n’est pas pour intégrer les utilisateurs que nextcloud au groupe all_users. Sinon, je ne vois pas l’intérêt de la manip. Je préfère créer des groupes spécifiques à NC, voire même spécifique à l’utilisateur, en fonction du nombre de gens que je veux qu’il puisse voir dans ses contacts. Car un utilisateur voit dans ses contacts toutes les personnes qui sont dans le(s) même(s) groupe(s) que lui. Avec les adresse mail. Donc il faut faire un minimum attention à la confidentialité quand même.

Super, merci pour ces précisions ! Oui, je ne voulais pas mettre des utilisateurs que NC dans le groupe all_users, mais un groupe spécifique.

D’accord, mais tu as toujours la possibilité de supprimer le NC via l’admin de nextcloud, on est d’accord ?

Oui !
Que tu l’aies créé depuis LDAP ou directement dans NC, tu peux le supprimer dans NC. Si tu l’avais créé en premier dans LDAP et que tu le supprimes de NC, l’utilisateur aura toujours la tuile NC dans son portail, mais lorsqu’il cliquera dessus, il ne pourra pas se connecter à NC :slight_smile:

Pour résumer, NC et LDAP écrivent tous les deux dans la base de données de nexctloud. Mais c’est le dernier qui a écrit qui a raison :wink:

1 Like

Salut, bon j’ai eu des soucis avec NC, j’ai du le réinstaller et perdu un peu des choses (calendriers, fichiers dans des Groupes, contacts…), pas facile !
Du coup, je ne vois pas comment on peut enlever un utilisateur LDAP donc NC du groupe all_users, c’est grisé comme admin et pas possible à enlever il me semble.
Par contre, j’utilise la proposition de @tituspijean pour la redirection…

Tu peux garder la ligne initiale et ajouter &r= à la fin, suivi de la représentation en base64 de l’adresse de destination. Tu peux trouver des convertisseurs en ligne.

Rediriger vers https://test.example/ donnerait ainsi

'logout_url' => 'https://yourdomain.fr/yunohost/sso/?action=logout&r=aHR0cHM6Ly90ZXN0LmV4YW1wbGUv',

Il faudra vérifier que YunoHost ne grogne pas si on tente de déconnecter quelqu’un qui n’est pas déjà connecté. :sweat_smile:

J’ai l’impression que c’est vraiment délicat de bidouiller NC…

Un user créé depuis ynh est obligatoirement dans le groupe all_users. Pourquoi vouloir l’enlever ? Si tu veux faire un utilisateur QUE nextcloud, tu le crées dans nextcloud, pas dans yunohost. Et dans ce cas, il ne sera pas dans le groupe all user.
Ceci étant dit, dans nextcloud, tu peux choisir d’enlever le groupe all_user à ton utilisateur… Quelles sont les conséquences au niveau LDAP, je n’en ai pas la moindre idée, mais en tout cas, dans NC, il ne sera plus tagué ainsi. (pour faire ça, aller sur le crayon à droite, directement dans nextcloud, “modifier l’utilisateur”).

Pour la redirection avec logout : voir ici.

Dans /var/www/nextcloud/config/config.php
il y a cette ligne vers la fin :

'logout_url' => 'https://yourdomain.fr/yunohost/sso/?action=logout',

Il suffit de remplacer cette url par celle qu’on veut (en l’occurence, dans le cas de ce fil, j’ai remis l’adresse de mon nextcloud), et ça fonctionne sans problème.

Et tu penses que l’autre solution de déconnexion va créer des problèmes ?
Je trouvais aussi que c’était plus sécurisé de déconnecter du SSO si jamais on est utilisateur Yunohost, mais je n’ai pas tester quand il s’agirait d’un utilisateur non LDAP, à voir comment ça réagit…

Je ne sais pas, je ne l’ai pas essayée :slight_smile:

Je reprends : tu as deux manières de gérer tes utilisateurs :

  • soit depuis yunohost et le LDAP : dans ce cas, il ont un panel yunohost, avec la tuile nextcloud. Ils peuvent accéder à NC en passant par là, ou en se rendant directement sur l’url de ton NC.
  • soit directement depuis nextcloud : dans ce cas, ils n’ont accès que au NC, yunohost n’est pas au courant de cet utilisateur.

Dans le cas 1, il vaut mieux laisser les choses comme elles sont, pour que la déconnexion de NC entraine aussi la déconnexion de YNH, ou au moins un retour sur le panel, pour rappeler aux utilisateurs qu’ils sont toujours connectés par ici.

Dans le cas 2, il est inintéressant voire paumatoire de laisser une redirection vers un panel dont les utilisateurs ne se servent pas. Il est préférable de changer la redirection de logout, pour éviter de perdre les utilisateurs, et qu’un utilisateur déconnecté puisse facilement se reconnecter sur la page qui apparait.

Donc tout dépend de l’utilisation que tu fais de ton installation, de ton NC. Si c’est pour un service familial, où les personnes ont accès à plusieurs tuiles, il faut évidemment passer par la création LDAP via yunohost.

Si tu veux juste créer des comptes NC pour des amis, des membres d’une asso, … que sais-je, et qu’ils n’ont accès qu’à NC, je pense qu’il est judicieux de simplifier la vue. Et dans ce cas, toi qui es admin, (et tous les comptes que tu aurais pu créer via LDAP en parallèle) bien penser à te déconnecter deux fois, de ton NC puis de ton panel YNH.

Et si ton installation mélange à la fois des gens qui ont des comptes LDAP et d’autres qui sont directement créés dans NC, si tu veux faire les choses proprement, et ne pas embrouiller ni les uns ni les autres, peut-être qu’il peut être intéressant d’installer deux fois NC, une fois pour tes LDAP, une autre pour les utilisateur juste NC.

Après, chacun fait comme il veut hein :wink:

Pas bête en effet… Par contre, 2 NC à gérer… Merci pour toutes tes explications.

Sinon, je confirme que la proposition de @tituspijean marche bien aussi après avoir tester, c’est à dire de garder la ligne qui déconnecte du SSO en ajoutant &r= et le lien de la page d’accueil du NC encodée en base64. Ça me semble plus propre tout de même.

'logout_url' => 'https://yourdomain.fr/yunohost/sso/?action=logout&r=aHR0cHM6Ly90ZXN0LmV4YW1wbGUv',

Par contre, j’ai mis un moment à trouver le bon encodage, il y a plein de convertisseur en ligne, mais ils ne donne pas tous exactement le même résultat…

2 Likes