Nextcloud multimedia files (external storage) belonging to all users are visible to all users

What app is this about, and its version: Nextcloud, 33.0.2~ynh1
What YunoHost version are you running: 12.1.39
What type of hardware are you using: Raspberry Pi 3, 4+

Describe your issue

Hi,

I updated Nextcloud and since then, all the files in yunohost.multimedia (which I pointed to an external hard drive) are visible.

That is to say, all the multimedia files (videos, music, etc.) from all users are visible to all users.

It’s a bit of a disaster.

Do you have any idea what could have caused this? (and of course, how I can fix it :grimacing:)

Salut,

j’ai mis nextcloud à jour et depuis, tous les fichiers dans yunohost.multimedia (que j’ai pointé vers un HDD externe) sont visibles.
C’est à dire que tous les fichiers multimedias (video, music…) de tous les utilisateurs sont visibles par tous les utilisateurs.

C’est un peu la cata

Vous avez une idée de ce qui a pu amener à ça? (et bien sûr comment je peux le résoudre :grimacing:)

Share relevant logs or error messages

y’a pas de logs particuliers
no logs

Salut,
ça ressemble étrangement à des changements de droits.

Etait-ce déjà le cas avant? Comment les as-tu fais pointer? Un disque en ext4?

Ce que tu peux vérifier ce sont les droits et les ACL avec getfacl.
Tu peux regarder aussi du côté du helper multimedia qui doit se trouver dans /usr/share/yunohost/helpers? (ou un nom proche, il faudrait que je vérifie si tu ne trouves pas)/multimedia, et ré-appliquer les ACL avec les commandes setfacl de ce fichier. Attention à bien définir les variables avant s’il y en a dans les commandes (les variables commencent par $ )

Ma réponse n’est pas très précise mais c’est ce qui me vient en tête en 1er. Si tu n’arrives pas à vérifier avec getfacl ou si tu n’y comprends rien, repasse le dire, je regarderai plus en détail ultérieurement (ou un autre yunohost user)

Salut,

merci pour ton retour.

oui j’ai aussi pensé à un changement de droits mais je comprends pas trop pourquoi ni quels droits remettre pour que ça fonctionne correctement.

Oui c’est un disque en ext4
Est ce que c’était le cas avant: oui et non (j’ai rajouté 2 utilisateurs récemment et j’ai procrastiné pour les pointer vers le HDD. ils étaient donc visibles de cette façon. J’espère que c’est pas ça qui a tout déglingué)
J’ai pointé en suivant cette procédure: Ajouter un stockage externe à son serveur | Yunohost

et sinon en effet, je comprends pas grand chose à ce paragraphe: :sweat_smile:

Ce que tu peux vérifier ce sont les droits et les ACL avec getfacl.
Tu peux regarder aussi du côté du helper multimedia qui doit se trouver dans /usr/share/yunohost/helpers? (ou un nom proche, il faudrait que je vérifie si tu ne trouves pas)/multimedia, et ré-appliquer les ACL avec les commandes setfacl de ce fichier. Attention à bien définir les variables avant s’il y en a dans les commandes (les variables commencent par $ )

mais je vais tenter d’approfondir quand j’ai un peu de temps (si je comprends bien ACL c’est les droits et getfacl c’est la commande pour les gérer. Et grosso modo tu me demandes d’aller voir dans un fichier les droits précédents et les restaurer avec setfacl une fois que je serais quels sont les droits qui vont bien c’est ça?)

Non, getfacl c’est la commande pour voir les ACL appliqués. Il y a 2 notions dans les droits, les droits “simples” avec les droits en lecture,écriture,exécution et c’est géré sur 3 niveaux, l’utilisateur, le groupe et les autres. Les ACL permettent de donner des droits spécifiques sans changer les droits de base, ici c’est utilisé pour le groupe multimedia.
Dans le helper tu as les droits appliqués par défaut avec yunohost. La commande setfacl est celle qui permet de changer les ACL. Donc avec ces commandes tu pourras rétablir la situation par défaut s’il y a eu des changements.

Une deuxième chose important à vérifier ce sont tes montages externes dans Nextcloud et voir s’ils sont bien paramétrés.

Tu peux vérifier les droits, propriétaires et ACL avec ces commandes :

namei -l /home/yunohost.multimedia/*
ls -l /home/yunohost.multimedia/*
getfacl /home/yunohost.multimedia/*

Tu peux les poster ici si tu ne sais pas les interpréter.
Idem pour la ligne de montage de dossiers externes dans Nextcloud si tu ne sais pas.

alors

namei -l /home/yunohost.multimedia/*

ça donne

f: /home/yunohost.multimedia/user
drwxr-xr-x root root /
drwxr-xr-x root root home
drwxrwxr-x root root yunohost.multimedia
drwxrwxr-x user root user
f: /home/yunohost.multimedia/eBook
drwxr-xr-x root root /
drwxr-xr-x root root home
drwxrwxr-x root root yunohost.multimedia
drwxrwxr-x useradmin root eBook
f: /home/yunohost.multimedia/Music
drwxr-xr-x root root /
drwxr-xr-x root root home
drwxrwxr-x root root yunohost.multimedia
drwxrwxr-x useradmin root Music
f: /home/yunohost.multimedia/Picture
drwxr-xr-x root root /
drwxr-xr-x root root home
drwxrwxr-x root root yunohost.multimedia
drwxrwxr-x useradmin root Picture
f: /home/yunohost.multimedia/share
drwxr-xr-x root root /
drwxr-xr-x root root home
drwxrwxr-x root root yunohost.multimedia
drwxrwxr-x root root share
f: /home/yunohost.multimedia/Share
drwxr-xr-x root root /
drwxr-xr-x root root home
drwxrwxr-x root root yunohost.multimedia
lrwxrwxrwx useradmin root Share → /home/yunohost.multimedia/share
drwxr-xr-x root root /
drwxr-xr-x root root home
drwxrwxr-x root root yunohost.multimedia
drwxrwxr-x root root share
f: /home/yunohost.multimedia/Video
drwxr-xr-x root root /
drwxr-xr-x root root home
drwxrwxr-x root root yunohost.multimedia
drwxrwxr-x useradmin root Video


ls -l /home/yunohost.multimedia/*

lrwxrwxrwx  1 useradmin root    31 Mar 11 16:42 /home/yunohost.multimedia/Share → /home/yunohost.multimedia/share

/home/yunohost.multimedia/user:
total 16
drwxrwxr-x+ 2 user root 4096 May 13 17:20 eBook
drwxrwxr-x+ 2 user root 4096 May 13 17:20 Music
drwxrwxr-x+ 2 user root 4096 May 13 17:20 Picture
lrwxrwxrwx  1 user root   31 May 13 17:20 Share → /home/yunohost.multimedia/share
drwxrwxr-x+ 2 user root 4096 May 13 17:20 Video

/home/yunohost.multimedia/eBook:
total 1771160
-rw-rwxr-x+ -rw-rwxr-x+   1 nextcloud nextcloud tailledufichier date heure nomdufichier

/home/yunohost.multimedia/Music:
total 528
drwxrwxr-x+  6 nextcloud nextcloud tailledudossier date heure nomdudossier

/home/yunohost.multimedia/share:
total 16
drwxrwxr-x+ 2 root root tailledudossier date heure nomdudossier

/home/yunohost.multimedia/Video:
total 112
drwxrwxr-x+  9 nextcloud nextcloud tailledudossier date heure nomdudossier

getfacl /home/yunohost.multimedia/*
getfacl: Removing leading ‘/’ from absolute path names

file: home/yunohost.multimedia/user

owner: user

group: root

user::rwx
group::rwx
group:multimedia:rwx
mask::rwx
other::r-x
default:user::rwx
default:group::rwx
default:group:multimedia:rwx
default:mask::rwx
default:other::r-x

file: home/yunohost.multimedia/eBook

owner: useradmin

group: root

user::rwx
group::rwx
group:multimedia:rwx
mask::rwx
other::r-x
default:user::rwx
default:group::rwx
default:group:multimedia:rwx
default:mask::rwx
default:other::r-x

file: home/yunohost.multimedia/Music

owner: adminsuer

group: root

user::rwx
group::rwx
group:multimedia:rwx
mask::rwx
other::r-x
default:user::rwx
default:group::rwx
default:group:multimedia:rwx
default:mask::rwx
default:other::r-x

file: home/yunohost.multimedia/adminuser

owner: adminuser

group: root

user::rwx
group::rwx
group:multimedia:rwx
mask::rwx
other::r-x
default:user::rwx
default:group::rwx
default:group:multimedia:rwx
default:mask::rwx
default:other::r-x

file: home/yunohost.multimedia/Picture

owner: adminuser

group: root

user::rwx
group::rwx
group:multimedia:rwx
mask::rwx
other::r-x
default:user::rwx
default:group::rwx
default:group:multimedia:rwx
default:mask::rwx
default:other::r-x

file: home/yunohost.multimedia/share

owner: root

group: root

user::rwx
group::rwx
group:multimedia:rwx
mask::rwx
other::r-x
default:user::rwx
default:group::rwx
default:group:multimedia:rwx
default:mask::rwx
default:other::r-x

file: home/yunohost.multimedia/Share

owner: root

group: root

user::rwx
group::rwx
group:multimedia:rwx
mask::rwx
other::r-x
default:user::rwx
default:group::rwx
default:group:multimedia:rwx
default:mask::rwx
default:other::r-x

file: home/yunohost.multimedia/Video

owner: adminuser

group: root

user::rwx
group::rwx
group:multimedia:rwx
mask::rwx
other::r-x
default:user::rwx
default:group::rwx
default:group:multimedia:rwx
default:mask::rwx
default:other::r-x

Effectivement j’y comprends rien mais je crois comprendre que tout le monde est en root….ce qui explique surement le probleme

Pour le stockage externe dans nextcloud, voici comment c’est fait:

Bon je pense voir le problème, tu as des dossiers directement dans /home/yunohost.multimedia alors que ce ne devrait pas être le cas :

exemple : /home/yunohost.multimedia/Music

Et ton montage externe dans Nextcloud est /mnt/hdd/home/yunohost.multimedia, donc le dossier Multimedia donne accès à tout ce qui trouve dans /mnt/hdd/home/yunohost.multimedia.

Les ACL ont l’air d’être corrects.
Toujours sur l’exemple précédent avec Music (ce doit être pareil pour Picture,Ebook,etc…) , l’arborescence doit être sous la forme /home/yunohost.multimedia/$USER/Music et jamais /home/yunohost.multimedia/Music.

Une fois réglé ce souci, dans Nextcloud il faut corriger également la configuration du stockage comme indiqué ici dans le script d’installation.

/home/yunohost.multimedia/$user

Vu que tu fais un montage bind si j’ai bien compris, ça fonctionnera. Si tu veux garder la forme /mnt/hdd… rajoute /$user à la fin du chemin.

Tu peux te contenter de changer juste le chemin dans le montage externe de Nextcloud, ça sera suffisant pour restreindre les utilisateurs mais un dossier n’a rien à faire à la racine de /home/yunohost.multimedia. Les dossiers sont soit dans dans celui d’un utilisateur, soit dans share pour les dossiers partagés.

WOoooooow comment j’avais fait du kk

Merci pour les explications, c’est super clair et j’ai tout remis d’équerre.

A bientôt et merci (bisous) à toute la team yunohost (je fais des dons depuis un moment et je kif grave)

This topic was automatically closed 15 days after the last reply. New replies are no longer allowed.