Desarmar capacidades adicionales `setcap` en excutable


15

Una respuesta a Linux: permitir que un usuario escuche un puerto por debajo de 1024 especificado, otorgando permisos ejecutables adicionales utilizando setcaptal que el programa pueda vincularse a puertos <1024:

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

¿Cuál es la forma correcta de deshacer estos permisos?

Respuestas:


19

Para eliminar capacidades de un archivo, use la -rbandera

setcap -r /path/to/program

Esto dará como resultado que el programa no tenga capacidades.


Bueno, eso fue mucho más evidente después de volver a leer esa manpágina corta >.>
user2943160

11

Lo que publicó @ stephen-harris es correcto. Pero creo que elimina todas las capacidades agregadas al programa de una sola vez. Para eliminar una capacidad específica, seguir funcionaría (siguiendo el ejemplo en la pregunta)

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

Observe el signo '-'. Puede verificar las capacidades de {efecto de los comandos} sobre un ejecutable de la siguiente manera:

getcap /path/to/program

En el caso de setcap -r, todas las capacidades desaparecerán y el resultado de getcap estará vacío, mientras que '-ep' solo elimina lo que agregó con '+ ep'. Es útil cuando le das múltiples capacidades y quieres eliminarlas selectivamente.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.