CAPGET(2)

NOME
capget, capset - seleciona/obtém as habilidades do processo

SINOPSE
#undef _POSIX_SOURCE
#include <sys/capability.h>

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);

DESCRIÇÃO
Como pertence ao Linux 2.2, o poder do superusuário foi dividido em um conjunto distinto de habilidades. Cada um dos processos tem um conjunto efetivo de habilidades identificando quais habilidades (se alguma) podem ser usadas atualmente. Cada um dos processos também tem um conjunto hereditário de habilidades que pode ser passado atráves de um execve(2) e um conjunto de habilidades permitidas que ele pode fazer efetivas ou hereditárias.

Estas duas funções são a interface pura do kernel para obtenção e selecionamento de habilidades. Não somente são específicas para o Linux, mas a API do kernel é apta para mudar e usar estas funções (em particular o formanto de tipos cap_user_*_t ) é sujeita a mudanças em cada uma das revisões do kernel.

As interfaces portáveis são cap_set_proc(3) e cap_get_proc(3); se possível você pode usar estas interfaces em aplicações. Se você desejar usar as extensões Linux em aplicações, você precisaria usar as interfaces fáceis de uso capsetp(3) e capgetp(3).

VALORES DE RETORNO
Em caso de sucesso, zero é retornado. Em caso de erro, -1 é retornado, e errno é selecionado apropriadamente.

ERROS

EINVAL
    Um dos argumentos é inválido.

EPERM
    Existiu uma tentativa de fazer adicionar uma habilidae para conjuntos permitidos, ou para selecionar uma habilidade em conjuntos efetivos ou hereditários que não no conjunto permitido.

INFORMAÇÕES ADICIONAIS
A interface portável para interrogação e selecionamento de funções é disponibilizada pela biblioteca libcap que esta disponibilizada a partir de:
ftp://linux.kernel.org/pub/linux/libs/security/linux-privs

TRADUZIDO POR LDP-BR em 21/08/2000.
André L. Fassone Canova <lonelywolf@blv.com.br> (tradução) Fábio Henrique F. Silva <fabiohfs@mail.com> (revisão)