Localizar arquivos com base na permissão

14

Como posso encontrar uma lista de arquivos com algumas permissões específicas?

Eu quero encontrar arquivos de propriedade de root user que tenham rwx permissão para o proprietário.

Existe alguma maneira de encontrar uma lista desses arquivos? Estou usando o Ubuntu 16.04.

    
por Avani badheka 07.01.2017 / 13:52

2 respostas

22

Sim, o GNU find pode fazer isso:

  

-user uname

     
    

O arquivo é de propriedade do usuário uname (ID do usuário numérico permitido).

  
     

-perm -mode

     
    

Todo o modo de bits de permissão é definido para o arquivo. Simbólico               modos são aceitos neste formulário, e este é geralmente o caminho em               que você gostaria de usá-los. Você deve especificar 'u', 'g' ou               'o' se você usar um modo simbólico. Veja a seção EXEMPLOS para               alguns exemplos ilustrativos.

  

Então, você quer:

find /path/to/directory -user root -perm -u+rwx
    
por terdon 07.01.2017 / 13:59
5

Se você quiser encontrar todos os arquivos para os quais um usuário tem permissão (independentemente de ele ser o proprietário (e até mesmo definir via ACL)), é possível usar find com -readable , -writable e -executable .

Para localizar todos os arquivos para os quais o usuário sam possui permissão de leitura

sudo -u sam find /path/to/directory -readable -ls
  • sudo -u sam é necessário porque os três switches mencionados funcionam com as permissões do usuário que invocou find - portanto, é necessário que o sudo execute find como usuário sam .
  • -ls mostra a entrada completa de cada arquivo encontrado

mais exemplos
Para encontrar todos os arquivos para os quais sam tem execute ou write permissions

sudo -u sam find /path/to/directory -writable -or -executable -ls

Para localizar todos os arquivos para os quais sam tem execute e read permissions

sudo -u sam find /path/to/directory -readable -and -executable -ls

gravável não é não escrito incorretamente!

    
por user1721265 07.01.2017 / 16:20