2009-03-09 6 views

Répondre

12

La première ligne modifie les autorisations de fichier et la deuxième modifie les autorisations de répertoire dans le répertoire actif et ses sous-répertoires.

find . -type f -print0 | xargs -0 chmod 644 
find . -type d -print0 | xargs -0 chmod 755 
+0

simple et directe. Bien joué. –

+0

Ou du moins c'était avant les affaires '-print0' et' -0'. Les gens le recommandent toujours et je sais pourquoi, mais ça m'énerve. –

+0

Génial, travaillé comme un régal. Vous m'avez sauvé le temps et l'ennui au-delà des mots !! : P – Abs

15

Il existe une option X pour cela. Cela donnera le bit d'exécution uniquement aux répertoires, pas aux fichiers. Pour définir 644, 755, respectivement avec une seule commande, utilisez:

chmod a=rX,u+w <files/dirs> -R 
+1

Vous apprenez quelque chose de nouveau tous les jours. Utile! –

3

L'utilisation de noms de mode symboliques au lieu des autorisations numériques brutes:

chmod -R u=rwX,go=rX somedir 

Le X indicateur d'autorisation ne fixe que des répertoires ou des fichiers déjà exécutables comme exécutable , le drapeau -R signifie "récursif" et applique les autorisations à tout le contenu du somedir.

2

Non, il n'y a pas de commande pour modifier récursivement les permissions. S'il y avait une telle commande, cela violerait le mantra d'Unix: faites une chose et faites-le bien.

Cependant, il existe deux commandes: l'une pour récursion (find), et une pour les autorisations de changement (chmod).

Ainsi, la ligne de commande magique est:

find . -type d -exec chmod 0755 '{}' + -or -type f -exec chmod 0644 '{}' + 
+0

Mauvais. Et qu'en est-il de lire d'autres réponses en premier? – ypnos

+1

Qu'est-ce qui ne va pas? Avez-vous même * essayé * cette commande? Il fonctionne sur toutes les machines sur lesquelles j'ai travaillé, il est compatible avec POSIX, il est conforme à la spécification Single Unix. Contrairement à toutes les autres réponses qui reposent sur des extensions propriétaires non standard qui ne sont pas disponibles sur de nombreuses plates-formes ... –

+1

... ou elles ne résolvent pas le problème que les états OP. –

Questions connexes