localizar arquivos com ACLs configurados

13

Como posso encontrar todos os arquivos com algumas ACLs estendidas, ou seja, aquelas com pouco + no final dos sinalizadores de permissão mostrados por ls -l .

Não consegui encontrar um sinalizador correspondente para find . Minha abordagem ingênua seria um find combinado com ls -l e grep . Mas eu não acho isso legal.

Alguém tem uma ideia?

    
por Speckinius Flecksis 08.03.2012 / 15:49

3 respostas

10

getfacl pode despejar ACLs recursivamente e tem uma opção --skip-base para ignorar arquivos sem ACLs.

getfacl -R -s -p /directory | sed -n 's/^# file: //p'
    
por 08.03.2012 / 16:14
0

Eu encontrei este pesquisando o oposto; para encontrar arquivos sem conjunto de ACLs. Isto é o que eu acabei com (no caso de algum outro googler encontrá-lo)

ls --color=auto -lR | grep -v "\+ " | grep -v "^[.,a-z,1-9]" | grep -v "^$"

Aparentemente, o ls -R é mais rápido que o find (eu tenho um arquivo kagillion e cada comando find está demorando 2 horas).

    
por 20.08.2013 / 18:10
0

Versão Perl:

getfacl -R -p -s  / | perl -wn -e ' if (/^# file/) { s|^# file: /||; print; }'
    
por 29.07.2017 / 15:52