find + como verificar se todos os arquivos e pastas estão com grupos e hdfs do proprietário: hadoop

1

queremos verificar se todos os arquivos e pastas em / hadoop / hdfs estão com permissões - hdfs: hadoop

é possível fazer este teste com o comando find?

no caso de encontrar arquivos de captura / pasta que não tem essas permissões, em seguida, encontrar imprimirá esses arquivos / pastas

    
por yael 22.04.2018 / 10:48

2 respostas

3

Você pode listar todas as entradas em /hadoop/hdfs que não pertencem ao usuário hdfs e grupo hadoop com

find /hadoop/hdfs ! '(' -user hdfs -group hadoop ')' -ls

O -ls no final listará os nomes de caminho encontrados em um formato que é remanescente da saída de ls -l .

    
por 22.04.2018 / 12:24
2

Sim, isso é possível usando find com os argumentos -user e -group . Por exemplo, find /path/to/your/directory/* -user uname -group gname lista todos os arquivos (pastas também são apenas arquivos) no diretório especificado, que possuem a propriedade de usuário e grupo especificada. Talvez você também queira usar o argumento -type para limitar seus resultados a apenas determinados tipos de arquivos, consulte man find para obter uma lista de tipos conhecidos, se precisar.

No entanto, se você quiser apenas garantir que todos os arquivos e pastas tenham a propriedade correta, uma solução mais fácil seria substituir todas as permissões existentes, qualquer que seja, usando chown sem primeiro verificar as permissões antigas. mas depende do seu caso de uso, se isso for tolerável. Por exemplo, você poderia apenas cd em seu diretório de escolha e percorrer este e todos os subdiretórios usando chwon -R uname:gname . Concedido que você tem as permissões, cada arquivo (leia-se: todos os arquivos e pastas) terá a propriedade do usuário e do grupo especificada posteriormente.

    
por 22.04.2018 / 11:37