я можу зробити
auditctl -a always,exit -S all -F pid=1234
Для реєстрації всіх системних викликів, здійснених за допомогою pid 1234 та:
auditctl -a always,exit -S all -F ppid=1234
Для своїх дітей, але як я також охоплюю онуків та їх дітей (теперішнє та майбутнє)?
Я не можу покластися на (e) uid / (e) gid, які змінюються.
(зауважте, що використання strace
також не є варіантом)
трюк, який ви могли б використати (ще раз, я не знаю специфіки аудита, і не можу спробувати на даний момент): вкажіть конкретну змінну оточення під час запуску найвищого батьківського і ревізуйте всі процеси, що мають цю змінну?
—
Олів'є Дулак
@OlivierDulac, певне позначення процесу (який успадковується дітьми) - це одне, що я маю на увазі. Але список ревізійних правил аудиту може збігатися досить тонкий (навіть не sid, pgid ...). Можливо, SELinux, але я не знаю першої речі про SELinux. Можливо, обробляти пробіли імен?
—
Стефан Шазелас
може, найвищий батьків може бути у власній групі процесів? ( en.wikipedia.org/wiki/Process_group )
—
Олів'є Дулак
Я думав, може, запустити свою програму в конкретному контейнері, якщо це варіант для вас. Якщо я правильно розумію цей потік помилки , він повинен працювати з ядром ≥3.13. Крім цього, я не бачу жодного іншого способу, крім SELinux та UID аудиту . Чи буде AUID застосовно до Вашого випадку використання?
—
Жил "ТАК - перестань бути злим"
strace -s
^^, але тоді я побачив, хто питає, і одразу зрозумів, "він це знає вже!") ... Стефане, чи можете ви можливо: 1) скласти список підказок, використовуючи опцію "дерево" ps, 2) запустити auditctl (s) на всіх підписаних на дереві підписах? (тобто, чи можете ви мати кілька "pid = ...."? або кілька auditctl, кожен на один?) або "німий" спосіб: auditctl все, і якась неполадка на "pid | pid | pid", якщо вони відображаються в кожному рядку?) (застереження: Я не маю доступу до ATM Linux, тому я не маю уявлення, як з'являються дані)