ldd
despeja as dependências dos arquivos Elf. Todos os arquivos Elf começam com os bytes \x7F 'E' 'L' 'F'
, que é provavelmente a maneira mais rápida de testá-los. No entanto, não tenho conhecimento de nenhuma opção em find
que leia o conteúdo do arquivo. find
principalmente apenas observa os metadados na listagem de diretórios, como nome de arquivo, bits de modo e assim por diante.
No entanto, para executar um arquivo Elf, ele deve ter seu bit Execute. Se você tem um arquivo Elf sem nenhum bit de execução, ele não pode ser executado, então você provavelmente não se importa com isso. Então, se você está procurando uma maneira rápida de acelerar sua pesquisa, verificar os bits de execução deve ser seguro.
Eu recomendo -perm /555
em vez de -executeable
, porque o primeiro verifica qualquer bit de execução e o segundo verifica se o usuário atual pode executá-lo.
Mas, além de linguagens dinâmicas como o Python, como jofel mencionou, muitos programas em C irão linkar dinamicamente as bibliotecas PAM ( /lib/security/pam_*.so
) e as bibliotecas libc "nss" ( /lib/libnss*.so
). Se você está construindo um chroot ou algo assim, você precisa disso.