comment un faire chmod uniquement sur des fichiers ?

comment un faire chmod uniquement sur des fichiers ? - Installation - Linux et OS Alternatifs

Marsh Posté le 08-09-2003 à 13:47:55    

Salut !
 
J'ai un petit problème : J'ai récupéré plein de fichiers provenant d'une partition windows dans pleins de répertoires. Le problème c'est que lors du passage à Linux, les fichiers deviennent executables.
 
Je veut donc faire un chmod sur les fichiers pour qu'ils ne soient plus executables. Etant donné que je suis un peu faineant, je voudrais le faire récursivement.
j'ai essayé un chmod -R a-x * , mais ca rend les répertoire non accessibles puisque ca modifie également les répertoires.
 
Comment faire pour traiter uniquement les fichiers ?

Reply

Marsh Posté le 08-09-2003 à 13:47:55   

Reply

Marsh Posté le 08-09-2003 à 13:51:43    

Avec un find ca doit etre possible sans trop de probleme..
tu fais un find en recherchant que les type de fichier "fichier" et tu fais un exec ton chmod. J'ai pas la syntaxe exacte mais
je pourai retrouver ca ce soir au besoin.
 
Par contre une question.. c'est vraiment genant que les fichiers
soient "executable" ? Je vois pas bien en quoi ca pourait gener..

Reply

Marsh Posté le 08-09-2003 à 13:53:33    

je plussoie pour un find, fais une recherche sur mon pseudo, la commande a été posté ya 2 mois maxi
 
le topic en question :
http://forum.hardware.fr/forum2.ph [...] 504&cat=11


Message édité par Mjules le 08-09-2003 à 13:58:26

---------------
Celui qui pose une question est idiot 5 minutes. Celui qui n'en pose pas le reste toute sa vie. |  Membre du grand complot pharmaceutico-médico-scientifico-judéo-maçonnique.
Reply

Marsh Posté le 08-09-2003 à 13:59:21    

en plus efficace que le exec de find :
find . -type f -print | xargs -t chmod a-x

Reply

Marsh Posté le 08-09-2003 à 14:05:51    

joli :)

Reply

Marsh Posté le 08-09-2003 à 20:37:03    

Je viens d'essayer avec vos indications ce soir.
 
Ca marche impecable !!!  
 
J'ai tapé "find - type f -exec chmod 644 {} \; " et ca m'a enlevé les droits d'execution.
 
J'ai découvert en même temps toutes les options de find.
 
Merci pour tout !!

Reply

Marsh Posté le 08-08-2004 à 17:22:45    

arghbis a écrit :

en plus efficace que le exec de find :
find . -type f -print | xargs -t chmod a-x


 
J'ai deux questions à propos de ça :
D'une part je ne connais pas l'option t de xargs et elle n'est pas dans le man.
D'autre part cela ne fonctionne pas pour les fichiers comportants un espace car xargs considère que cela fait deux arguments, comment corriger cela ?

Reply

Marsh Posté le 08-08-2004 à 17:24:43    

freewol a écrit :

J'ai deux questions à propos de ça :
D'une part je ne connais pas l'option t de xargs et elle n'est pas dans le man.
D'autre part cela ne fonctionne pas pour les fichiers comportants un espace car xargs considère que cela fait deux arguments, comment corriger cela ?

intégré le chmod directement dans le find
man find : -exec


---------------
:: Light is Right ::
Reply

Marsh Posté le 08-08-2004 à 17:29:37    

Ok merci comme ça ça marche

Reply

Marsh Posté le 27-08-2004 à 06:59:17    

rah la la.... pourquoi find ? alors que la commande existe
 chmod -R a-x  
 chmod -R a+X
 
le petit "x" tt le monde connait
le grand "X" uniquement sur les dossiers !
et là c'est fini.

Reply

Marsh Posté le 27-08-2004 à 06:59:17   

Reply

Marsh Posté le 27-08-2004 à 09:25:26    

smity a écrit :

rah la la.... pourquoi find ? alors que la commande existe
 chmod -R a-x  
 chmod -R a+X
 
le petit "x" tt le monde connait
le grand "X" uniquement sur les dossiers !
et là c'est fini.

lui c est que sur les fichiers :p


---------------
:: Light is Right ::
Reply

Marsh Posté le 27-08-2004 à 12:36:12    

bah c bien ske smity dit :
 
on fait dabord un chmod -R a-x, ce qui change le chmod de tout, puis on fait par dessus un chmod -R a+X pour corriger le chmod des dossiers.

Reply

Marsh Posté le 27-08-2004 à 12:41:54    

LpZ_squall a écrit :

bah c bien ske smity dit :
 
on fait dabord un chmod -R a-x, ce qui change le chmod de tout, puis on fait par dessus un chmod -R a+X pour corriger le chmod des dossiers.

ah vi ok :D


---------------
:: Light is Right ::
Reply

Marsh Posté le 29-08-2004 à 16:58:04    

smity a écrit :

rah la la.... pourquoi find ? alors que la commande existe
 chmod -R a-x  
 chmod -R a+X
 
le petit "x" tt le monde connait
le grand "X" uniquement sur les dossiers !
et là c'est fini.


sauf que ça marchera pas [:spamafote] ; comment veux tu changer quelque chose dans un dossier sur lequel tu viens d'enlever le droit de traverser. et comme chmod commence par le dossier où tu te trouves, le find est obligatoire ici


---------------
Celui qui pose une question est idiot 5 minutes. Celui qui n'en pose pas le reste toute sa vie. |  Membre du grand complot pharmaceutico-médico-scientifico-judéo-maçonnique.
Reply

Marsh Posté le 29-08-2004 à 17:00:52    

Mjules a écrit :

sauf que ça marchera pas [:spamafote] ; comment veux tu changer quelque chose dans un dossier sur lequel tu viens d'enlever le droit de traverser. et comme chmod commence par le dossier où tu te trouves, le find est obligatoire ici


 
si t'as pas le droit, je vois pas comment find y arriverait mieux que chmod  :D

Reply

Marsh Posté le 29-08-2004 à 17:09:14    

parce que find n'applique le chmod que sur les fichiers (le -type f). il peut ainsi parcourir librement les dossiers


---------------
Celui qui pose une question est idiot 5 minutes. Celui qui n'en pose pas le reste toute sa vie. |  Membre du grand complot pharmaceutico-médico-scientifico-judéo-maçonnique.
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed