صاحب الموضوع
#1
lsof ile kullanıcıya göre açık dosyalar
[lsof] komut satırını kullanarak hangi kullanıcının hangi dosyaları veya ağ bağlantılarını açtığını hızlıca görmek, sistem yönetimi ve güvenlik için sık karşılaşılan bir ihtiyaçtır. Bu yazıda, temel ve pratik kullanımlarıyla kullanıcıya göre açık dosyaları nasıl filtreleyeceğinizi adım adım ele alacağım, yüzeysel filtrelerden kaçınarak, gerçek dünyadaki senaryolara odaklanacağım.
Neden kullanıcı bazlı filtreleme gerekir?
[list]Temel kullanım: Bir kullanıcının açık dosyalarını listeler
Bu komut, belirtilen kullanıcının süreçleri tarafından açılan tüm dosyaları, soketler ve ağ bağlantıları dahil olmak üzere gösterir. Çıktı, PID, kullanıcı, dosya tipleri, dosya yolları ve açık olan işlemlerin durumunu içerir.
Belirli bir klasördeki açık dosyalar
Kullanıcının belirli bir dizin altında hangi dosyaları açtığını daraltır. Büyük dizinlerde performans kaygısı olabilir; o yüzden gerekirse yeniden yönlendirme ile daha dar bir yol kullanmak daha verimlidir.
Ağ bağlantıları ve dosyalarla ilgili ayrıntı
Bu varyant, kullanıcının sahip olduğu ağ bağlantıları ile ilgili bilgiler verir. Hangi portlar üzerinde dinlediği veya bağlandığı gibi ayrıntılar hızlıca görünür.
Belirli dosya tipi veya durumuna göre filtreleme
Çıktıyı daha yönetilebilir kılmak
REG, DEL, DIR gibi dosya türleriyle ilgili özet bilgi almak için çıktı üzerinde basit filtreler uygulanabilir.
Dikkat edilmesi gereken noktalar
Bu konuya dair kendi üretim senaryolarınız veya karşılaştığınız özel durumlar varsa paylaşabilir misiniz? Hangi filtrelemeler sizin için en yararlı oluyor, ve lsof dışında hangi araçlarla destekliyorsunuz?
[lsof] komut satırını kullanarak hangi kullanıcının hangi dosyaları veya ağ bağlantılarını açtığını hızlıca görmek, sistem yönetimi ve güvenlik için sık karşılaşılan bir ihtiyaçtır. Bu yazıda, temel ve pratik kullanımlarıyla kullanıcıya göre açık dosyaları nasıl filtreleyeceğinizi adım adım ele alacağım, yüzeysel filtrelerden kaçınarak, gerçek dünyadaki senaryolara odaklanacağım.
Neden kullanıcı bazlı filtreleme gerekir?
- Çok kullanıcılı bir sunucuda hangi kullanıcıların hangi kaynakları kullandığını belirlemek.
- Şu anda hangi dosyaların kilitli veya erişim beklediğini tespit etmek.
- Güvenlik için kötücül süreçlerin hangi kullanıcı hesabıyla çalıştığını doğrulamak.
[list]
كود
1lsof -u kullanici_adiBu komut, belirtilen kullanıcının süreçleri tarafından açılan tüm dosyaları, soketler ve ağ bağlantıları dahil olmak üzere gösterir. Çıktı, PID, kullanıcı, dosya tipleri, dosya yolları ve açık olan işlemlerin durumunu içerir.
كود
1lsof -u kullanici_adi +D /var/logKullanıcının belirli bir dizin altında hangi dosyaları açtığını daraltır. Büyük dizinlerde performans kaygısı olabilir; o yüzden gerekirse yeniden yönlendirme ile daha dar bir yol kullanmak daha verimlidir.
كود
1lsof -u kullanici_adi -iBu varyant, kullanıcının sahip olduğu ağ bağlantıları ile ilgili bilgiler verir. Hangi portlar üzerinde dinlediği veya bağlandığı gibi ayrıntılar hızlıca görünür.
كود
1lsof -u kullanici_adi -a -d 0-1024- -a birleşik filtre anlamına gelir, -d dosya descriptor aralığını sınırlar. Örneğin 0-1024 arası descriptor’lar hızlıca taranır.
كود
1lsof -u kullanici_adi | grep -E 'REG|DEL|DIR'REG, DEL, DIR gibi dosya türleriyle ilgili özet bilgi almak için çıktı üzerinde basit filtreler uygulanabilir.
Dikkat edilmesi gereken noktalar
- lsof bazı sistemlerde kök yetkisi gerektirebilir; özellikle tüm kullanıcılar için kapsamlı bir liste almak istiyorsanız sudo kullanın.
- Büyük sistemlerde tüm kullanıcılar için tarama her zaman hızlı olmayabilir; ihtiyaca göre -u, -i veya dizin tabanlı filtrelerle hedef odaklı yürütmek performansı artırır.
- Güvenlik açısından, çıktıyı paylaşılan ortamlarda dikkatli şekilde ele alın; kullanıcı başına hangi dosyaların açık olduğunu bilmek, hassas verileri doğrudan gösterebilir.
Bu konuya dair kendi üretim senaryolarınız veya karşılaştığınız özel durumlar varsa paylaşabilir misiniz? Hangi filtrelemeler sizin için en yararlı oluyor, ve lsof dışında hangi araçlarla destekliyorsunuz?
