| Предыдущий | Следующий |
| STATUS_ALREADY_COMMITTED | STATUS_BUFFER_TOO_SMALL |
STATUS_ACCESS_DENIED
Проверка доступа не предоставила запрошенную маску
Windows сопоставляет маркер вызывающего кода с дескриптором безопасности объекта, учитывая запрещающие и разрешающие ACE, привилегии, ограниченные SID, политику целостности и права, относящиеся к конкретному объекту. Поэтому состояние указывает на отказ авторизации, а не является общей рекомендацией запустить программу от имени администратора.
Зафиксируйте точную запрошенную маску доступа и маркер, использованный при проверке. Запрос избыточных прав, например GENERIC_ALL, может завершиться неудачно, даже если операции достаточно чтения. Также отличайте основной маркер процесса от маркера олицетворения и проверьте, не повлияли ли обязательный контроль целостности или SID только для запрета.
Что проверить
- Запишите тип объекта, требуемую маску доступа, предоставленный доступ и удостоверение маркера.
- Проверьте порядок запрещающих ACE, ограниченные SID, уровень целостности и требуемые привилегии.
- Повторяйте операцию только с минимальными правами, действительно необходимыми для неё.
Ссылки
- Microsoft: AccessCheck
- Microsoft: модель управления доступом
- Microsoft: токены доступа
- Открытые спецификации Microsoft: значения NTSTATUS
Нужно найти другой код? Найти другой код состояния или ошибки.
