capset

CAPGET(2)                Руководство программиста Linux                CAPGET(2)



ИМЯ
       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



Linux 2.2                          1999-09-09                          CAPGET(2)