Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
shpora_po_sp.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
308.78 Кб
Скачать
  1. Управление безопасностью объектов на низком уровне

Некоторые функции, используемые для управления безопасностью объектов конкретного типа:

  • Доступ к информации о владельце объекта

Для установки в дескриптор безопасности объекта сведений о владельце объекта ИСПОЛЬЗуетСЯ функция SetSecurityDescriptorOwner, которая имеет следующий прототип:

BOOL SetSecurityDescriptorOwner(

PSECURITY_DESCRIPTOR pSecurityDescriptor, // SD объекта

PSID pOwner, // SID нового владельца объекта

BOOL bOwnerDefaulted // признак владельца объекта по умолчанию

);

В случае успешного завершения функция вернет ненулевое значение, а в случае неудачи — false. Код ошибки в случае неудачного выполнения функции МОЖНО ПОЛУЧИТЬ Посредством ВЫЗОВа фунКЦИИ GetLastError.

  • Доступ к информации о первичной группе владельца объекта

Для установки в дескриптор безопасности объекта сведений о первичной группе владельца Объекта ИСПОЛЬЗуетсЯ фунКЦИЯ SetsecurityDescriptorGroup, которая имеет следующий прототип:

BOOL SetsecurityDescriptorGroup(

PSECURITY_DESCRIPTOR pSecurityDescriptor, // на SD объекта

Глава 45. Управление безопасностью объектов на низком уровне 993

PSID pGroup, // указатель на SID первичной группы

BOOL bGroupDefaulted // признак группы по умолчанию

);

В случае успешного завершения функция вернет ненулевое значение, а в случае неудачи — false. Код ошибки в случае неудачного выполнения функции МОЖНО ПОЛУЧИТЬ ПОСреДСТВОМ ВЫЗОВа фуНКЦИИ GetLastError.

  • Доступ к списку DACL

Для установки в дескриптор безопасности объекта списка управления доступом DACL ИСПОЛЬЗуеТСЯ фуНКЦИЯ SetSecurityDescriptorDacl, КОТОрая имеет следующий прототип:

BOOL SetSecurityDescriptorDacl(

PSECURITY_DESCRIPTOR pSecurityDescriptor, // SD объекта

BOOL bDaclPresent, // признак присутствия DACL

PACL pDaci, // указатель на список DACL

BOOL bDaciDefauited // признак DACL, заданного по умолчанию

);

В случае успешного завершения функция вернет ненулевое значение, а в случае неудачи — false. Код ошибки в случае неудачного выполнения функции МОЖНО ПОЛУЧИТЬ ПОСреДСТВОМ ВЫЗОВа фуНКЦИИ GetLastError.

  • Доступ к списку SACL

Для установки в дескриптор безопасности объекта списка управления доступом SACL ИСПОЛЬЗуеТСЯ фуНКЦИЯ SetSecurityDescriptorSacl, которая имеет следующий прототип:

BOOL SetSecurityDescriptorSacl(

PSECURITY_DESCRIPTOR pSecurityDescriptor, // SD объекта

BOOL bSaciPresent, // признак присутствия SACL

PACL pSacl, // указатель на список SACL

BOOL bSaciDefauited // признак SACL, заданного по умолчанию

);

В случае успешного завершения функция вернет ненулевое значение, а в случае неудачи — false. Код ошибки в случае неудачного выполнения функции МОЖНО ПОЛУЧИТЬ ПОСреДСТВОМ ВЫЗОВа фуНКЦИИ GetLastError.

  • Защита файлов и каталогов

Для изменения атрибутов безопасности файла или каталога используется функция setFiieSecurity, которая имеет следующий прототип:

BOOL SetFiieSecurity(

LPCSTR lpFileName, // имя файла

SECURITY_INFORMATION Security In format ion, // управляющие флаги

PSECURITY_DESCRIPTOR pSecurityDescriptor // указатель на SD

);

Отметим, что если функция изменяет атрибуты безопасности каталога, то эти изменения не распространяются на дочерние объекты каталога. В случае успешного завершения функция вернет ненулевое значение, а в случае неудачи — false. Код ошибки в случае неудачного выполнения функции МОЖНО ПОЛУЧИТЬ ПОСреДСТВОМ ВЫЗОВа фуНКЦИИ GetLastError.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]