Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1830 connectés 

  FORUM HardWare.fr
  Linux et OS Alternatifs
  Codes et scripts

  chmod: mettre une arborescence en 400

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

chmod: mettre une arborescence en 400

n°261466
Taz
bisounours-codeur
Posté le 12-05-2003 à 20:24:52  profilanswer
 

j'ai un problème à la con. je veux passer une arborescence complète en 400, mais les dossiers doivent etre 500.
 
c'est con comme problème, mais j'y arrive pas
 
le chmod -R u=rX ./leRepertoire ne fonctionne pas (tous les fichiers sont en 500). bref faut que je fasse un script...???

mood
Publicité
Posté le 12-05-2003 à 20:24:52  profilanswer
 

n°261471
Taz
bisounours-codeur
Posté le 12-05-2003 à 20:44:36  profilanswer
 

putain de nom avec des esapces, ça marche po le script!

n°261481
Zaib3k
Posté le 12-05-2003 à 21:06:04  profilanswer
 

et un octal ca marche pas ?
 
chmod 400 -R
 
moi ca marche, il me semble


---------------
Le droit à la différence s'arrête là où ça commence à m'emmerder sérieusement.
n°261484
Taz
bisounours-codeur
Posté le 12-05-2003 à 21:09:52  profilanswer
 

ben non, par ce que les répertoires sont vérouilles et impossible à traverser. les rep doivent etre en 500 et les fichiers en 400

n°261491
Mjules
Modérateur
Parle dans le vide
Posté le 12-05-2003 à 21:20:46  profilanswer
 

et avec un if derrière un find ?
genre :

Code :
  1. for rep in `find /blabla/` ; do
  2. if [ -d $rep ]; then chmod 500 $rep
  3. else chmod 400 $rep
  4. fi
  5. done


---------------
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.
n°261497
Taz
bisounours-codeur
Posté le 12-05-2003 à 21:30:20  profilanswer
 

ben j'avais fait ça, le seul problème c'est que j'ai nom avec des espaces...

n°261500
Mjules
Modérateur
Parle dans le vide
Posté le 12-05-2003 à 21:31:14  profilanswer
 

effectivement, je viens d'essayer et ça chie dans la colle...


---------------
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.
n°261501
Taz
bisounours-codeur
Posté le 12-05-2003 à 21:32:49  profilanswer
 

c'est un problème récurrent que j'ai, j'arrive pas à banaliser les caractères spéciales, ça me fait chier de devoir faire un script en python ou perl à chaque fois que j'ai ce genre de rpoblème

n°261504
Mjules
Modérateur
Parle dans le vide
Posté le 12-05-2003 à 21:43:25  profilanswer
 

et en passant par un fichier dans lequel on encadrerait toutes les lignes par " " ? (je le ferais bien, mais je maitrise pas du tout sed :( )


---------------
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.
n°261512
Taz
bisounours-codeur
Posté le 12-05-2003 à 21:59:54  profilanswer
 

le problème c'est que l lsite des caractères spécieaux, je la conanit po... je ferais un script en python plus tard

mood
Publicité
Posté le 12-05-2003 à 21:59:54  profilanswer
 

n°261516
becket
Posté le 12-05-2003 à 22:02:04  profilanswer
 


 

Code :
  1. for rep in `find /blabla/` ; do
  2. if [ -d $rep ]; then chmod 500 $rep
  3. else chmod 400 $rep
  4. fi
  5. done


 
Bof :)  
 
 
mais plutot  
 

Code :
  1. for rep in "$(find ./blabla )"
  2. do
  3. brol brol
  4. done

n°261523
Taz
bisounours-codeur
Posté le 12-05-2003 à 22:24:10  profilanswer
 

euh le backquoute c'est pareil que le $()
 
en attendant, j'utilise ça
 

Code :
  1. def chmod(void, dirname, names):
  2.         import os, stat
  3.         for name in names :
  4.                 fullpath=os.path.join(dirname, name)
  5.                 mode=os.stat(fullpath)[stat.ST_MODE]
  6.                 if stat.S_ISDIR(mode):
  7.                         os.chmod(fullpath, 0500)
  8.                 elif stat.S_ISREG(mode):
  9.                         os.chmod(fullpath, 0400)
  10. if __name__=='__main__':
  11.         import sys, os
  12.         for dir in sys.argv[1:]:
  13.                 os.path.walk(dir, chmod, None)

n°261579
becket
Posté le 13-05-2003 à 06:58:08  profilanswer
 

++Taz :  
 
1 - Si c'était pareil, tu crois que je te l'aurais proposé ?
2 - Tu es qui pour pouvoir balayer une solution sans l'essayer ?
3 - C'est la solution avec les double quotes qu'il faut essayer !

n°261606
Taz
bisounours-codeur
Posté le 13-05-2003 à 09:45:36  profilanswer
 

désolé, je savais pas, et puis pourquoi faire simple quand on peut faire compliquer. ok je teste
 

[benoit@benserver dawa]$ ll
total 0
-rw-------    1 benoit   benoit          0 2003-05-13 09:42 dawa2
-rw-------    1 benoit   benoit          0 2003-05-13 09:42 dawa dawa
[benoit@benserver dawa]$ for rep in "$(find ./)"  ; do file $rep; done;
./:      directory
./dawa:  can't stat `./dawa' (No such file or directory).
dawa:    can't stat `dawa' (No such file or directory).
./dawa2: empty

et ça ne marche pas... OK?

n°261672
Sixtiz
Serial glandeur
Posté le 13-05-2003 à 11:27:18  profilanswer
 

Et pourquoi pas un find /rep/ -type d -exec chmod 500 {} \;

n°261675
Taz
bisounours-codeur
Posté le 13-05-2003 à 11:41:45  profilanswer
 

pas con  :pt1cable:

n°261677
Sixtiz
Serial glandeur
Posté le 13-05-2003 à 11:42:52  profilanswer
 

Et à ça tu ajoutes un find /rep/ -type f -exec chmod 400 {} \; et le tour est joué  :sol:

n°261680
Taz
bisounours-codeur
Posté le 13-05-2003 à 11:49:31  profilanswer
 

j'avais po penser à find


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Linux et OS Alternatifs
  Codes et scripts

  chmod: mettre une arborescence en 400

 

Sujets relatifs
Je ne suis pas satisfait de mon linux, quel OS devrais-je mettre ?recherche tutorial français pour mettre en place IMP 3.0
[Newbie] Mettre en place un serveur SMTPComment mettre en route SNMP sur mandrake 8.1
Comment faire pour mettre un forum sur mon site ?Avantages/inconvenients de mettre des trucs en module
Souris 4 boutons - Des idées d'action à mettre sur le 4 éme bouton ??Mettre lilo sur disquette?
[debian] impossible de mettre a jour un paquet, pas de permissionc'est possible de mettre linux sur un powerbook 5300Cs ?
Plus de sujets relatifs à : chmod: mettre une arborescence en 400


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR