Execute o Chmod separadamente para arquivos e diretórios
Se você é um usuário Linux, provavelmente já ouviu falar sobre o aplicativo de console chmod. É uma ferramenta útil que permite alterar as permissões do sistema de arquivos usando uma sessão de terminal ou um emulador de terminal. Quando você o executa, ele altera as permissões que você especifica em arquivos e diretórios de uma só vez. Mas pode ser necessário alterar as permissões do arquivo separadamente das permissões do diretório e vice-versa. Veja como isso pode ser feito.
Existem várias maneiras de fazer isso, mas minha forma favorita e mais confiável de fazer isso é combinar chmod com xrags e achar Ferramentas. O comando a seguir modificará as permissões apenas para arquivos.
localizar / caminho / para / localização -tipo f -print0 | xargs -0 chmod 644
Aqui o achar comando lista todos os arquivos no local especificado. A opção -type f diz a ele para listar apenas arquivos e excluir diretórios. A opção -print0 permite o processamento de nomes de arquivos de forma que os nomes de arquivos ou diretórios contendo espaços ou novas linhas sejam tratados corretamente.
Um comando apropriado semelhante pode ser usado para diretórios também. A única parte que você precisa alterar é -tipo f para -tipo d:
find / path / to / location -type d -print0 | xargs -0 chmod 755
Dica: você pode economizar tempo e digitar menos usando este truque.
- Primeiro, aplique as permissões do sistema de arquivos a arquivos e pastas executando chmod no modo recursivo:
chmod -R 644 / caminho / para / localização
Isso aplicará as permissões rw-r-r a todos os arquivos e pastas no local especificado.
- Em seguida, execute o comando apenas para diretórios:
find / path / to / location -type d -print0 | xargs -0 chmod 755
É isso.