取消设置可执行文件上的“setcap”附加功能

取消设置可执行文件上的“setcap”附加功能

一个回答对于问题“允许普通用户侦听低于 1024 的端口”,指定使用以下命令给予可执行文件附加权限setcap这样程序就可以绑定到小于 1024 的端口:

setcap 'cap_net_bind_service=+ep' /path/to/program

撤消这些权限的正确方法是什么?

答案1

要从文件中删除功能,请使用该-r标志

setcap -r /path/to/program

这将导致程序没有任何功能。

答案2

@stephen-harris 发布的内容是正确的。但它一次性删除了添加到程序中的所有功能。要删除特定功能,这应该可行(按照问题中的示例):

setcap 'cap_net_bind_service=-ep' /path/to/program

注意“-”号。您可以按如下方式验证可执行文件的功能:

getcap /path/to/program

在 的情况下setcap -r,所有功能都将消失,并且结果getcap将为空,因为 '-ep' 只是删除您用 '+ep' 添加的内容。

当您提供了多种功能并希望有选择地删除它们时,这会派上用场。

相关内容