Bir kullanıcı oturumuna kilitlenen ve her bir sistem çağrısını o kullanıcıya ait işlemler tarafından izlenen sıfırdan bir çekirdek modülü oluşturmak istiyorum.Sistem izlerini izlemek için çekirdek modülü?
Herkesin ne düşündüğünü biliyorum - "strace kullanın" - ama topladığım verilerle kendi kayıt ve analizlerimden bazılarını almak istiyorum ve strace bazı sorunlar içeriyor - bir uygulama "mmap" özelliğini kullanabilir bir "açık" sistem çağrısının argümanları olarak görünen dosya içerikleri olmadan bir dosyaya yazmak veya herhangi bir yazma izni olmadan bir uygulama hassas verileri kopyalamak için coredumps oluşturabilirsiniz.
Bu özel durumları ele alabilmek ve kendi günlüklerimi gerçekleştirebilmek istiyorum. Yine de merak ediyorum - tüm syscall'ları modülümden nasıl yönlendirebilirim? Çekirdek koduna dokunmadan bunu yapmanın bir yolu var mı?
Teşekkür
'ptrace' syscall'ını kullanmalısınız (aslında' strace' ve 'gdb' tarafından kullanılır). İyi şanslar, biraz ihtiyacın olacak. Ancak muhtemelen herhangi bir çekirdek modülünü kodlamanız gerekmez, sadece 'ptrace' kullanarak büyük bir uygulama geliştirmek için. –