find, Linux'ta dosya ve dizin arama için kullanılan en güçlü araçtır. Bug bounty ve pentest'lerde özellikle dosya keşfi, izin kontrolü ve otomasyon için kullanılır.
# İsme göre ara
find / -name "dosya.txt"
find / -iname "dosya.txt" # Büyük/küçük harf duyarsız
# Type'e göre ara
find / -type f # Dosya
find / -type d # Dizin
find / -type l # Link
# Boyuta göre ara
find / -size +100M # 100MB'den büyük
find / -size -10k # 10KB'den küçük
find / -size 0 # Boş dosyalar
# Zamana göre ara
find / -mtime -7 # Son 7 gün içinde değişen
find / -mtime +30 # 30 günden eski
find / -amin -60 # Son 60 dakika içinde erişilen
# İzinlere göre ara
find / -perm 777
find / -perm -o+w # Others yazabilir
# Sahiplik
find / -user root
find / -group www-data
# Regex ile
find / -regex ".*\.txt$"
# Sil
find / -name "*.tmp" -delete
find / -size 0 -delete
# Çalıştır
find / -name "*.sh" -exec chmod +x {} \;
find / -name "*.log" -exec rm {} \;
# Grep ile
find / -name "*.php" -exec grep -l "password" {} \;
# Xargs ile
find / -name "*.txt" | xargs grep "aranan"
# 30 günden eski logları sil
find /var/log/ -name "*.log" -mtime +30 -delete
# Büyük logları bul
find /var/log/ -name "*.log" -size +100M
# Şifre içeren dosyalar
find / -name "*.conf" -exec grep -l "password" {} \;
# Backup dosyaları
find / -name "*.bak" -o -name "*.backup"
# 777 izinli dosyalar
find / -perm 777 -type f
# Sahipsiz dosyalar
find / -nouser -o -nogroup
find Temel Kullanım
bash# İsme göre ara
find / -name "dosya.txt"
find / -iname "dosya.txt" # Büyük/küçük harf duyarsız
# Type'e göre ara
find / -type f # Dosya
find / -type d # Dizin
find / -type l # Link
# Boyuta göre ara
find / -size +100M # 100MB'den büyük
find / -size -10k # 10KB'den küçük
find / -size 0 # Boş dosyalar
find Gelişmiş Kullanım
bash# Zamana göre ara
find / -mtime -7 # Son 7 gün içinde değişen
find / -mtime +30 # 30 günden eski
find / -amin -60 # Son 60 dakika içinde erişilen
# İzinlere göre ara
find / -perm 777
find / -perm -o+w # Others yazabilir
# Sahiplik
find / -user root
find / -group www-data
# Regex ile
find / -regex ".*\.txt$"
find ile Action
bash# Sil
find / -name "*.tmp" -delete
find / -size 0 -delete
# Çalıştır
find / -name "*.sh" -exec chmod +x {} \;
find / -name "*.log" -exec rm {} \;
# Grep ile
find / -name "*.php" -exec grep -l "password" {} \;
# Xargs ile
find / -name "*.txt" | xargs grep "aranan"
Pratik Kullanım Senaryoları
1. Log Temizleme
bash# 30 günden eski logları sil
find /var/log/ -name "*.log" -mtime +30 -delete
# Büyük logları bul
find /var/log/ -name "*.log" -size +100M
2. Config Dosyaları
bash# Şifre içeren dosyalar
find / -name "*.conf" -exec grep -l "password" {} \;
# Backup dosyaları
find / -name "*.bak" -o -name "*.backup"
3. İzin Kontrolü
bash# 777 izinli dosyalar
find / -perm 777 -type f
# Sahipsiz dosyalar
find / -nouser -o -nogroup
🔒 Bu içeriği görmek için giriş yapın