Поделиться через


Изменение привилегий в токене

Привилегии можно изменить двумя способами как в основном токене, так и в токене олицетворения.

  • Включите, отключите или удалите привилегии с помощью функции AdjustTokenPrivileges .
  • Ограничить или удалить привилегии с помощью функции CreateRestrictedToken.

AdjustTokenPrivileges не может добавлять привилегии в токен. Он может включать только существующие привилегии, которые в настоящее время отключены, отключать существующие привилегии, которые в настоящее время включены, или удалять существующие привилегии. Любые привилегии, удаленные с помощью AdjustTokenPrivileges, не могут быть впоследствии восстановлены. Примеры см. в разделе Включение и отключение привилегий вC++ .

Чтобы назначить привилегии учетной записи, см. Назначение привилегий учетной записи.

CreateRestrictedToken имеет более широкие возможности следующим образом:

  • Удаление привилегий. Обратите внимание, что удаление привилегий не совпадает с отключением. После удаления привилегии из маркера её нельзя вернуть.
  • Присоединение атрибута «только запрет» к SID в токене. Это влияет на запрет определенных групп или учетных записей, например запретить группе "Все" удалить доступ к конкретному файлу. Дополнительные сведения об ограничении идентификаторов безопасности см. в атрибутах безопасности вмаркера доступа.
  • Указание списка ограничивающих идентификаторов безопасности в маркере. Сведения об ограничении SID см. в разделе про ограниченные токены.