Você precisa perguntar a root
para obter a lista de arquivos (para aqueles que estão abaixo dos diretórios que você pode acessar, mas não ler) e verificar os direitos:
sudo find "$dir" -print0|perl -Mfiletest=access -l -0ne'++$n if-r&&-w}{print+$n'
Se você não se importa com arquivos que estão abaixo de diretórios não legíveis (mas você ainda pode ler e escrever), com GNU find
:
find "$dir" -writable -readable -printf . | wc -c
Note que ambas as permissões acesso (de todos os tipos de arquivos, incluindo diretórios), não são apenas baseadas em permissões. Ele deve fornecer o número de arquivos que você abriria com sucesso no modo de leitura + gravação (sem criação). Por exemplo, para links simbólicos para os quais as permissões são rwxrwxrwx, ele apenas relata aqueles que apontam para um arquivo no qual você tenha permissão de leitura e gravação.