chmod: define os arquivos para diferentes permissões dos diretórios

2

Está lá fora que eu posso executar chmod para definir as pastas em 0755 e os arquivos em 0644, ou eu tenho que aplicar 0755 para todas as pastas individualmente?

    
por Jess McKenzie 20.07.2012 / 03:58

3 respostas

7

Você pode fazer isso com find , seja por -exec ou por um comando canalizado:

find . -type d -print0 | xargs -0 chmod 0755

ou

find . -type d -exec chmod 0755 {} \;

O -type d processará todos os diretórios. Você também pode executar os mesmos comandos acima com -type f para processar os arquivos (apenas certifique-se de trocar o 0755 por 0644).

    
por 20.07.2012 / 04:02
2

Você pode fazer isso com a permissão "X" do chmod's symbolic mode, que basicamente significa "x, mas somente quando faz sentido":

chmod -R u=rwX,go=rX /path/to/dir

Isto irá automaticamente definir 755 nos diretórios e 644 nos arquivos, exceto que, se algum arquivo já tiver permissões de execução, ele assumirá que é intencional (isto é, são arquivos executáveis) e os configurará para 755 também.

    
por 20.07.2012 / 17:33
1

Pense simples: apenas duas linhas (bash e sem python !!!)

primeiro todos os arquivos (incluindo diretórios): chmod 644 -R *

então, apenas subdiretórios: chmod 755 -R * /

    
por 30.09.2014 / 15:20

Tags