Spec-Zone .ru
спецификации, руководства, описания, API
Spec-Zone .ru
спецификации, руководства, описания, API
Библиотека разработчика Mac Разработчик
Поиск

 

Эта страница руководства является частью версии 5.0 Инструментов XCode

Получить эти инструменты:

Если Вы выполняете версию Инструментов XCode кроме 5,0, просматриваете документацию локально:

Читать страницы руководства

Страницы руководства предназначаются как справочник для людей, уже понимающих технологию.

  • Чтобы изучить, как руководство организовано или узнать о синтаксисе команды, прочитайте страницу руководства для страниц справочника (5).

  • Для получения дополнительной информации об этой технологии, ищите другую документацию в Библиотеке Разработчика Apple.

  • Для получения общей информации о записи сценариев оболочки, считайте Shell, Пишущий сценарий Учебника для начинающих.




MBR_CHECK_MEMBERSHIP(3)  BSD Library Functions Manual  MBR_CHECK_MEMBERSHIP(3)

NAME
     mbr_check_membership, mbr_check_service_membership -- check whether a user is a member of a group or
     service ACL

SYNOPSIS
     #include <membership.h>

     int
     mbr_check_membership(uuid_t user, uuid_t group, int *ismember);

     int
     mbr_check_service_membership(uuid_t user, const char *service, int *ismember);

DESCRIPTION
     mbr_check_membership() tests if a given user is a member of a group (either direct or indirect via a
     nested group).  ismember is set to 1 if the user is a member or 0 if not a member of the group.
     mbr_check_service_membership() similarly tests if a given user is a member of a service ACL group.
     Service ACLs are special groups defined with the prefix "com.apple.access_".  The service is then pre-fixed prefixed
     fixed (e.g., "afp" would check "com.apple.access_afp").  There is a special group that grants accessto
     all services called "com.apple.access_all_services".

     Users may belong to any number of groups.  mbr_check_membership() should always be used to check group
     membership, rather than calling getgroups(2) or getgrouplist(2).  The setgroups(2) and getgroups(2)
     routines are limited to a fixed number of gids, and so may not include all of a user's groups.

     There are two special cases.  If the two uuids are equal, then ismember is set to 1.  If the group uuid
     is equal to the reserved "everyone" uuid (ABCDEFAB-CDEF-ABCD-EFAB-CDEF0000000C), then ismember will be
     set to 1 for any valid user.

     Group membership information is managed by opendirectoryd(8).

RETURN VALUES
     mbr_check_membership() does not test whether group exists or not.  Querying membership for a nonexis-tent nonexistent
     tent group will result in ismember being set to 0.  The function returns 0 on success or one of the
     following error codes on failure:

     [EIO]              Communication with openditectoryd(8) failed.

     [ENOENT]           user can not be found.

     mbr_check_service_membership() is identical to mbr_check_membership() except that ENOENT means no ser-vice service
     vice ACL has been defined.

SEE ALSO
     odutil(1), setgroups(2), getgroups(2), mbr_uid_to_uuid(3), opendirectoryd(8)

Mac OS X                       November 5, 2011                       Mac OS X

Сообщение о проблемах

Способ сообщить о проблеме с этой страницей руководства зависит от типа проблемы:

Ошибки содержания
Ошибки отчета в содержании этой документации со ссылками на отзыв ниже.
Отчеты об ошибках
Сообщите об ошибках в функциональности описанного инструмента или API через Генератор отчетов Ошибки.
Форматирование проблем
Отчет, форматирующий ошибки в интерактивной версии этих страниц со ссылками на отзыв ниже.