Como pular um diretório quando estou configurando permissões usando o find?

0

Eu tenho um diretório /sources e dentro dele está o diretório .idea que pertence aos projetos phpStorm. O diretório /sources é montado como VOLUME em um contêiner do Docker ( ~/sources:/var/www ). Eu tenho um script em execução no início do contêiner que está configurando algumas permissões da seguinte forma:

chown -R www-data:www-data /var/www/sources && find /var/www/sources -type d -print0 | xargs -0
chmod 2775 && find /var/www/sources -type f -print0 | xargs -0 chmod 0664

E essas permissões vão também para .idea , o que faz com que o phpStorm não tenha acesso à pasta e, portanto, não seja capaz de escrever lá.

Could not save project: Unable to save project files. Please ensure project files are writable and you have permissions to modify them.

Eu li algumas postagens:

Mas a solução é ligeiramente diferente da minha. Como faço para pular o diretório .idea usando a instrução acima?

    
por ReynierPM 12.12.2016 / 21:58

1 resposta

1

Se você quiser excluir o diretório /var/www/sources/.idea e tudo nele:

find /var/www/sources -type d -not -path '/var/www/sources/.idea*' -exec chmod 0755 {} +
find /var/www/sources -type f -not -path '/var/www/sources/.idea*' -exec chmod 0644 {} +
    
por 12.12.2016 / 22:16