Nextcloud : liens home et multimedia KO

Mon serveur YunoHost

Matériel: mini PC Intel avec SDD + disque USB
Version de YunoHost: 4.0.8
J’ai accès à mon serveur : Par la webadmin
Êtes-vous dans un contexte particulier ou avez-vous effectué des modificiations particulières sur votre instance ? : oui
J’ai monté un disque USB en tant que home (avec rsync -a /home au préalable)

Description du problème

Bonjour,

J’ai installé la dernière version de yuno host, fait les quelques updates puis installé l’app Nextcloud en cochant la case “user home folder from Nextcloud files”

Avec chaque user, dans Nextcloud je vois 3 liens:

  • Home: affiche le message “Cette opération est interdite”
  • Multimedia: affiche le message “Cette opération est interdite”
  • Shared Multimedia: fonctionne

Je retrouve ces liens dans Paramètres > Stockage externe:

  • Home = stockage local /home/$user
  • Multimedia = stockage local /home/yunohost.multimedia/$user
  • Multimedia = stockage local /home/yunohost.multimedia/share

Dans les logs de Nextcloud je vois:
Following symlinks is not allowed ('/home/user//Multimedia' -> '/home/yunohost.multimedia/user/' not inside '/home/user/')

Une idée de comment régler le problème ?

Que donne ?

ls -l /

Peux tu également redémarrer nginx et php7.3-fpm et voir si ça solutionne le problème?

systemctl restart nginx
systemctl restart php7.3-fpm

@Kayou Je viens d’essayer, ça ne change rien. Snif :frowning:

@ljf Voilà ce que ça donne:

ls -l /
lrwxrwxrwx   1 root root     7 sept. 27 15:41 bin -> usr/bin
drwxr-xr-x   4 root root  1024 sept. 27 16:00 boot
drwxr-xr-x  19 root root  3440 sept. 29 01:20 dev
drwxr-xr-x 102 root root  4096 sept. 29 01:18 etc
drwxr-xr-x  14 root root  4096 sept. 29 19:35 home
lrwxrwxrwx   1 root root    31 sept. 27 15:59 initrd.img -> boot/initrd.img-4.19.0-11-amd64
lrwxrwxrwx   1 root root    30 sept. 27 15:42 initrd.img.old -> boot/initrd.img-4.19.0-9-amd64
lrwxrwxrwx   1 root root     7 sept. 27 15:41 lib -> usr/lib
lrwxrwxrwx   1 root root     9 sept. 27 15:41 lib32 -> usr/lib32
lrwxrwxrwx   1 root root     9 sept. 27 15:41 lib64 -> usr/lib64
lrwxrwxrwx   1 root root    10 sept. 27 15:41 libx32 -> usr/libx32
drwxr-x---   2 root root  4096 sept. 28 06:31 log
drwx------   2 root root 16384 sept. 27 15:41 lost+found
drwxr-xr-x   4 root root  4096 sept. 27 18:14 media
drwxr-xr-x   3 root root  4096 sept. 27 23:15 mnt
drwxr-xr-x   3 root root  4096 sept. 28 01:55 opt
dr-xr-xr-x 170 root root     0 sept. 29 01:10 proc
drwx------   3 root root  4096 sept. 29 01:15 root
drwxr-xr-x  35 root root  1020 sept. 29 19:40 run
lrwxrwxrwx   1 root root     8 sept. 27 15:41 sbin -> usr/sbin
drwxr-xr-x   2 root root  4096 sept. 27 15:42 srv
dr-xr-xr-x  13 root root     0 sept. 29 01:10 sys
drwxrwxrwt  12 root root  4096 sept. 29 19:41 tmp
drwxr-xr-x  13 root root  4096 sept. 27 15:42 usr
drwxr-xr-x  13 root root  4096 sept. 27 15:53 var
lrwxrwxrwx   1 root root    28 sept. 27 15:59 vmlinuz -> boot/vmlinuz-4.19.0-11-amd64
lrwxrwxrwx   1 root root    27 sept. 27 15:42 vmlinuz.old -> boot/vmlinuz-4.19.0-9-amd64

J’ai regardé là aussi:

ll yunohost.multimedia/user/
total 16
drwxrwxr-x. 2 user root 4096 sept. 27 16:04 eBook
drwxrwxr-x. 2 user root 4096 sept. 27 16:04 Music
drwxrwxr-x. 2 user root 4096 sept. 27 16:04 Picture
lrwxrwxrwx. 1 user root   31 sept. 28 00:09 Share -> /home/yunohost.multimedia/share
drwxrwxr-x. 2 user root 4096 sept. 27 16:04 Video

ll /home/yunohost.multimedia/share/
total 16
drwxrwxr-x. 2 root root 4096 sept. 27 16:04 eBook
drwxrwxr-x. 2 root root 4096 sept. 27 16:04 Music
drwxrwxr-x. 2 root root 4096 sept. 28 01:08 Picture
drwxrwxr-x. 2 root root 4096 sept. 27 16:04 Video

J’aimerais bien comprendre comment c’est censé fonctionner avec Nextcloud (hors arborescence, hors user “nextcloud”) … et pourquoi ça marche pour “Shared Multimedia”

ça se confirme avec la commande “occ files_external:verify”, les points de montage 1 et 2 sont en erreur:

root@localhost:~# sudo -u nextcloud php /var/www/nextcloud/occ files_external:list
+----------+--------------------+---------+---------------------+-----------------------------------------------+----------------------+------------------+-------------------+
| Mount ID | Mount Point        | Storage | Authentication Type | Configuration                                 | Options              | Applicable Users | Applicable Groups |
+----------+--------------------+---------+---------------------+-----------------------------------------------+----------------------+------------------+-------------------+
| 1        | /Home              | Local   | None                | datadir: "\/home\/$user"                      | enable_sharing: true | All              |                   |
| 2        | /Multimedia        | Local   | None                | datadir: "\/home\/yunohost.multimedia\/$user" | enable_sharing: true | All              |                   |
| 3        | /Shared multimedia | Local   | None                | datadir: "\/home\/yunohost.multimedia\/share" | enable_sharing: true | All              |                   |
+----------+--------------------+---------+---------------------+-----------------------------------------------+----------------------+------------------+-------------------+
root@localhost:~# sudo -u nextcloud php /var/www/nextcloud/occ files_external:verify 3
  - status: ok
  - code: 0
  - message
root@localhost:~# sudo -u nextcloud php /var/www/nextcloud/occ files_external:verify 1
  - status: error
  - code: 1
  - message
root@localhost:~# sudo -u nextcloud php /var/www/nextcloud/occ files_external:verify 2
  - status: error
  - code: 1
  - message

J’ai l’impression que ça vient soit de la variable $user, soit d’un pbm de permissions.

UP.
Je ne suis certainement pas le seul à avoir ce problème.
C’est configuré comment chez vous ?

Idem ici , fresh install sur debian 10 amd64 puis install nextcloud et meme erreur sur les dossiers partagés

J’ai également le même problème (mais bon… comme ce n’était pas critique pour mon utilisation je n’ai pas creusé ni même signalé le problème).
Par contre, je pensais réussir à monter le dossier des sauvegardes YNST pour le rendre visible sur Nextcloud mais pareil, il n’apparait pas.

Pour qu’il soit visible dans nextcloud, il faut que nextcloud en soit le propriétaire ou au moins que le dossier fasse partie du groupe nextcloud. Pour éviter de toucher aux droits de base, il est préférable d’utiliser les ACL.

Même chose pour moi, ce n’était pas le cas avec les versions précédentes, le problème est certainement apparu avec la mise à jour en 19.0.3.

Salut!

J’ai trouvé une solution, (qui peut éventuellement provoquer d’autres problèmes?)

Modifier le fichier /var/www/nextcloud/lib/private/Files/Storage/Local.php ligne 60

        protected $allowSymlinks = true;

Puis relancer le scan:

sudo -u nextcloud php7.3 /var/www/nextcloud/occ files:scan --all

Vous pouvez suivre une issue du projet si vous voulez comprendre les “risques”

1 Like

Merci pour vos retours, ça me rassure de ne pas être le seul ^ ^
Ce serait une régression de la 19.0.3 alors :frowning:
Il faudrait peut-être le remonter un bug à Nextcloud …

@Kayou merci pour ta solution de contournement.
Je testerai peut-être mais ce que je craint c’est que la modif soit écrasée à la prochaine mise à jour de nextcloud.

De mon côté j’ai résolu le problème en supprimant les liens Share (que je n’utilise pas).

Les détails dans ce thread Nextcloud : no more access to Multimedia directory

J’ai fait pareil.
Mais c’est quand même dommage que ça ne fonctionne pas “out of the box”.