Détails
Comment chmoder récursivement tous les répertoires sauf les fichiers ?
Comment chmod 755 tous les répertoires mais aucun fichier (récursivement) ?
Inversement, comment donner un chmod uniquement aux fichiers (récursivement) mais pas aux répertoires ?
582
3
Pour donner récursivement aux répertoires des privilèges de lecture et d'exécution :
Pour donner récursivement les privilèges de lecture aux fichiers :
Ou, s'il y a beaucoup d'objets à traiter :
Ou, pour réduire le frai de
chmod
:Une raison courante pour ce genre de chose est de mettre les répertoires à 755 mais les fichiers à 644. Dans ce cas, il existe un moyen un peu plus rapide que l'exemple de
find
de Nik :Signification :
-R
= récursivement ;u+rwX
= Les utilisateurs peuvent lire, écrire et exécuter ;go+rX
= le groupe et les autres peuvent lire et exécuter ;go-w
= le groupe et d'autres personnes ne peuvent pas écrireLa chose importante à noter ici est que la majuscule
X
agit différemment de la minusculex
. En manuel, nous pouvons lire :En d'autres termes, chmod u+X sur un fichier n'activera pas le bit d'exécution, et g+X ne l'activera que s'il est déjà activé pour l'utilisateur.
Si vous voulez vous assurer que les fichiers sont définis sur 644 et qu'il y a des fichiers dans le chemin qui ont le drapeau d'exécution, vous devrez d'abord supprimer le drapeau d'exécution. Le +X ne supprime pas l'indicateur d'exécution des fichiers qui l'ont déjà.
Exemple :
Mise à jour : cela semble échouer parce que le premier changement (ugo-x) rend le répertoire non exécutable, donc tous les fichiers en dessous ne sont pas modifiés.