Spec-Zone .ru
спецификации, руководства, описания, API

Библиотека разработчика Mac

Разработчик

Ссылка платформы CoreFoundation ссылка CFFileSecurity

Опции
Развертывание Target:

На этой странице
Язык:

Ссылка CFFileSecurity

В OS X много различных систем авторизации влияют, может ли процесс получить доступ к файлам и каталогам, включая полномочия POSIX и списки управления доступом (ACLs).

Код, копирующий файлы и каталоги, должен получить и установить всю информацию о защите файлов, чтобы гарантировать, что сохраняется управление доступом. CFFileSecurity API обеспечивает отдельный объект, инкапсулирующий информацию о защите файлов из многократных источников, таким образом помогая Вам избегающий частых ошибок (таких как копирование полномочий POSIX файла, но не его списка управления доступом). Можно получить эту информацию путем выяснения NSURLFileSecurityKey свойство основанного на файле NSURL возразите или kCFURLFileSecurityKey свойство основанного на файле CFURLRef объект.

Кроме того, CFFileSecurity API обеспечивает путь к приложениям, чтобы получить и установить отдельные свойства так, чтобы они могли обеспечить пользовательский интерфейс для отображения и изменения полномочий.

Для получения дополнительной информации о том, как полномочия и списки управления доступом взаимодействуют для ограничения доступа к файлам, считайте Защиту файловой системы OS X в Руководстве по программированию Файловой системы.

Функции

  • Создает a CFFileSecurityRef объект.

    Объявление

    Swift

    func CFFileSecurityCreate(_ allocator: CFAllocator!) -> CFFileSecurity!

    Objective C

    CFFileSecurityRef CFFileSecurityCreate ( CFAllocatorRef allocator );

    Параметры

    allocator

    Средство выделения для использования для выделения памяти для нового объекта. Передача NULL или kCFAllocatorDefault использовать текущее средство выделения по умолчанию.

    Возвращаемое значение

    Возвращает новое CFFileSecurityRef объект, или NULL если произошла ошибка. Владение соблюдает Создать Правило.

    Оператор импорта

    Objective C

    @import CoreFoundation;

    Swift

    import CoreFoundation

    Доступность

    Доступный в OS X v10.7 и позже.

  • Создает копию a CFFileSecurityRef объект.

    Объявление

    Swift

    func CFFileSecurityCreateCopy(_ allocator: CFAllocator!, _ fileSec: CFFileSecurity!) -> CFFileSecurity!

    Objective C

    CFFileSecurityRef CFFileSecurityCreateCopy ( CFAllocatorRef allocator, CFFileSecurityRef fileSec );

    Параметры

    allocator

    Средство выделения для использования для выделения памяти для нового объекта. Передача NULL или kCFAllocatorDefault использовать текущее средство выделения по умолчанию.

    fileSec

    CFFileSecurityRef возразите для копирования.

    Возвращаемое значение

    Возвращает новое CFFileSecurityRef объект, или NULL если произошла ошибка. Владение соблюдает Создать Правило.

    Оператор импорта

    Objective C

    @import CoreFoundation;

    Swift

    import CoreFoundation

    Доступность

    Доступный в OS X v10.7 и позже.

  • Копирует список управления доступом, связанный с a CFFileSecurityRef объект.

    Объявление

    Swift

    func CFFileSecurityCopyAccessControlList(_ fileSec: CFFileSecurity!, _ accessControlList: UnsafeMutablePointer<acl_t>) -> Boolean

    Objective C

    Boolean CFFileSecurityCopyAccessControlList ( CFFileSecurityRef fileSec, acl_t *accessControlList );

    Параметры

    fileSec

    CFFileSecurityRef объект.

    accessControlList

    Указатель на объект acl_t. Получающийся ACL может быть освобожден путем вызова acl_free(3) OS X Manual Page.

    Возвращаемое значение

    Возвраты true если ACL был успешно скопирован, или false если нет никакого свойства ACL, связанного с CFFileSecurityRef объект.

    Обсуждение

    Можно управлять acl_t объект с помощью вызовов acl, определенных в <sys/acl.h>. Для получения дополнительной информации посмотрите acl страница руководства.

    Оператор импорта

    Objective C

    @import CoreFoundation;

    Swift

    import CoreFoundation

    Доступность

    Доступный в OS X v10.7 и позже.

  • Копирует группу UUID, связанный с a CFFileSecurityRef объект.

    Объявление

    Swift

    func CFFileSecurityCopyGroupUUID(_ fileSec: CFFileSecurity!, _ groupUUID: UnsafeMutablePointer<Unmanaged<CFUUID>?>) -> Boolean

    Objective C

    Boolean CFFileSecurityCopyGroupUUID ( CFFileSecurityRef fileSec, CFUUIDRef *groupUUID );

    Параметры

    fileSec

    CFFileSecurityRef объект.

    groupUUID

    Адрес a CFUUIDRef где сохранены результаты.

    Возвращаемое значение

    Возвраты true если группа UUID была успешно скопирована, или false если нет никакого свойства UUID группы, связанного с этим CFFileSecurityRef объект.

    Оператор импорта

    Objective C

    @import CoreFoundation;

    Swift

    import CoreFoundation

    Доступность

    Доступный в OS X v10.7 и позже.

  • Копирует владельца UUID, связанный с a CFFileSecurityRef объект.

    Объявление

    Swift

    func CFFileSecurityCopyOwnerUUID(_ fileSec: CFFileSecurity!, _ ownerUUID: UnsafeMutablePointer<Unmanaged<CFUUID>?>) -> Boolean

    Objective C

    Boolean CFFileSecurityCopyOwnerUUID ( CFFileSecurityRef fileSec, CFUUIDRef *ownerUUID );

    Параметры

    fileSec

    CFFileSecurityRef объект.

    ownerUUID

    Адрес a CFUUIDRef где сохранены результаты.

    Возвращаемое значение

    Возвраты true если владелец UUID был успешно скопирован, или false если нет никакого свойства UUID владельца, связанного с этим CFFileSecurityRef объект.

    Оператор импорта

    Objective C

    @import CoreFoundation;

    Swift

    import CoreFoundation

    Доступность

    Доступный в OS X v10.7 и позже.

  • Получает группу ID, связанный с a CFFileSecurityRef объект

    Объявление

    Swift

    func CFFileSecurityGetGroup(_ fileSec: CFFileSecurity!, _ group: UnsafeMutablePointer<gid_t>) -> Boolean

    Objective C

    Boolean CFFileSecurityGetGroup ( CFFileSecurityRef fileSec, gid_t *group );

    Параметры

    fileSec

    CFFileSecurityRef объект.

    group

    Адрес целого числа типа gid_t.

    Возвращаемое значение

    Возвраты true если группа ID была сохранена в адресе, которым указывают group, или false если нет никакого свойства адреса, связанного с этим CFFileSecurityRef объект.

    Оператор импорта

    Objective C

    @import CoreFoundation;

    Swift

    import CoreFoundation

    Доступность

    Доступный в OS X v10.7 и позже.

  • Связали режим файла с a CFFileSecurityRef объект.

    Объявление

    Swift

    func CFFileSecurityGetMode(_ fileSec: CFFileSecurity!, _ mode: UnsafeMutablePointer<mode_t>) -> Boolean

    Objective C

    Boolean CFFileSecurityGetMode ( CFFileSecurityRef fileSec, mode_t *mode );

    Параметры

    fileSec

    CFFileSecurityRef объект.

    mode

    Адрес целого числа типа mode_t.

    Возвращаемое значение

    Возвраты true если режим файла был сохранен в адресе, которым указывают mode, или false если нет никакого свойства режима файла, связанного с этим CFFileSecurityRef объект.

    Обсуждение

    Для получения дополнительной информации о числовых режимах файла посмотрите chmod(2) страница руководства и определения в /usr/include/sys/stat.h.

    Оператор импорта

    Objective C

    @import CoreFoundation;

    Swift

    import CoreFoundation

    Доступность

    Доступный в OS X v10.7 и позже.

  • Получает владельца ID, связанный с a CFFileSecurityRef объект.

    Объявление

    Swift

    func CFFileSecurityGetOwner(_ fileSec: CFFileSecurity!, _ owner: UnsafeMutablePointer<uid_t>) -> Boolean

    Objective C

    Boolean CFFileSecurityGetOwner ( CFFileSecurityRef fileSec, uid_t *owner );

    Параметры

    fileSec

    CFFileSecurityRef объект.

    owner

    Адрес целого числа типа uid_t.

    Возвращаемое значение

    Возвраты true если владелец ID был сохранен в адресе, которым указывают owner, или false если нет никакого свойства владельца ИДА, связанного с этим CFFileSecurityRef объект.

    Оператор импорта

    Objective C

    @import CoreFoundation;

    Swift

    import CoreFoundation

    Доступность

    Доступный в OS X v10.7 и позже.

  • Возвращает идентификатор типа для CFFileSecurityRef непрозрачный тип.

    Объявление

    Swift

    func CFFileSecurityGetTypeID() -> CFTypeID

    Objective C

    CFTypeID CFFileSecurityGetTypeID ( void );

    Оператор импорта

    Objective C

    @import CoreFoundation;

    Swift

    import CoreFoundation

    Доступность

    Доступный в OS X v10.7 и позже.

  • Устанавливает список управления доступом, связанный с a CFFileSecurityRef объект.

    Объявление

    Swift

    func CFFileSecuritySetAccessControlList(_ fileSec: CFFileSecurity!, _ accessControlList: acl_t) -> Boolean

    Objective C

    Boolean CFFileSecuritySetAccessControlList ( CFFileSecurityRef fileSec, acl_t accessControlList );

    Параметры

    fileSec

    CFFileSecurityRef объект изменить.

    accessControlList

    Список управления доступом для установки, или kCFFileSecurityRemoveACL указать, что список управления доступом должен быть удален из файла, или NULL сбрасывать свойство списка управления доступом в объекте.

    Возвращаемое значение

    Возвраты true если список управления доступом был успешно установлен, или false иначе.

    Обсуждение

    Удалить список управления доступом из объекта файловой системы, передачи kCFFileSecurityRemoveACL как accessControlList параметр. Затем вызовите CFURLSetResourcePropertyForKey установить kCFURLFileSecurityKey к получающемуся fileSec объект.

    Установка accessControlList к NULL сбрасывает свойство ACL CFFileSecurityRef объект. Путем выполнения этого список управления доступом файла будет неизменен при последующем использовании этого объекта установить полномочия на объекте фактической файловой системы.

    Оператор импорта

    Objective C

    @import CoreFoundation;

    Swift

    import CoreFoundation

    Доступность

    Доступный в OS X v10.7 и позже.

  • Устанавливает группу ID, связанный с a CFFileSecurityRef объект.

    Объявление

    Swift

    func CFFileSecuritySetGroup(_ fileSec: CFFileSecurity!, _ group: gid_t) -> Boolean

    Objective C

    Boolean CFFileSecuritySetGroup ( CFFileSecurityRef fileSec, gid_t group );

    Параметры

    fileSec

    CFFileSecurityRef объект изменить.

    group

    Целое число типа gid_t.

    Возвращаемое значение

    Возвраты true если группа ID была успешно установлена, иначе false.

    Оператор импорта

    Objective C

    @import CoreFoundation;

    Swift

    import CoreFoundation

    Доступность

    Доступный в OS X v10.7 и позже.

  • Устанавливает группу UUID, связанный с a CFFileSecurityRef объект.

    Объявление

    Swift

    func CFFileSecuritySetGroupUUID(_ fileSec: CFFileSecurity!, _ groupUUID: CFUUID!) -> Boolean

    Objective C

    Boolean CFFileSecuritySetGroupUUID ( CFFileSecurityRef fileSec, CFUUIDRef groupUUID );

    Параметры

    fileSec

    CFFileSecurityRef объект изменить.

    groupUUID

    Группа UUID для установки.

    Возвращаемое значение

    Возвраты true если группа UUID была успешно установлена, иначе false.

    Оператор импорта

    Objective C

    @import CoreFoundation;

    Swift

    import CoreFoundation

    Доступность

    Доступный в OS X v10.7 и позже.

  • Устанавливает режим файла, связанный с a CFFileSecurityRef объект.

    Объявление

    Swift

    func CFFileSecuritySetMode(_ fileSec: CFFileSecurity!, _ mode: mode_t) -> Boolean

    Objective C

    Boolean CFFileSecuritySetMode ( CFFileSecurityRef fileSec, mode_t mode );

    Параметры

    fileSec

    CFFileSecurityRef объект изменить.

    mode

    Целое число типа mode_t.

    Возвращаемое значение

    Возвраты true если свойство режима файла было успешно установлено, иначе false.

    Обсуждение

    Для получения дополнительной информации о числовых режимах файла посмотрите chmod(2) страница руководства и определения в /usr/include/sys/stat.h.

    Оператор импорта

    Objective C

    @import CoreFoundation;

    Swift

    import CoreFoundation

    Доступность

    Доступный в OS X v10.7 и позже.

  • Устанавливает владельца ID, связанный с a CFFileSecurityRef объект.

    Объявление

    Swift

    func CFFileSecuritySetOwner(_ fileSec: CFFileSecurity!, _ owner: uid_t) -> Boolean

    Objective C

    Boolean CFFileSecuritySetOwner ( CFFileSecurityRef fileSec, uid_t owner );

    Параметры

    fileSec

    CFFileSecurityRef объект изменить.

    owner

    Целое число типа uid_t.

    Возвращаемое значение

    Возвраты true если свойство владельца ИДА было успешно установлено, иначе false.

    Оператор импорта

    Objective C

    @import CoreFoundation;

    Swift

    import CoreFoundation

    Доступность

    Доступный в OS X v10.7 и позже.

  • Устанавливает владельца UUID, связанный с a CFFileSecurityRef объект.

    Объявление

    Swift

    func CFFileSecuritySetOwnerUUID(_ fileSec: CFFileSecurity!, _ ownerUUID: CFUUID!) -> Boolean

    Objective C

    Boolean CFFileSecuritySetOwnerUUID ( CFFileSecurityRef fileSec, CFUUIDRef ownerUUID );

    Параметры

    fileSec

    CFFileSecurityRef объект изменить.

    ownerUUID

    Владелец UUID для установки.

    Возвращаемое значение

    Возвраты true если свойство UUID владельца было успешно установлено, иначе false.

    Оператор импорта

    Objective C

    @import CoreFoundation;

    Swift

    import CoreFoundation

    Доступность

    Доступный в OS X v10.7 и позже.

  • Очищает свойства от a CFFileSecurityRef объект.

    Объявление

    Swift

    func CFFileSecurityClearProperties(_ fileSec: CFFileSecurity!, _ clearPropertyMask: CFFileSecurityClearOptions) -> Boolean

    Objective C

    Boolean CFFileSecurityClearProperties ( CFFileSecurityRef fileSec, CFFileSecurityClearOptions clearPropertyMask );

    Параметры

    clearPropertyMask

    Свойства защиты файлов для очистки.

    Возвращаемое значение

    Возвраты true если свойства защиты файлов были успешно очищены, или false иначе.

    Обсуждение

    Одно общее использование для CFFileSecurityRef объекты состоят в том, чтобы клонировать полномочия от одного файла до другого. В этом использовании можно хотеть скопировать только подмножество полномочий. Эта функция позволяет Вам удалить определенные полномочия, которые Вы не хотите изменять до применения набора полномочий к различному файлу.

    Оператор импорта

    Objective C

    @import CoreFoundation;

    Swift

    import CoreFoundation

    Доступность

    Доступный в OS X v10.8 и позже.

Типы данных

  • Инкапсулирует информацию о безопасности объекта файловой системы в Базовом объекте Основы.

    Объявление

    Swift

    typealias CFFileSecurityRef = CFFileSecurity

    Objective C

    typedef struct __CFFileSecurity* CFFileSecurityRef;

    Оператор импорта

    Objective C

    @import CoreFoundation;

    Swift

    import CoreFoundation

    Доступность

    Доступный в OS X v10.7 и позже.

Константы

  • Эти постоянные ACLs служат определенным целям, как описано индивидуально.

    Объявление

    Objective C

    #define kCFFileSecurityRemoveACL (acl_t) _FILESEC_REMOVE_ACL

    Константы

    • kCFFileSecurityRemoveACL

      kCFFileSecurityRemoveACL

      Специальный ACL, которому можно передать CFFileSecuritySetAccessControlList удалить любой существующий список управления доступом из объекта файловой системы.

      Доступный в OS X v10.7 и позже.

  • Битовое «ИЛИ» значений из этого списка может использоваться в clearPropertyMask параметр CFFileSecurityClearProperties.

    Объявление

    Swift

    struct CFFileSecurityClearOptions : RawOptionSetType { init(_ rawValue: CFOptionFlags) init(rawValue rawValue: CFOptionFlags) static var Owner: CFFileSecurityClearOptions { get } static var Group: CFFileSecurityClearOptions { get } static var Mode: CFFileSecurityClearOptions { get } static var OwnerUUID: CFFileSecurityClearOptions { get } static var GroupUUID: CFFileSecurityClearOptions { get } static var AccessControlList: CFFileSecurityClearOptions { get } }

    Objective C

    enum { kCFFileSecurityClearOwner = 1UL << 0, kCFFileSecurityClearGroup = 1UL << 1, kCFFileSecurityClearMode = 1UL << 2, kCFFileSecurityClearOwnerUUID = 1UL << 3, kCFFileSecurityClearGroupUUID = 1UL << 4, kCFFileSecurityClearAccessControlList = 1UL << 5 };

    Константы

    • Owner

      kCFFileSecurityClearOwner

      Очистите (POSIX) владельца ID.

      Доступный в OS X v10.8 и позже.

    • Group

      kCFFileSecurityClearGroup

      Очистите (POSIX) группу ID.

      Доступный в OS X v10.8 и позже.

    • Mode

      kCFFileSecurityClearMode

      Очистите режим файла (полномочия POSIX).

      Доступный в OS X v10.8 и позже.

    • OwnerUUID

      kCFFileSecurityClearOwnerUUID

      Очистите владельца UUID (для списка управления доступом).

      Доступный в OS X v10.8 и позже.

    • GroupUUID

      kCFFileSecurityClearGroupUUID

      Очистите группу UUID (для списка управления доступом).

      Доступный в OS X v10.8 и позже.

    • AccessControlList

      kCFFileSecurityClearAccessControlList

      Очистите список управления доступом.

      Доступный в OS X v10.8 и позже.