在linux中使用setcap

要将cap_net_rawfunction添加到(例如/ bin / ping),我们使用以下内容:

#setcap cap_net_raw=ep /bin/ping 

ep的含义是什么?为什么这里需要?

谢谢。

Solutions Collecting From Web of "在linux中使用setcap"

这会在“有效”(e)和“允许”(p)能力集中设置CAP_NET_RAW位。 这两套以及“可继承”的集合决定着一个过程已经或者可以设定的能力。

在这里看到更多:

功能 – Linux手册页

能力集

每个线程有三个能力集,包含零个或多个上述能力:

Effective – 内核用于执行线程权限检查的功能。

Permitted – 线程可能承担的功能(即有效和可继承集合的限制超集)。 如果一个线程从允许的集合中删除一个能力,它将永远不能重新获得该能力(除非它是一个set-user-ID-root程序)。

inheritable – 跨execve(2)保存的功能。 通过fork(2)创建的子级继承其父级能力集的副本。 有关exec()期间对功能的处理的讨论,请参见下文。 使用capset(2),线程可以操作自己的能力集,或者,如果它具有CAP_SETPCAP能力,则可以操作另一个进程中的线程的能力集。