DOKK / manpages / debian 11 / manpages-pt-dev / capget.2.pt
CAPGET(2) Manual do Programador Linux CAPGET(2)

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

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

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

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

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.

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

André L. Fassone Canova <lonelywolf@blv.com.br> (tradução) Fábio Henrique F. Silva <fabiohfs@mail.com> (revisão)

9/09/1999 Linux 2.2