Permissão muda para exclusivamente todas as pastas (ou arquivos de extensão)

2

Eu quero alterar as permissões de todas as pastas 777 para 755 e também alterar todos os arquivos 777 php para 644 .

Como posso fazer isso através do shell?

P.S: todos os arquivos e diretórios estão no diretório www .

    
por Mohammad Etemaddar 28.04.2014 / 16:19

2 respostas

5

Você pode alterar as permissões de todas as pastas 777 para 755 usando a pesquisa conforme abaixo.

find /var/www -type d -perm 777 -print -exec chmod 755 {} \;

O comando acima irá alterar todos os diretórios dentro de /var/www para que a permissão seja definida como 755 . Para verificar isso, você pode usar o comando abaixo.

stat -c "%a %n" /var/www/directory-name

Para alterar as permissões de todos os arquivos php, você pode usar o comando abaixo.

find /var/www/some-directory -type f -name "*.php" -perm 777 -print -exec chmod 644 {} \;

Novamente, você pode usar o comando stat para verificar se as permissões foram alteradas. Ou você pode até usar,

ls -ld /var/www/some-directory-name

Tanto stat quanto ls -ld exibirão as permissões octal do arquivo.

    
por 28.04.2014 / 16:29
2

"www" pode estar em qualquer lugar no seu sistema, por isso, seja mais específico da próxima vez.

De qualquer forma, estou supondo que você quis dizer /var/www :

find /var/www -type d -perm 777 -print0 | xargs chmod 755
find /var/www -name "*.php" -perm 777 -print0 | xargs chmod 644

No futuro, consulte man find . É muito poderoso, como você pode reunir.

    
por 28.04.2014 / 16:35