MAN capget 2
Материал из Gentoo Linux Wiki
- Вернуться в раздел мануалов
Содержание |
[править] Имя
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
[править] Смотри также
[править] Перевод
Перевёл с английского Виктор Вислобоков <corochoone@perm.ru> 2003
[править] Комментарии к man файлу
$Id: capget.2,v 1.4 1999/09/09 16:43:26 morgan Exp $
written by Andrew Morgan <morgan@linux.kernel.org>
may be distributed as per GPL
Modified by David A. Wheeler <dwheeler@ida.org>
Дата последней коррекции перевода 12.12.2003
Перевод с английского сделал Виктор Вислобоков <corochoone@perm.ru>
http://www.linuxshare.ru/projects/trans/mans.html
.TP
.B ESRCH
No such process.
.TP
.B EFAULT
Bad memory address.
