Lorsque l’on souhaite modifier les permissions d’une arborescence complète, on pense souvent au paramètre -R de la commande chmod.
Cependant, cette commande ne dispose pas d’arguments permettant de filtrer l’application du chmod uniquement sur les fichiers ou les dossiers.
Un simple script Bash pourrait résoudre notre problème, mais pourquoi compliquer les choses alors que l’on peut faire cela en une commande avec find ? 🙂
1 2 |
# Chmod 750 sur tous les dossiers et sous dossiers du répertoire courant find . -type d -exec chmod 750 {} \; |
1 2 |
# Chmod 640 sur tous les fichiers du répertoire courant (et ceux des sous dossiers) find . -type f -exec chmod 640 {} \; |
Et pour terminer, une petite astuce pour trouver des fichiers possédants des permissions particulières :
1 2 3 4 |
# Liste des éléments ayant un chmod 777 find . -perm 777 find . -type d -perm 777 find . -type f -perm 777 |