Montage et droit UID GID

Tags: #<Tag:0x00007fb41825d270>

Hello,

J’ai souscrit un espace de stockage dans le Cloud avec PCloud. Je monte cet espace sur le serveur A comme ceci:

> https://ewebdav.pcloud.com/ /mnt/pcloudjc davfs defaults,uid=username,gid=username,_netdev,auto 0 0

root@pve:~# df -h
Filesystem Size Used Avail Use% Mounted on

> https://ewebdav.pcloud.com/ 1.3T 763G 509G 61% /mnt/pcloudjc
> root@pve:~#

Ensuite ce montage est partagé via samba:
[pve]
guest ok = Yes
path = /mnt/pve
read only = No
root@pve:~#

Ensuite sur le serveur B:

‹ //192.168.1.19/pve/Jeedom/Camera /var/www/html/plugins/camera/data/records cifs uid=33,gid=33,iocharset=utf8 ›

root@Ubuntu-Jeedom:/var/www/html/plugins/camera/data# ls -l
total 4
drwxr-xr-x 2 root root 0 avril 4 21:36 records
drwxrwxr-x 2 www-data www-data 4096 juil. 16 2021 segments
root@Ubuntu-Jeedom:/var/www/html/plugins/camera/data#

Je n’arrive pas à modifier les droits sur records:

Je fais ceci:

root@Ubuntu-Jeedom:/var/www/html/plugins/camera/data# chown -R www-data:www-data records/
root@Ubuntu-Jeedom:/var/www/html/plugins/camera/data# ls -l
total 4
drwxr-xr-x 2 root root 0 avril 4 21:36 records
drwxrwxr-x 2 www-data www-data 4096 juil. 16 2021 segments
root@Ubuntu-Jeedom:/var/www/html/plugins/camera/data#

Avez vous une idée, il faudrait que je sois comme le rep segments

Merci

Effectivement, cela ressemble à un problème d’UID : ce n’est pas le même compte root pour la commande chmod et le propriétaire du dossier records. Un ls -li suivi d’un id devrait le confirmer.

La question c’est comment as-tu créé ce dossier records vs le dossier segments ?

Bonjour Pled,

merci pour ta réponse.
Peur de ne pas avoir bien compris la commande:

root@Ubuntu-Jeedom:/var/www/html/plugins/camera/data# ls -li 33
ls: impossible d’accéder à ‹ 33 ›: Aucun fichier ou dossier de ce type

les répertoires ont déja été créés par le systeme Jeedom et pour éviter de saturer l’espace de la VM je voulais déporter sur Pcloud et je ne peux pas modifier le répertoire /var/www/html/plugins/camera/data car codage en dur dans jeedom.

Je ne sais pas si j’ai été clair :-/

Dès que je démonte le volume cela fonctionne:

root@Ubuntu-Jeedom:/var/www/html/plugins/camera/data# umount /var/www/html/plugins/camera/data/records

root@Ubuntu-Jeedom:/var/www/html/plugins/camera/data# ls -l

total 12

drwxr-xr-x 2 www-data www-data 4096 avril 9 12:34 203

drwxrwxr-x 3 www-data www-data 4096 avril 2 19:37 records

drwxrwxr-x 2 www-data www-data 4096 juil. 16 2021 segments

root@Ubuntu-Jeedom:/var/www/html/plugins/camera/data#

Bon, c’est pas très clair, ça se complique pas mal, et ça me dépasse un peu j’en ai peur.
En plus je me suis trompé : c’est l’option « -n » de la commande ls (disons ls -ln typiquement) va te permettre d’afficher les UID/GID (au lieu de user et group) pour chaque fichier/dossier. Cela devrait te permettre de voir si le compte root (dont tu auras le UID en tapant simplement la commande id au prompt) est bien le même que le propriétaire du dossier records.
Deux commandes séparées donc : « ls -ln » pour voir les UID à qui appartiennent les fichiers, et « id » pour connaître l’UID du compte root utilisé dans ton shell. C’était ça l’idée, pour essayer de comprendre pourquoi ta commande chown ne marche pas.
-=-
Pour résumer de ce que je comprends :

  • Donc tu as un compte PCloud. Tu montes ce drive en davfs sur la machine pve sur /mnt/pcloudjc.
  • Puis tu partages ce dossier via Samba Server ? Pourquoi je vois le partage sur /mnt/pve ? je m’attendrais à voir /mnt/pcloudjc.
  • Ensuite, dans une VM appelée Ubuntu-Jeedom (sur une autre machine physique ?), tu as une appli Jeedom (de la domotique, je ne connais pas) qui a ses propres fichiers et son arborescence. Et tu veux utiliser le partage Samba pour que Jeedom écrive ses fichiers dans le PCloud, mais uniquement le dossier records. Les autres dossier comme segments restant en local.
  • Comment et sur quoi est fait le mount dont tu parles dans ton deuxième post : mount /var/www/html/plugins/camera/data/records ?? Manifestement les droits d’écriture y sont restreints, et www-data n’a pas les droits d’écriture. En changeant les droits d’écriture, tu n’aurais plus besoin de modifier le propriétaire.

C’est important de bien décrire la situation, parce franchement avec ton premier post, pour s’y retrouver, c’est impossible ! :wink: Et même au deuxième… Fais aussi attention à utiliser le tag « code » (texte préformatté) pour tes copies de commande, et à les vérifier dans le panneau"preview" pour que tout cela soit lisible pour les autres.

Essaie de mettre déjà tout ton schéma sur papier, qui monte quoi et avec quelles permissions. Ça devrait t’aider à y voir plus clair. À chaque couche, il faut avoir les droits.
Pourquoi passer par le share samba d’une autre machine ? pourquoi ne pas monter directement dans ta VM ton drive PCloud et y faire pointer Jeedom pour ses fichiers ?

Bonjour Pled. Tu as bien résumé la situation et tu as raison, je dois etre plus précis.

Je suis ton conseil et monte directement pcloud depuis la machine jeedom:

  root@Ubuntu-Jeedom:/mnt# df
Sys. de fichiers            blocs de 1K   Utilisé Disponible Uti% Monté sur
udev                            1995864         0    1995864   0% /dev
tmpfs                            403904      2596     401308   1% /run
/dev/sda1                      19543696  12374032    6275828  67% /
tmpfs                           2019508         0    2019508   0% /dev/shm
tmpfs                              5120         4       5116   1% /run/lock
tmpfs                           2019508         0    2019508   0% /sys/fs/cgroup
tmpfs                            131072      4368     126704   4% /tmp/jeedom
tmpfs                            403900         0     403900   0% /run/user/0
https://ewebdav.pcloud.com/  1333333332 800000000  533333332  61% /mnt/pcloud

Ensuite comme mon lien est en dur je pensais faire un lien symbolique vers /var/www/html/plugins/camera/data/records

ls -s /mnt/pcloud/Jeedom/Camera /var/www/html/plugins/camera/data/records

Mais j’ai fait ceci en erreur:

root@Ubuntu-Jeedom:/mnt/pcloud/Jeedom/Camera# ls -n /mnt/pcloud/Jeedom/Camera /var/www/html/plugins/camera/data/records
/mnt/pcloud/Jeedom/Camera:

total 0
/var/www/html/plugins/camera/data/records:

total 12
lrwxrwxrwx 1 33 33 26 avril 10 22:39 **Camera** -> **/mnt/pcloud/Jeedom/Camera/**
drwxrwxr-x 2 33 33 4096 avril 10 23:50 **segments**

Comment puis je retirer ma commande ?
est ce que l’idée du lien symbolique est la bonne ?

merci

À priori bonne idée, encore faut-il que Jeedom le supporte, à tester. La commande pour un lien symbolique, c’est ln -s, je ne la vois pas dans ta première commande : faute de frappe ?
Sinon le ls -n que tu fais ensuite n’a aucune incidence, ce n’est que de l’affichage.

On voit voit un lien symbolique Camera qui pointe sur /mnt/pcloud/Jeedom/Camera/, et qui se trouve si je ne me trompe pas dans /var/www/html/plugins/camera/data/records.
Pour le supprimer, c’est un fichier comme un autre :
rm /var/www/html/plugins/camera/data/records/Camera

Et tu refais le lien que tu souhaites ensuite: ln -s CIBLE NOM_LIEN en te plaçant dans le dossier où tu souhaites créer ce lien.