Não use o -R
flag com chmod
, o que o torna recursivo (aplicável a todas as pastas e arquivos contidos nos argumentos). Use:
find . -type d -exec chmod 775 {} +
Eu tenho que chmod uma estrutura de subpastas que contêm mais sufolders e também arquivos naturalmente.
Agora preciso alterar os direitos de acesso (owner: group, no acl neste ponto) para essa estrutura completa da mesma maneira. Só quero 775 para pastas, mas 664 para arquivos. Como posso conseguir isso? man chown
parece não dar uma solução, então pensei que um canal de find
e chown
poderia fazer isso.
Meu conhecimento de tubulações é bem básico. Acho que você deu um comando e enviou a saída desse comando pelo segundo comando.
find -type d | chmod -R 775 *
é meu palpite, mas não respeita a saída do meu comando find
. Provavelmente o '*' no comando chown anula a saída de find
um pouco
alguma idéia de como ajustar isso a meu favor?
Não use o -R
flag com chmod
, o que o torna recursivo (aplicável a todas as pastas e arquivos contidos nos argumentos). Use:
find . -type d -exec chmod 775 {} +
Update: Eu interpretei mal, veja @ muru's não use -R Isso pode funcionar:
chmod 775 $(find -type d)
Ela é chamada de substituição de comando