在Linux系统中,一个非特权用户启动了一个程序。创建的进程具有 CAP_NET_RAW,CAP_NET_ADMIN
的能力,并且这些能力的模式是 effective,permitted,inheritable
。
该进程通过调用fork
和execv
来创建一个子进程以调用另一个程序udhcpc,但是子进程并没有如预期继承父进程的 CAP_NET_RAW,CAP_NET_ADMIN
能力。即使在设置能力之前,我已经调用了prctl(PR_SET_KEEPCAPS, 1)
。
有什么建议可以让子进程在fork
后跟随execve
继承非特权父进程的能力吗?