3

我想CAP_NET_ADMIN在我的 python 应用程序中为某个子进程设置功能。我尝试了很多这样做,但我没有成功,因为没有可用的示例,这对我来说是可以理解的。

我所做的是prctl.capbset.drop("setgid", prctl.CAP_NET_ADMIN)在创建子进程之前按照建议使用 pip 安装了 python-prctl(1.6.1) 和 prctl(1.0.1) 并实施到我的应用程序中。不过,好像连capbset都认不出来了。

在子进程中,我想使用 scapy 嗅探网络。

4

1 回答 1

1

您尝试做的是删除CAP_NET_ADMIN功能边界集,这不是实现您指定的方法。

相反,您应该inheritable在父流程中设置功能,并在子流程中将它们提升到effective集合,以了解每个功能集看到的内容capabilities(7)Here你有一个关于如何使用的例子python-prctl(不同的场景,但应该给你一个通用的概述)。

您也可以考虑使用此处描述的环境功能。

于 2018-01-03T07:29:10.037 回答