在linux中使用setcap

时间:2011-10-22 15:52:56

标签: linux ubuntu-11.04

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

#setcap cap_net_raw=ep /bin/ping

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

1 个答案:

答案 0 :(得分:22)

这会在“有效”(e)和“允许”(p)功能集中设置CAP_NET_RAW位。这两个集以及“可继承”集管理流程已经或可以设置的功能。

在此处查看更多信息:

capabilities - Linux man page

  

能力集

     

每个线程有三个包含零个或多个的功能集   以上能力:

     

Effective - 内核使用的功能   对线程执行权限检查。

     

Permitted - 功能   线程可以假定(即,一个限制超集)   有效和可继承的集合)。如果一个线程从中删除一个功能   它允许的设置,它永远不会重新获得这种能力(除非它   exec()是一个set-user-ID-root程序。)

     

inheritable - 功能   保持在一个execve(2)。通过fork(2)创建的子进程继承   其父级功能集的副本。请参阅下面的讨论   在exec()期间处理能力。使用capset(2),一个线程   可以操纵自己的功能集,或者,如果它具有CAP_SETPCAP   能力,另一个过程中线程的能力。