Eu tenho um arquivo morto, que é arquivado por outra pessoa e quero, automaticamente, após o download, alterar uma ramificação do sistema de arquivos nos arquivos extraídos para obter acesso de leitura. (Não posso alterar como o arquivo morto é criado).
Eu olhei para este segmento: chmod: Como adicionar recursivamente permissões de execução apenas a arquivos que já têm permissão de execução, como em alguns outros, mas sem alegria.
Os diretórios originalmente vêm com vários sinalizadores, mas todos errados, podem aparecer como:
drwx------
d---r-x---
drwxrwxr-x
dr--r-xr--
Esses são apenas os poucos que descobri até agora, mas poderiam ser mais.
find
erros quando tenta procurar em um diretório sem x
permissão e, portanto, não o passa para chmod
. O que tenho feito até agora é alterar manualmente as permissões no diretório pai, depois entrar nos diretórios filhos e fazer o mesmo por eles e assim por diante. Mas isso é muito trabalho manual. Não existe uma maneira de fazer isso automaticamente?
Ou seja, como estou fazendo isso agora:
Faz:
$ chmod -R +x
$ chmod -R +r
até não receber erros, então
$ find -type f -exec chmod -x {} +
Mas deve haver uma maneira melhor.