Après avoir appliqué chmod -R
à un directory, les permissions sont modifiées pour tout ce qui se trouve dans (files et directorys). Comment puis-je append des permissions d'exécution / search ( x
) aux directorys sans modifier les files?
Vous pouvez utiliser la search .
find ./ -type d -execdir chmod 750 {} +
Où 750 est le mode que vous souhaitez appliquer et "./" est le directory que vous searchrez récursivement.
EDIT : Merci à @Gilles et à find (1) , j'ai révisé ceci pour plus de security et de performance.
Dans ce cas particulier, vous pouvez utiliser X
au lieu de x
qui ajoute seulement les bits aux directorys ou aux files qui ont déjà le bit exécutable défini pour un user (ie chmod -R +X my_dir
).
En général (par exemple, si vous voulez rendre tous les directorys lisibles sans affecter les files), vous pouvez utiliser find
avec -type d
ou si vous utilisez zsh (ou bash 4 avec shopt -s globstar
) les deux sans passer le drapeau -R
à chmod
).