J'ai une archive, qui est archivée par quelqu'un d'autre, et je souhaite automatiquement, après l'avoir téléchargée, modifier une branche du système de fichiers dans les fichiers extraits pour accéder en lecture. (Je ne peux pas changer la façon dont l'archive est créée).
J'ai examiné ce fil: chmod: comment ajouter récursivement des autorisations d'exécution uniquement aux fichiers qui ont déjà une autorisation d'exécution comme dans d'autres, mais pas de joie.
Les répertoires sont à l'origine livrés avec plusieurs mais tous les mauvais drapeaux, ils peuvent apparaître comme:
drwx------
d---r-x---
drwxrwxr-x
dr--r-xr--
Ce ne sont que quelques-uns que j'ai découvert jusqu'à présent, mais cela pourrait être plus.
find
des erreurs lors d'une tentative de recherche dans un répertoire sans x
autorisation et ne le transmet donc pas chmod
. Ce que j'ai fait jusqu'à présent, c'est modifier manuellement les autorisations sur le répertoire parent, puis aller dans les répertoires enfants et faire la même chose 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 ne reçoive aucune erreur,
$ find -type f -exec chmod -x {} +
Mais il doit y avoir un meilleur moyen.