Usando setcap en linux
ubuntu-11.04 (1)
Para agregar la capacidad de cap_net_raw a (por ejemplo, / bin / ping), usamos lo siguiente:
#setcap cap_net_raw=ep /bin/ping
¿Cuál es el significado de ep y por qué se requiere aquí?
Esto establece el bit CAP_NET_RAW
en los conjuntos de CAP_NET_RAW
"efectiva" (e) y "permitido" (p). Estos dos conjuntos, junto con el conjunto "heredable", gobiernan las capacidades que un proceso tiene o puede establecer.
Ver más aquí:
Capacidades - Página de manual de Linux
Conjuntos de capacidad
Cada hilo tiene tres conjuntos de capacidades que contienen cero o más de las capacidades anteriores:
Effective
: las capacidades utilizadas por el kernel para realizar verificaciones de permisos para el hilo.
Permitted
: las capacidades que el hilo puede asumir (es decir, un superconjunto limitante para los conjuntos efectivos y heredables). Si un subproceso elimina una capacidad de su conjunto permitido, nunca puede volver a adquirir esa capacidad (a menos que exec () sea un programa set-user-ID-root).
inheritable
: las capacidades conservadas en un execve (2). Un hijo creado a través de fork (2) hereda copias de los conjuntos de capacidades de sus padres. Vea a continuación una discusión sobre el tratamiento de las capacidades durante exec (). Usando capset (2), un hilo puede manipular sus propios conjuntos de capacidades o, si tiene la capacidad CAP_SETPCAP, los de un hilo en otro proceso.