Есть ли способ не наследовать фильтры seccomp дочерним процессам?

#c #seccomp

Вопрос:

итак, давайте предположим, что у меня есть такая простая программа:

 #include <seccomp.h>
#include <unistd.h>
#include <stdlib.h>
#include <stdio.h>

int main(void) {
    scmp_filter_ctx ctx;
    int ret = 0;

    ctx = seccomp_init(SCMP_ACT_ALLOW);
    ret |= seccomp_rule_add(ctx, SCMP_ACT_KILL, SCMP_SYS(write), 0);
    ret |= seccomp_load(ctx);

    if (ret) {
        exit(ret);
    }

    // some more stuff

    execve("/bin/sh", NULL, NULL);
}
 

Можно ли не наследовать ограничение на процесс, созданный execve? (Мы говорим о конфигурации, я больше не хочу называть что-либо связанное с seccomp до вызова execve)

Комментарии:

1. Что произойдет, если вы создадите новый контекст без правил и загрузите его?

2. Я не могу этого сделать. Ограничения должны быть сняты при замене процесса, потому что я не контролирую вызов системного вызова execve

3. контролируете ли вы использование seccomp? Затем попробуйте не использовать seccomp

4. Да, я искал альтернативы. Единственное, что достаточно близко, — это песочница с использованием ptrace.. Другие предложения приветствуются