J'ai une archive, qui est archivée par quelqu'un d'autre, et je veux automatiquement, après l'avoir téléchargée, modifier une branche du système de fichiers dans les fichiers extraits pour obtenir un accès en lecture. (Je ne peux pas changer la façon dont l'archive est créée).
Je me suis penché sur ce fil : chmod : Comment ajouter récursivement des permissions d'exécution seulement aux fichiers qui ont déjà la permission d'exécution ? comme dans d'autres, mais sans succès.
Les répertoires sont originellement fournis avec des drapeaux multiples mais tous faux, ils peuvent apparaître comme :
drwx------
d---r-x---
drwxrwxr-x
dr--r-xr--
Ce ne sont que les quelques exemples que j'ai découverts jusqu'à présent, mais il pourrait y en avoir d'autres.
find
des erreurs lorsqu'il tente de consulter un répertoire sans x
et ne le transmet donc pas à l'utilisateur. chmod
. Ce que j'ai fait jusqu'à présent, c'est changer manuellement les permissions sur le répertoire parent, puis aller dans les répertoires enfants et faire de même pour eux et ainsi de suite. Mais c'est beaucoup de travail manuel. N'y a-t-il pas un moyen de le faire automatiquement ?
C'est-à-dire comment je le fais maintenant :
faire :
$ chmod -R +x
$ chmod -R +r
jusqu'à ce que je n'obtienne aucune erreur, puis
$ find -type f -exec chmod -x {} +
Mais il doit y avoir un meilleur moyen.