O comando find é muito útil no dia-a-dia de profissionais que atuam com Linux e Cyber Security.
Iremos explorar como essa ferramenta pode ser utilizada para localizar arquivos de forma precisa, facilitando a identificação de evidências em investigações e auditorias de segurança. Entre os principais pontos:
- Como configurar buscas refinadas com filtros e expressões regulares.
- A integração do "find" em scripts automatizados para monitorar alterações em sistemas críticos.
- Exemplos práticos de uso para detectar arquivos suspeitos ou modificações não autorizadas.
- A importância dessa abordagem na investigação de incidentes e na prevenção de ataques cibernéticos.
Vamos ao que interessa:
1. Encontrar arquivos pelo Nome:
# find /home/user -name "exemplo.txt"
2. Encontrar arquivos pela Extensão:
# find /var/log -name "*.log"
3. Encontrar arquivos modificados nos últimos 7 dias:
# find /etc -mtime -7
4. Encontrar arquivos modificados há mais de 30 dias:
# find /usr/local -mtime +30
5. Encontrar e deletar arquivos:
# find /tmp -name "pacotes.txt" -delete
6. Encontrar arquivos ou diretórios vazios:
# find /var/www -empty
7. Encontrar arquivos com mais de 100 MB:
# find /home/user/Downloads -size +100M
8. Encontrar arquivos pertencentes a um usuário específico:
# find /home/ -user username
9. Encontrar arquivos com permissões 0644:
# find /etc -perm 0644
10. Encontrar arquivos e executar um comando (Comprimir arquivos de log com Gzip):
# find /var/log -name "*.log" -exec gzip {} \;
11. Encontrar arquivos e executar um comando (Deletar arquivos vazios):
# find /home/user -type f -empty -exec rm {} \;
12. Encontrar arquivos e exibir seus detalhes:
# find /home/user -type f -exec ls -lh {} \;
13. Encontrar arquivos excluindo um diretório específico:
# find / -path "/proc" -prune -o -name "*.conf" -print
14. Encontrar arquivos modificados nos últimos 60 minutos:
# find /var/www -mmin -60
15. Encontrar e fazer backup de arquivos com uma específica extensão:
# find /home/user/imagens -name "*.png" | xargs tar -czvf arquivos.tar.gz
16. Encontrar links simbólicos:
# find /usr/bin -type l
17. Encontrar arquivos pelo número do inode:
# find / -inum 290878
18. Encontrar arquivos e excluir um tipo de arquivo específico:
# find /home/user -not -name "*.txt"
19. Encontrar arquivos com um dono de grupo específico:
# find /var/www -group httpd
20. Encontrar arquivos com um range de tamanho específico (Entre 40 e 90 MB):
# find /var/ -size +40M -size -100M
21. Encontrar e ordenar arquivos pelo tempo de modificação:
# find /var/log -type f -exec ls -lt {} +
22. Encontrar arquivos modificados nas últimas 2 horas:
# find /var/log -mmin -120
23. Encontrar arquivos com um determinado grupo e dono:
# find /home -user aluno -group web
24. Encontrar arquivos com uma determinada permissão:
# find /var/log -perm 600
25. Encontrar arquivos com mais de 1GB e deletá-lo:
# find /var/ -size +1G -exec rm -f {} \;
26. Encontre arquivos e limite a profundidade da pesquisa a 1 nível:
# find /home/user -maxdepth 1 -name "*.txt"
27. Encontre arquivos acessados mais de 90 dias atrás:
# find /var/log -atime +90
28. Encontre arquivos ocultos:
# find /home/user -name ".*"
29. Encontre arquivos criados mais que 1 dia atrás:
# find /home/user -ctime +1
30. Encontre arquivos pelo seu tipo:
# find /dev -type b
31. Encontre arquivos com um permissão específica e exclua:
# find / -perm /a=r -not -perm /a=w
32. Encontre arquivos contendo uma string específica no nome:
# find /home/user -name "*config*"