Provided by:
manpages-ru_0.98-4_all 
capget, capset - установить/получить возможности процесса
#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);
В Linux 2.2, сила суперпользователя (root) была разделена на список
отдельных возможностей. Каждый процесс имеет список Эффективных
возможностей, которые он может в данный момент использовать. Каждый
процесс также имеет список Унаследованных возможностей, которые могут
быть переданы через execve(2), и список Разрешённых возможностей,
которые он может сделать эффективными или унаследованными.
Две указанные выше функции являются низкоуровневым интерфейсом ядра для
получения и установки данных возможностей. Для Linux не только эти
функции являются специфичными, но и API ядра для изменения и
использования этих функций (в особенности формата типов cap_user_*_t )
также является предментом изменений с каждой новой версией ядра.
Переносимыми являются вызовы cap_set_proc(3) и cap_get_proc(3); если
это возможно, вы должны использовать в приложениях именно их. Если вы
хотите использовать в приложениях расширения Linux, вы можете
использовать более удобные вызовы capsetp(3) и capgetp(3).
В случае успеха возвращается ноль. В случае ошибки возвращается -1 и
значение errno устанавливается соответствующим образом.
EINVAL Один из аргументов недопустим.
EPERM Была сделана попытка добавить возможность, которой нет в списке
Разрешённых к списку Разрешённых, Эффективных или Унаследованных
возможностей.
Переносимые функции для запроса и установки возможностей
предоставляются библиотекой libcap которая доступна по адресу:
ftp://linux.kernel.org/pub/linux/libs/security/linux-privs
capabilities(7)
Перевёл с английского Виктор Вислобоков <corochoone@perm.ru> 2003