Desabilite os recursos adicionais do `setcap` no executável

15

Uma resposta para o Linux: permitir que um usuário ouça uma porta abaixo de 1024 especificada, fornecendo permissões adicionais executáveis ​​usando de setcapforma que o programa possa vincular-se a portas <1024:

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

Qual é a maneira correta de desfazer essas permissões?

user2943160
fonte

Respostas:

19

Para remover recursos de um arquivo, use o -rsinalizador

setcap -r /path/to/program

Isso resultará no programa sem recursos.

Stephen Harris
fonte
Bem, isso era muito mais evidente após re-leitura que curto manpágina>>.
user2943160
11

O que @ stephen-harris postou é certo. Mas acredito que ele remove todos os recursos adicionados ao programa de uma só vez. Para remover um recurso específico, o seguinte funcionaria (seguindo o exemplo na pergunta)

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

Observe o sinal '-'. Você pode verificar os recursos do {efeito dos comandos} sobre um executável da seguinte maneira:

getcap /path/to/program

No caso de setcap -r, todos os recursos desaparecerão e o resultado do getcap ficará vazio, onde o '-ep' apenas remove o que você adicionou com '+ ep'. É útil quando você fornece vários recursos e deseja removê-los seletivamente.

Arun GK
fonte