Yapabilirim
auditctl -a always,exit -S all -F pid=1234
Pid 1234 ve tarafından yapılan tüm sistem çağrılarını günlüğe kaydetmek için:
auditctl -a always,exit -S all -F ppid=1234
Çocukları için, ama büyük çocukları ve onların çocuklarını da (şimdiki ve gelecek) nasıl ele alacağım?
Değişen (e) uid / (e) gid'e güvenemem.
(kullanmanın strace
da bir seçenek olmadığını unutmayın )
Kullanabileceğiniz bir hile (bir kez daha, denetimin özelliklerini bilmiyorum ya da şu anda deneyebilirim): en üstteki ebeveyn başlatılırken belirli bir ortam değişkeni belirtin ve bu değişken kümesine sahip tüm süreçleri denetleyin?
—
Olivier Dulac
@OlivierDulac, süreci bir şekilde işaretlemek (çocuklar tarafından miras alınan) aklıma gelen bir şey. Ancak denetim kurallarının eşleşebileceği şeylerin listesi oldukça incedir (sid, pgid ... bile değil). Belki SELinux olanlar, ama SELinux hakkında ilk şeyi bilmiyorum. Belki isim alanlarını işlemek?
—
Stéphane Chazelas
belki de en üstteki ebeveyn kendi süreç grubunda olabilir? ( en.wikipedia.org/wiki/Process_group )
—
Olivier Dulac
Belki sizin için bir seçenekse, programınızı belirli bir kapta çalıştırmayı düşündüm. Ben anlıyorsanız bu hata ipliği doğru, bu bir kernel ≥3.13 ile çalışmalıdır. Bunun dışında SELinux ve denetim UID'si dışında bir yöntem göremiyorum . AUID, kullanım durumunuz için geçerli olur mu?
—
Gilles 'SO- şeytan olmayı bırak'
strace -s
^^ ama sonra kimin sorduğunu gördüm ve hemen "zaten biliyor!" belki: 1) ps "ağaç" seçeneğini kullanarak pids listesini oluşturmak, 2) ağaçta listelenen tüm pids üzerinde denetimctl (ler) başlatmak? (yani, birden fazla "pid = ...."? veya birden fazla denetleyici, her biri bir arada olabilir mi?) veya "aptal" yol: her şeyi denetlemek ve "pid | pid | pid" durumunda bir tür egrep her satırda görünüyorlar mı?) (ihtar: Linux atm'ye erişimim yok, bu yüzden infos'un nasıl göründüğü hakkında hiçbir fikrim yok)