Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 07/04/2020, à 01:35

zab_f

[Résolu] chmod -R u-x,g-x,o-x,u+X,g+X,o+X ne fonctionne pas

Bonjour,
Tout est dans le titre. J'ai fait la synchronisation d'un répertoire avec rsync entre 2 ordinateurs, probablement avec les mauvaises options. En effet, j'ai utilisé

rsync -rtuvl 

au lieu de

 rsync -gloptruv 

après qu'on m'ait dit que le "p" dans les options conserve les permissions, et je me suis retrouvée avec un répertoire "tout vert" et tous les sous-répertoires et sous-sous répertoires  ainsi que tous les fichiers à l'intérieur qui sont  exécutables. J'avais une commande magique

 chmod -R u-x,g-x,o-x,u+X,g+X,o+X mon-repertoire 

sauf que là ça ne marche pas du tout : il ne se passe absolument rien. Pourtant je suis bien propriétaire de tout (enfin j'ai l'impression, car quand je fais la commande

ll

mon nom apparaît 2 fois). J'ai réussi à passer le répertoire "mon-repertoire" en bleu de façon graphique... Quand j'examine les sous-répertoires et sous-sous-répertoires de façon graphique j'ai l'impression que c'est bon (c'est à dire que les permissions sont les mêmes que pour "mon-repertoire"), mais quand je passe en ligne de commande, quand je fais "ls" je vois bien que ça ne va pas, ils sont verts surlignés en vert sad

Comment faire, à part refaire ma synchronisation en utilisant les bonnes options (je l'avais fait sur site, à mon boulot, et ma connexion domestique est bien moins rapide, j'ai peur que ça prenne beaucoup de temps)?

Merci pour votre aide

Zab

Dernière modification par zab_f (Le 29/06/2020, à 12:48)

Hors ligne

#2 Le 07/04/2020, à 02:50

krodelabestiole

Re : [Résolu] chmod -R u-x,g-x,o-x,u+X,g+X,o+X ne fonctionne pas

tu peux donner le retour de ll ou plutôt ls -al, pour qu'on voit un peu de quoi il en retourne. parce que "tout vert" a priori ça veut dire 777 ou un truc du genre : tous les droits pour tout le monde, ou alors seulement la modif je sais pas trop, cette couleur dépend surtout de tes réglages et c'est loin d'être parlant...


sinon ta commande magique ne fait que changer le bit d'exécution et elle est écrite avec les pieds !
si tu donnes les même permissions à u (user), g (group) et o (other), autant ne rien indiquer du tout, ça prendra tout le monde en compte (ou tu peux aussi éventuellement indiquer a pour all)
donc cette commande se résume à :

chmod -R -x+X

elle fait en sorte que tous les fichiers ne soient exécutables pour personne, et que tous les répertoires soient exécutables pour tout le monde.
elle ne change rien en ce qui concerne la lecture ou la modification des ressources.


bref il n'y a pas de commande magique, il faudrait juste savoir ce que tu veux !

r = read
w = write
x concerne l'exécution des fichiers et des répertoires tandis que X ne concerne que les répertoires (l'exécution concernant un répertoire ça veut dire qu'on peut l'ouvrir et l'explorer).

donc par ex. pour avoir des fichiers (sans exécutables) que seul toi peux modifier et que tout le monde peut voir :

sudo chown -R $USER:$USER /ton/chemin
chmod -R a-rwx,u+rwX,g+rX,o+rX /ton/chemin

ici on commence par enlever tous les droits pour tout le monde (a-rwx), puis on redonne des droits au cas par cas pour user, group et other.
du coup on peut simplifier :

chmod -R -wx+rX,u+w /ton/chemin

on enlève écriture et exécution pour tout le monde (le a est optionnel), mais on autorise lecture et (exécution des répertoires). puis finalement, seulement pour soi (user), on autorise l'écriture.

et pour des fichiers que seul toi peut voir et modifier (mais pas exécuter) :

sudo chown -R $USER:$USER /ton/chemin
chmod -R a-rwx,u+rwX /ton/chemin

encore une fois on enlève tous les droits pour tout le monde (a-rwx), puis on redonne les droits seulement pour user (sauf l'exécution des fichiers).

Dernière modification par krodelabestiole (Le 07/04/2020, à 03:17)

En ligne

#3 Le 07/04/2020, à 09:56

kamaris

Re : [Résolu] chmod -R u-x,g-x,o-x,u+X,g+X,o+X ne fonctionne pas

Concernant rsync, à moins que tu aies une raison particulière de ne pas mettre l'option -D, tu pourrais plus simplement utiliser l'option -a :

rsync -auv

L'option -a inclut toutes les options de ta seconde ligne de commande, sauf -u (je suppose que tu sais pourquoi tu mets cette option) et -v, avec en plus -D (voir man rsync).

Hors ligne

#4 Le 07/04/2020, à 10:31

diesel

Re : [Résolu] chmod -R u-x,g-x,o-x,u+X,g+X,o+X ne fonctionne pas

Les répertoires en question sont sur quel type de partition ? ext4, vfat ?

Amicalement.

Jean-Marie


Je déteste qu'on cherche à me faire passer pour un con, j'y arrive déjà très bien tout seul.
Le mort, il sait pas qu'il est mort ; c'est pour les autres que c'est dur.................... Pour les cons, c'est pareil.

Hors ligne

#5 Le 29/06/2020, à 12:45

zab_f

Re : [Résolu] chmod -R u-x,g-x,o-x,u+X,g+X,o+X ne fonctionne pas

Merci pour toutes ces réponses et explications, qui me font progresser

Cette histoire date de presque trois mois et je n'avais rien répondu. J'ai résolu le problème, à vrai dire je ne sais plus trop comment (je crois que j'ai finalement refait ma synchronisation avec les bonnes options). Sinon, pour la commande qui se résume à

 chmod -R -x+X 

C'était exactement ce que je voulais faire : rendre tous les fichiers non exécutables, car il l'étaient tous devenus ("couleur verte") suite à une non conservation des permissions lors du rsync!

Hors ligne