Section: Manual del Programador de Linux (2)
Updated: 9 septiembre 1999
Index Return to Main
Contents
capget, capset - consulta/establece las capacidades de un proceso
int capget(cap_user_header_t header, cap_user_data_t data);
int capset(cap_user_header_t header, const cap_user_data_t data);
A partir de la versión 2.2 de Linux, el poder del superusuario (root) se ha dividido en un conjunto de capacidades discretas. Todo proceso posee un conjunto de capacidades efectivas que identifican qué capacidades (si las hay) puede ejercer actualmente. Todo proceso también posee un conjunto de capacidades heredables que se pueden pasar a través de una llamada execve(2), y un conjunto de capacidades permitidas que el proceso puede hacer efectivas o heredables.
Estas dos funciones son las interfaz directa con el núcleo para consultar y establecer capacidades. No sólo estas llamadas al sistema son específicas de Linux sino que el API del núcleo es probable que cambie, y el uso de estas funciones (en particular el formato de los tipos cap_user_*_t) está subjeto a cambios con cada versión del núcleo.
Las interfaces portables son cap_set_proc(3) y cap_get_proc(3). Si es posible, debería usar estas interfaces en sus aplicaciones. Si desea usar las extensiones de Linux en sus aplicaciones, debería utilizar las interfaces capsetp(3) y capgetp(3), que son más fáciles de usar.
En caso de éxito, se devuelve un cero. En caso de error, se devuelve un -1 y se asigna a errno un valor apropiado.
La interfaz portable para las funciones de consulta y
establecimiento de capacidades la proporciona la librería
libcap que está disponible aquí:
ftp://linux.kernel.org/pub/linux/libs/security/linux-privs
This document was created by man2html, using
the manual pages.
Time: 06:16:20 GMT, January 22, 2005