Permission : fichier et répertoire

Bonsoir :slight_smile:
Suite à ce sujet : *

J’ai un problème de droit qui persiste. Depuis un smartphone avec un gestionnaire de fichier j’ai accès (via webdav) à mon serveur Nextcloud. Dans tout les répertoires, je peux créer, copier, coller des fichiers. Sauf dans celui de mes sauvegardes.
J’ai tenté de copier mes fichiers de /home/yunohost.backup vers mon Nextcloud avec la commande cp -r -a (-a pour conserver les droits il me semble ?).
Mais les fichiers semblent quand même en lecteur seule, je ne peux ni les copier, ni les supprimer sans être root.

La question est : quel chmod ou commande je peux jouer pour que le répertoire et ses contenu ne soient pas en lecture seule et puisse être manipulable par tous

chmod /home/yunohost.app/nextcloud/data/guillermo/files/Back-up/YunoHost/*

Merci pour votre aide :slight_smile:

Bonjour,

En effet, les répertoires et fichiers copiés dans /home/yunohost.app/nextcloud/data/user/files/ à travers une application tierce n’ont ni les bons droits, ni les bons groupe:propriétaire.
Je parle ici sous le contrôle de @metyun qui propose une commande condensée des détails ci-dessous :
Grosso modo, si tu veux pouvoir supprimer dans Nextcloud le répertoire backup_rep et les fichiers file1.bck et file2.bck (par exemple) :

  • chown nextcloud:nextcloud /home/yunohost.app/nextcloud/data/user/files/backup_rep
    (avec option -R si sous-répertoires)
  • chmod 750 /home/yunohost.app/nextcloud/data/user/files/backup_rep
  • chmod 640 /home/yunohost.app/nextcloud/data/user/files/backup_rep/*

Pour arriver à quelque chose comme :

  • drwxr-x— 2 nextcloud nextcloud 4096 Aug 25 19:12 backup_rep
  • -rw-r----- 1 nextcloud nextcloud 5338 Aug 25 19:12 file1.bck
  • -rw-r----- 1 nextcloud nextcloud 105980 Aug 25 18:44 file2.bck

Bonne soirée.

Il y a une commande qui me paraît bien ici

1 Like

Bonsoir,
Après le premier test effectué, je n’ai même plus le droit de faire un copier via mon gestionnaire de fichier (webdav).

Si je comprends la commande le nextcloud:nextcloud, on parle du groupe de droit Nextcloud ?

Bonjour,
Les fichiers et répertoires «natifs» Nextcloud ont propriétaire:groupe nextcoud:nextcloud.
Et les autorisations décrites dans mon post précédent. Autorisations que tu peux modifier en phase de test !
À mon avis, c’est un problème de récursivité. Pour voir un fichier dans un répertoire «profond», il faut pouvoir traverser tous ceux de niveau supérieur.
Bonne journée.

Bonsoir,

Je viens de faire les essais avec la partie chown seul cela fonctionne comme je le souhaite merci beaucoup :slight_smile:

a quoi sert la suite du chmod 750 et 640 ?
Effectivement comme je manipulais mes fichiers (création et déplacement en root) en analysant les droits des autres dossiers, effectivement root étais propriétaire.

Ce sont les droits d’accès sur les fichiers et leurs variantes sur les répertoires !
Read Write eXecute pour respectivement le propriétaire ( u ), le groupe ( g ) et les autres utilisateurs ( o ).
Tu trouveras des infos et des tableaux de représentation octale un peu partout.
J’avais,tout simplement, préconisé ces modifications pour mettre les droits d’accès à l’identique avec les répertoires et fichiers “natifs” de Nextcloud.
C’est un peu pour cela que je passais par un répertoire relais où je copiais mes backups et ensuite je les “Téléversais” sur Nextcloud. On doit pouvoir avec php occ de Nextcloud “scripter” le truc.
Les backups de Yunohost, copiés dans un répertoire où Nextcloud a accès en téléversemnt, et ensuite une sauvegarde distante…

1 Like

Plutôt que d’utiliser la notation octale, tu peux utiliser la notation suivante qui est bien plus simple à comprendre et retenir:
utiliser le signe + pour ajouter un droit et le signe - pour en retirer un.
u pour utilisateur(user), g pour groupe(group) et o pour les autres(other).
r pour lecture(read), w pour écriture(write) et x pour exécution
Par exemple un chmod u+rx donnera les droits en lecture et exécution au propriétaire.
De même un chmod g-w enlèvera les droits en écriture au groupe.
Pour que les droits soient récursifs, n’oublie pas l’option -R (chmod -R …)
Attention tout de même avec ces commandes, si tu ajoutes des éléments dedans à partir d’un autre utilisateur, ceux-ci n’auront pas les droits du dossier, ce qui est typiquement le cas avec une tâche cron “root”. C’est pour cette raison que je te proposais de passer soit un chmod g+s afin que tous les nouveaux fichiers/dossiers crées aient comme groupe Nextcloud, ou bien d’ajouter les bons droits avec les ACL afin que Nextcloud puisse y accéder.

1 Like

Merci, oui du coup dans mon script après le scan nextcloud j’ai rajouter une ligne qui réattribue à chaque fois les dossiers et sous dossiers au propriétaire d’origine :slight_smile:

Oui ça fonctionnera mais c’est loin d’être l’idéal.

Pas idéal car trop de manipulation ?

Disons que lorsqu’on peux éviter du travail au serveur, c’est préférable surtout avec un RPI comme j’utilise, j’essaye de minimiser ce qui n’est pas utile. C’est pour ça qu’en donnant les bons droits directement au dossier /home/yunohost.backup/archives et en l’ajoutant en tant que stockage externe dans Nextcloud, ça t’éviterait la copie. Pour le chown que tu as ajouté, ça peut-être évité avec le setgid. Cette commande n’est à passer qu’une seule fois sur ton dossier (et ne pas être utilisée dans ton script) et ensuite tous les fichiers crées dedans même à partir d’un autre utilisateur/groupe auront bien le même groupe, ce qui est suffisant à Nextcloud pour voir les fichiers, pas besoin forcément d’avoir nextcloud en propriétaire. Quand je dis “pas idéal” , c’est surtout que le setgid existe pour faire ça sans avoir besoin de rechanger à chaque fois le propriétaire.
Ce que tu as fais restera malgré tout fonctionnel, c’est juste que c’est pas très beau et que ça m’a piqué un peu les yeux, mais rien de bien méchant, l’important reste que ça remplisse ce que tu souhaites faire :slightly_smiling_face:

1 Like

Alors oui sous raspberry j’aurais éviter de détruire ma carte SD la je suis sur VPS donc je suis un peu plus zen ^^

Oui je comprends, après c’est vrai que comme je débute et celui ci semblent fonctionnel, je vais le mettre en place en attendant de changer avec les recommandations que l’on m’as fais sur ce sujet.

Et quand j’aurais finis de bidouiller et comprendre tout cela je passerais à la solution de montage du dossier yunohost.backup :smiley: