删除功能无法删除权限

时间:2020-07-14 22:20:16

标签: linux linux-capabilities

我已经构建了一个C ++二进制文件并在其上调用了setcap cap_net_raw,cap_setpcap+pe,并授予了NET_RAWSET_PCAP功能。我已经通过成功创建socket(AF_PACKET, SOCK_RAW, ...)来验证这些功能存在于二进制文件中。在不调用setcap的情况下,socket函数将返回权限错误。

出于安全原因,我想在获得套接字后放弃NET_RAW功能。这就是为什么我还要设置SET_PCAP功能,以便我可以调用prctl(PR_CAPBSET_DROP, CAP_NET_RAW, ...)的原因。进行此呼叫后,prctl(PR_CAPBSET_READ, CAP_NET_RAW, ...)表示我不再具有NET_RAW权限。 但是,我仍然可以成功致电socket(..., SOCK_RAW, ...)!即使我关闭了现有的原始套接字,以后仍然可以创建一个新的套接字。

我还需要做些其他事情来删除进程的权限来创建新的原始套接字吗?

0 个答案:

没有答案