Что означает код ошибки Windows 1314 (ERROR_PRIVILEGE_NOT_HELD)?

 
Предыдущий Следующий
ERROR_NO_SUCH_PRIVILEGE ERROR_INVALID_ACCOUNT_NAME

ERROR_PRIVILEGE_NOT_HELD

ERROR_PRIVILEGE_NOT_HELD (1314, 0x00000522) означает, что маркер доступа, выполняющий операцию, не имеет привилегии, которую Windows требует для этой операции. Привилегия отличается от обычных разрешений объекта, таких как запись ACL.

Важен эффективный маркер

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

Что проверить

  • Определите точную привилегию, требуемую API, например SeRestorePrivilege, SeBackupPrivilegeили SeSecurityPrivilege.
  • Проверьте эффективный маркер процесса или потока и убедитесь, что привилегия назначена и включена.
  • Используйте AdjustTokenPrivileges может только включить привилегию, уже присутствующую в маркере; добавить отсутствующую привилегию она не может.
  • Для служб, олицетворяющих клиентов, явно определите, должна ли защищённая работа выполняться от имени клиента или перед её выполнением следует вернуться к удостоверению службы.

См. документацию Microsoft о маркерах доступа, включении и отключении привилегийи AdjustTokenPrivileges.


Нужно найти другой код? Найти другой код состояния или ошибки.