mogę zrobić
auditctl -a always,exit -S all -F pid=1234
Aby zarejestrować wszystkie wywołania systemowe wykonane przez pid 1234 i:
auditctl -a always,exit -S all -F ppid=1234
Dla swoich dzieci, ale jak mam objąć wnuki i ich dzieci (obecne i przyszłe)?
Nie mogę polegać na (e) uid / (e) gid, które się zmieniają.
(pamiętaj, że używanie również strace
nie jest opcją)
linux
audit
linux-audit
Stéphane Chazelas
źródło
źródło
strace -s
^^, ale potem zobaczyłem, kto pyta i od razu wiedziałem „on już to wie!”) ... Stephane, możesz może: 1) zbudować listę pidów, używając opcji „drzewa” ps, 2) uruchomić audctl (s) na wszystkich pidach wymienionych w drzewie? (tj. czy możesz mieć wiele „pid = ....”? lub wiele auditctl, każdy na jednym?) lub „głupi” sposób: auditctl wszystko, i jakiś egrep na „pid | pid | pid” jeśli pojawiają się w każdej linii?) (zastrzeżenie: nie mam dostępu do bankomatu Linuksa, więc nie mam pojęcia, jak wyglądają informacje)Odpowiedzi:
Po prostu proponuję coś bez możliwości wypróbowania tego teraz ... ale zgaduję na podstawie samego postu
Oto propozycja rozwiązania:
Zakładając, że najwyższy identyfikator procesu znajduje się w $ pid, i to również w Linuksie
ps -T
daje drzewo procesów (w tej chwili nie mam dostępu do linux)Oczywiście zamień
ps -T "$pid"
na ekwiwalent linuksa, jeśli ten nie działa na linuksie (lub znajdź go poprzez przebudzenie wyjścia „pstree -p”, pid będzie między nawiasami)źródło