find . -type f | xargs ls -l | grep -v rw-r--r--
"encontre todos os arquivos no diretório atual, passe para" ls -l "para listar seus detalhes e verifique a saída de ls para todas as linhas não (a opção -v para grep nega a correspondência) contendo "rw-r - r--" e para diretórios:
find . -type d | xargs ls -l | grep -v drw-r--r--
Se você quiser digitalizar outro diretório, substitua "." com ele, como:
find /path/to/directory -type f | xargs ls -l | grep -v rw-r--r--
e se alguns dos nomes de arquivos / diretórios contiverem espaços, use as opções "use strings delimitadas por 0" em find e xargs para evitar erros:
find . -type f -print0 | xargs -0 ls -l | grep -v rw-r--r--
Além disso, você pode remover a opção -v do grep para encontrar arquivos / diretórios que fazer correspondam, se você quiser listá-los como uma verificação de integridade.
Usar find varrerá subdiretórios também por padrão. Para varrer apenas um diretório e não seus filhos, você poderia apenas enviar a saída de ls -l a grep em vez de usar find e xargs .
Quando você executar chmod , lembre-se de que você pode especificar a opção -v para listar o que ele faz e o que não muda ao realizar a operação - isso pode ser útil para garantir a si mesmo que você deu o comando certo.