Pardus Linux’ta file Komutu
TÜBİTAK ULAKBİM tarafından geliştirilen Pardus Linux, açık kaynaklı işletim sistemlerinin sunduğu güçlü komut satırı araçlarını bünyesinde barındırır. Bu araçlardan biri de, sistem yöneticilerinden son kullanıcılara kadar herkesin işini kolaylaştıran file komutudur.
1. file Komutu Nedir?
Windows gibi işletim sistemlerinde bir dosyanın ne tür bir dosya olduğu genellikle uzantısından (örneğin .txt, .exe, .jpg) anlaşılır. Ancak Pardus (ve genel olarak Linux) dünyasında dosya uzantılarının bir önemi yoktur. Bir metin dosyasının adını belge.mp3 yapsanız bile, sistem onun bir metin dosyası olduğunu bilir.
İşte file komutu tam bu noktada devreye girer. Bir dosyanın uzantısına bakmaksızın, o dosyanın gerçekte ne tür bir dosya olduğunu (içeriğini analiz ederek) size söyler.
Nasıl Çalışır?
file komutu, dosyaların içeriğini inceleyerek "sihirli sayılar" (magic numbers) adı verilen özel bayt dizilimlerini arar. Çoğu dosya formatının (PDF, PNG, ZIP vb.) en başında, kendi türünü belirten standart bir imza bulunur. Komut bu imzayı okur ve sistemdeki veritabanıyla karşılaştırarak size doğru sonucu verir.
2. Temel Kullanım
Bir terminal (uçbirim) penceresi açın. En basit kullanımı, file komutunun yanına dosyanın adını yazmaktır:
file dosya_adi
Örnek:
Diyelim ki masaüstünüzde gizli_belge adında, uzantısı olmayan bir dosya var.
pardus@pardus:~$ file gizli_belge
gizli_belge: PDF document, version 1.4
Gördüğünüz gibi, komut dosyanın uzantısı olmamasına rağmen onun bir PDF belgesi olduğunu tespit etti.
3. En Sık Kullanılan Parametreler
file komutunu daha işlevsel hale getiren bazı önemli parametreler (bayraklar) vardır.
A. -i (MIME Türünü Gösterme)
Dosyanın insan tarafından okunabilen açıklaması yerine, standartlaştırılmış MIME türünü (Multipurpose Internet Mail Extensions) ve karakter kodlamasını görmek isterseniz bu parametreyi kullanabilirsiniz. Özellikle betik (script) yazarken veya web sunucusu yapılandırırken çok faydalıdır.
pardus@pardus:~$ file -i resim.jpg
resim.jpg: image/jpeg; charset=binary
B. -b (Kısa Çıktı - Brief)
Normalde file komutu önce dosyanın adını, sonra türünü yazar. Eğer bir betik (bash script) içinde sadece dosya türü bilgisine ihtiyacınız varsa ve dosya adının yazdırılmasını istemiyorsanız -b parametresini kullanabilirsiniz.
pardus@pardus:~$ file -b gizli_belge
PDF document, version 1.4
C. -z (Sıkıştırılmış Dosyaların İçine Bakma)
Bir dosya .gz veya .zip gibi bir formatla sıkıştırılmışsa, standart kullanım size sadece "bu bir arşiv dosyasıdır" der. Ancak -z parametresi, sıkıştırılmış dosyanın içindeki verinin ne olduğunu tahmin etmeye çalışır.
pardus@pardus:~$ file -z arsiv.gz
arsiv.gz: ASCII text (gzipped)
D. * (Toplu Analiz)
Bulunduğunuz dizindeki tüm dosyaların türünü tek seferde görmek isterseniz, joker karakter olan yıldız (*) işaretini kullanabilirsiniz.
pardus@pardus:~$ file *
belge.txt: ASCII text
logo.png: PNG image data, 800 x 600, 8-bit/color RGBA, non-interlaced
script.sh: Bourne-Again shell script, ASCII text executable
Muzik: directory
(Not: Çıktıda bir klasörün bile directory olarak belirtildiğine dikkat edin, çünkü Linux'ta her şey bir dosyadır.)
4. Gerçek Hayattan Bir Senaryo: Güvenlik Analizi
Pardus sisteminize internetten bir resim dosyası indirdiğinizi varsayalım: manzara.jpg. Ancak dosyadan şüpheleniyorsunuz.
Hemen uçbirimi açıp şu komutu veriyorsunuz:
file manzara.jpg
Eğer çıktı şu şekilde gelirse:
manzara.jpg: ELF 64-bit LSB executable...
Bu, dosyanın aslında bir resim değil, çalıştırılabilir bir program (bir yazılım veya potansiyel olarak zararlı bir betik) olduğu anlamına gelir. file komutu sizi uzantı hilesine düşmekten kurtarmış oldu.
Özet
Pardus Linux üzerinde file komutu:
Dosyaların uzantısına aldanmaz, gerçek kimliklerini ortaya çıkarır.
Sorun giderme, sistem yönetimi ve güvenlik analizi süreçlerinde kritik bir araçtır.
Betik yazımında MIME türü tespiti için
-iparametresiyle büyük kolaylık sağlar.
Başka bir Linux veya Pardus komutu hakkında daha fazla bilgi almak isterseniz sormanız yeterli! Öğrenme sürecinizde size rehberlik etmekten memnuniyet duyarım. Hangi konularda kendinizi geliştirmeyi hedefliyorsunuz?
file Komutu Nedir?
Linux sistemlerinde dosyaların uzantıları her zaman gerçek türünü göstermez.
Örneğin:
resim.jpgaslında bir metin dosyası olabilir.Zararlı bir yazılım kendini
.pdfgibi gösterebilir.Bir dosyanın çalıştırılabilir mi, sıkıştırılmış mı, metin mi olduğunu anlamak gerekebilir.
İşte bu noktada file komutu kullanılır.
file komutu bir dosyanın içeriğini analiz ederek gerçek dosya türünü tespit eder.
Pardus Linux’ta sistem yöneticileri, geliştiriciler ve siber güvenlik uzmanları tarafından sık kullanılır.
Temel Kullanım
file dosya_adi
Örnek:
file belge.txt
Çıktı:
belge.txt: UTF-8 Unicode text
Bu çıktı dosyanın bir Unicode metin dosyası olduğunu gösterir.
file Komutu Nasıl Çalışır?
file komutu dosyanın:
İçeriğini
Binary yapısını
Magic number değerlerini
Header bilgilerini
inceleyerek tür belirler.
Bu yöntem dosya uzantısından çok daha güvenlidir.
En Çok Kullanılan Örnekler
1. Metin Dosyasını Tanıma
file notlar.txt
Çıktı:
notlar.txt: ASCII text
2. Görsel Dosyasını Tanıma
file fotograf.png
Çıktı:
fotograf.png: PNG image data, 1920 x 1080
3. PDF Dosyasını Kontrol Etme
file kitap.pdf
Çıktı:
kitap.pdf: PDF document, version 1.7
4. Çalıştırılabilir Dosyayı Tanıma
file program
Çıktı:
program: ELF 64-bit executable
Bu dosyanın Linux çalıştırılabilir dosyası olduğunu gösterir.
5. Sıkıştırılmış Dosyayı Tanıma
file arsiv.zip
Çıktı:
arsiv.zip: Zip archive data
Birden Fazla Dosyayı İnceleme
file *.txt
Tüm .txt dosyalarını analiz eder.
Örnek:
not1.txt: ASCII text
not2.txt: UTF-8 Unicode text
Gizli veya Şüpheli Dosyaları İnceleme
Siber güvenlikte çok önemlidir.
Örneğin:
file fatura.pdf
Çıktı:
fatura.pdf: PE32 executable
Bu durumda dosya aslında PDF değil Windows çalıştırılabilir dosyasıdır.
Bu yöntem:
Zararlı yazılım analizinde
Oltalama saldırılarında
Sahte dosya tespitinde
çok kullanılır.
Önemli Parametreler
-i → MIME Türünü Gösterir
file -i resim.png
Çıktı:
resim.png: image/png; charset=binary
Web sistemlerinde faydalıdır.
-b → Dosya Adını Gizler
file -b belge.txt
Çıktı:
ASCII text
Sadece tür bilgisi gösterilir.
-z → Sıkıştırılmış Dosyaları İnceler
file -z arsiv.gz
Sıkıştırılmış içeriği analiz etmeye çalışır.
-f → Liste Halindeki Dosyaları Okur
Önce liste oluştur:
nano liste.txt
İçerik:
dosya1
dosya2
dosya3
Sonra:
file -f liste.txt
Siber Güvenlikte Kullanımı
file komutu:
Malware analizi
Adli bilişim
Zararlı dosya inceleme
Şüpheli e-posta eki kontrolü
Reverse engineering
alanlarında temel araçlardan biridir.
file komutu siber güvenlik dünyasında en temel analiz araçlarından biridir.
Çünkü saldırganlar çoğu zaman zararlı dosyaları masum görünmesi için farklı uzantılarla gizlerler.
Örneğin:
rapor.pdf
fatura.docx
resim.jpg
gibi görünen dosyalar aslında:
Zararlı yazılım
Çalıştırılabilir dosya
Script
Backdoor
Trojan
olabilir.
file komutu dosyanın uzantısına değil içeriğine baktığı için gerçek türü ortaya çıkarır.
Neden Önemlidir?
Siber güvenlikte dosyanın gerçek türünü bilmek kritik öneme sahiptir.
Çünkü:
Sahte dosyalar tespit edilir
Malware analizine başlanır
Şüpheli dosyalar doğrulanır
Sosyal mühendislik saldırıları anlaşılır
Zararlı e-posta ekleri incelenir
Zararlı Yazılım Analizinde Kullanımı
Bir malware örneği elde edildiğinde ilk yapılan işlemlerden biri:
file supheli_dosya
komutudur.
Örnek:
supheli_dosya: PE32 executable
Bu çıktı:
Dosyanın Windows çalıştırılabilir dosyası olduğunu
Muhtemelen EXE tabanlı malware içerdiğini
gösterebilir.
Oltalama (Phishing) Saldırılarında Önemi
Saldırganlar kullanıcıyı kandırmak için dosya uzantılarını gizler.
Örnek:
maas_listesi.pdf.exe
Windows bazı durumlarda son uzantıyı gizleyebilir.
Kullanıcı bunu PDF sanabilir.
Linux üzerinde:
file maas_listesi.pdf.exe
çıktısı gerçek dosya türünü gösterir.
Bu nedenle SOC ekipleri ve güvenlik analistleri file komutunu sık kullanır.
Adli Bilişimde Kullanımı
Dijital delil incelemelerinde:
Disk imajları
Şüpheli dosyalar
USB bellekler
E-posta ekleri
analiz edilir.
file komutu sayesinde:
Gizlenmiş içerikler
Yanlış uzantılar
Binary dosyalar
Script türleri
tespit edilir.
Reverse Engineering Sürecindeki Rolü
Tersine mühendislikte ilk adımlardan biri dosyanın ne olduğunu anlamaktır.
Örneğin:
file malware.bin
çıktısı şunları gösterebilir:
ELF executable
Python script
Shell script
Shared object
ARM binary
Bu bilgi analiz yöntemini belirler.
Linux Sistem Güvenliğinde Kullanımı
Sistem yöneticileri:
Şüpheli çalışan dosyaları
İzinleri değişmiş binary’leri
Beklenmeyen scriptleri
incelemek için kullanır.
Örneğin:
find /tmp -type f -exec file {} \;
Bu komut /tmp altındaki tüm dosyaların türünü analiz eder.
Zararlı Script Tespiti
Bazı saldırganlar:
Bash script
Python malware
Perl backdoor
dosyalarını sahte uzantılarla gizler.
Örneğin:
fotograf.jpg
gerçekte:
Bourne-Again shell script
olabilir.
SOC ve SIEM Ortamlarında Kullanımı
Güvenlik operasyon merkezlerinde:
Şüpheli dosya otomasyonu
IOC analizi
Sandbox süreçleri
içinde file komutu sıkça kullanılır.
Otomatik sistemler dosya tipini belirleyip farklı analiz süreçlerine yönlendirir.
Diğer Siber Güvenlik Araçlarıyla Kullanımı
file komutu genellikle şu araçlarla birlikte kullanılır:
| Araç | Amaç |
|---|---|
strings | Binary içindeki yazıları görmek |
hexdump | Hex analiz yapmak |
xxd | Binary incelemek |
binwalk | Firmware analizi |
exiftool | Metadata incelemek |
clamscan | Zararlı taraması |
yara | Malware imza tespiti |
Gerçek Hayat Senaryosu
Bir kullanıcı e-postadan şu dosyayı indiriyor:
odeme_bilgisi.pdf
Şüphelenip kontrol ediyorsunuz:
file odeme_bilgisi.pdf
Çıktı:
PE32 executable (GUI) Intel 80386
Bu durumda dosya aslında:
Windows EXE dosyasıdır
Büyük ihtimalle trojan içerir
Fidye yazılımı olabilir
Bu basit kontrol ciddi bir saldırıyı önleyebilir.
Siber Güvenlik Açısından Avantajları
✅ Çok hızlı çalışır
✅ Dosya uzantısına aldanmaz
✅ Malware analizinde ilk adımdır
✅ Adli bilişim için kritiktir
✅ Linux sistem güvenliğinde çok kullanılır
✅ Sosyal mühendislik saldırılarını tespit etmeye yardımcı olur
Sonuç
file komutu küçük görünmesine rağmen siber güvenlikte son derece güçlü bir araçtır.
Özellikle:
Malware analizi
Adli bilişim
Oltalama saldırıları
Zararlı e-posta ekleri
Reverse engineering
Sistem güvenliği
alanlarında vazgeçilmezdir.
Siber güvenlik öğrenen herkesin ilk öğrenmesi gereken Linux araçlarından biridir.
Diğer Yararlı Komutlarla Birlikte Kullanım
ls
ls -lh
Dosya boyutu ve izinlerini gösterir.
stat
stat dosya.txt
Detaylı metadata verir.
strings
strings program
Binary dosya içindeki okunabilir metinleri gösterir.
hexdump
hexdump -C dosya.bin | head
Hex görünümü sağlar.
Gerçek Hayat Senaryosu
Bir e-posta eki geldi:
maas_bilgisi.pdf
Şüpheli görünüyor.
Kontrol edelim:
file maas_bilgisi.pdf
Çıktı:
PE32 executable
Bu dosyanın aslında Windows zararlı yazılımı olabileceğini gösterir.
file Komutunun Kurulu Olup Olmadığını Kontrol Etme
which file
Pardus’ta Kurulum
Genellikle hazır gelir.
Yüklü değilse:
sudo apt update
sudo apt install file
Yardım Menüsü
man file
veya:
file --help
Avantajları
✅ Hızlıdır
✅ Güvenlidir
✅ Dosya uzantısına bağlı değildir
✅ Siber güvenlikte çok değerlidir
✅ Sistem yöneticileri için temel araçtır
Dezavantajları
❌ Çok özel formatları her zaman tanıyamayabilir
❌ Bozuk dosyalarda yanlış sonuç verebilir
❌ Şifrelenmiş içerikleri analiz edemez
Özet
file komutu Linux dünyasının en önemli analiz araçlarından biridir.
Özellikle:
Sistem yönetimi
Siber güvenlik
Adli bilişim
Yazılım geliştirme
alanlarında temel bilgi sağlar.
Pardus kullanıcılarının mutlaka öğrenmesi gereken komutlardan biridir.
file komutunun siber güvenlikteki yeri gerçekten çok önemlidir. Zararlı yazılım analistleri (malware analysts), olay müdahale ekipleri (incident responders) ve sistem yöneticileri için adeta bir "ilk bakış" aracıdır. Neden bu kadar kritik olduğunu detaylandıralım:
Siber Güvenlikte file Komutunun Yeri ve Önemi
Siber saldırganlar, zararlı yazılımlarını gizlemek için sıklıkla dosya uzantılarını manipüle ederler. Bir kullanıcıyı, zararsız görünen bir dosyayı çalıştırmaya ikna etmek (sosyal mühendislik), en yaygın saldırı vektörlerinden biridir. İşte file komutu, bu aldatmacayı saniyeler içinde bozan bir dedektif gibi çalışır.
1. Uzantı Sahtekarlığını (Extension Spoofing) Tespit Etme
Saldırganlar, çalıştırılabilir bir zararlı dosyayı (örneğin .exe, .elf, .sh) masum bir belge veya resim gibi göstermeye çalışır.
Senaryo: E-posta ekinizde
fatura.pdfadında bir dosya var.Tehlike: Bu aslında bir çalıştırılabilir dosya olabilir. Windows'ta ikonlar değiştirilebilir veya çift uzantı (
fatura.pdf.exe) kullanılabilir. Linux'ta ise uzantının zaten önemi yoktur.Çözüm:
file fatura.pdfyazdığınızda dönen sonuçPDF documentise sorun yok denebilir (yine de içinde zararlı bir makro veya istismar kodu barındırabilir). Ancak sonuçPE32 executable (GUI) Intel 80386, for MS WindowsveyaELF 64-bit LSB executableise, o dosyanın kesinlikle bir PDF olmadığını ve açılmaması gerektiğini anlarsınız.
2. Kötü Amaçlı Yazılım (Malware) Analizinde İlk Adım
Bir güvenlik uzmanı şüpheli bir dosyayı analiz etmeye başladığında, ilk öğrenmesi gereken şey o dosyanın hangi formatta olduğu ve hangi mimaride (32-bit, 64-bit, ARM, x86 vb.) çalışmak üzere derlendiğidir.
filekomutu bu bilgiyi anında verir. Uzman, analizi nasıl sürdüreceğine (örneğin hangi tersine mühendislik aracını veya hata ayıklayıcıyı kullanacağına) bu sonuca göre karar verir.
3. Gizlenmiş Verileri (Steganografi / Arşivler) Tespit Etme
Bazen zararlı kodlar başka dosyaların içine saklanabilir.
Bir saldırgan, zararlı bir betiği çalıştıran bir
bashbetiğini.jpguzantısıyla sisteme yükleyebilir.filekomutu, o resmin aslında birBourne-Again shell scriptolduğunu ortaya çıkarır.Ayrıca
-zparametresi ile sıkıştırılmış dosyaların (zip, tar, gz) içine bakılarak, arşivi açmadan içindeki verinin ne olduğu hakkında fikir sahibi olunabilir.
4. Forensics (Adli Bilişim) Süreçleri
Bir siber olay gerçekleştiğinde, sistemde bırakılan izler incelenir. Saldırganlar izlerini silmek için log dosyalarının isimlerini değiştirebilir veya silebilir. file komutu, kurtarılan veya ismi değiştirilmiş dosyaların orijinal türlerini tespit ederek adli bilişim uzmanlarına yön gösterir.
Özetle;
file komutu siber güvenlikte "Güvenme, Doğrula" (Zero Trust) yaklaşımının en temel ve en pratik araçlarından biridir. Karmaşık analiz araçlarına geçmeden önce, bir dosyanın "kimliğini" sorgulamanın en hızlı yoludur.
Yorumlar