Baba! Akü Yok! Linux’ta Kaputun Altına Bakmak

Vizontele filminden hatırlayacağınız bir sahne:

  • Araba çalışmıyor
    Baba! Akü yok!
  • Şarzı(!) mı bitmiş? Tabi! Farları açık bırakırsanız olur böyle
    (Sinem’e teşekkür ederim)
  • Baba! Akü komple yok! Çalmışlar!
    Kaputu açmışlar bir de aküyü çalmışlar. Kaputu açtınız bari aküyü çalmayın. Aküyü çalmamış olsalar yani…

Ağırlıklı olarak Windows işletim sisteminin kullanıldığı ağlarda çeşitli nedenlerle birkaç Linux sunucunun var olduğunu sıkça görüyoruz. Windows dünyasına hakim olan ve günlük işlerini Windows ile yürüten pek çok kişi için bu sistemler “çalışıyorsa dokunma” statüsüne sahiptir.

Bazı önemli kurumlarda ise, antivirüs firmalarının da yönlendirmesiyle bu sistemlere antivirüs kurulmasına gerek olmadığına karar verilmiştir. Böyle hakim olmadığımız önemli sistemleri tamamen savunmasız bırakmış oluyoruz. Geçtiğimiz hafta bir antivirüs firmasının çalışanı (bayi falan değil, Türkiye ofisleri) bir müşterime “Linux sunucularda virüs olmuyor, boşuna kurmakla uğraşmayın” dedi mesela.

Sizde de durum böyleyse Linuxlarda neler olup bittiğini görmenizi ve bazı anormallikleri tespit etmenizi de sağlayabilecek bazı basit komutları paylaşmak istiyorum.

  1. ps: Sistem üzerinde çalışan prosesleri listeler. Neden çalıştığını bilmediğiniz proseslere yakından bakmanızda fayda olabilir.

  1. ps –f: prosesler hakkında daha fazla bilgi elde edebilirsiniz.

  1. ps -u: root yetkileriyle çalışabilen prosesleri gösterecektir. Burada root yetkilerine sahip ama buna ihtiyacı olmayan veya neden çalıştığından emin olmadığınız proseslere yakından bakmakta fayda olabilir.

  1. ps  –forest
    Proseslerin birbiriyle olan ilişkilerini gösterir. Bu durumda ilgisiz bir yerden çalıştırılmış SSH prosesi veya SSH ile çalıştırılmış başka bir komut gibi anormaliklere bakmak gerekebilir.

Bu komutu kullanırken tek bir proses belirterek sadece ilgili ağaç yapısının görüntülenmesini sağlayabilirsiniz.

  1. ps -eo pid,ppid,user,cmd: ps sonucunda belli bazı sütunların gösterilmesini sağlayabilirsiniz. Bu örnekte proses ID (PID), parent proses ID (PPID), kullanıcısı ve komut gösteriliyor

  1. ps -p 1 -o pid,ppid,user,lstart,etime: belirli bir prosesin (burada PID 1) PID, PPID, kullanıcısı, başlama tarihi ve bitiş tarihleri görüntülenebilir. Bu örnekte proses hala çalıştığı için geçen süreyi gösteriyor.

  1. ps -C bash -o pid= : (sonunda = var) bir prosesin çalışan bütün PIDlerini görüntüleyebilirsiniz (bu örnekte 2 farklı pencerede BASH açık)