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


Учетные записи пользователей службы

Каждая служба выполняется в контексте безопасности учетной записи пользователя. Имя пользователя и пароль учетной записи указываются функцией createServiceво время установки службы. Имя пользователя и пароль можно изменить с помощью функции ChangeServiceConfig. ФункциюQueryServiceConfig можно использоватьдля получения имени пользователя (но не пароля), связанного с объектом службы. Диспетчер управления службами (SCM) автоматически загружает профиль пользователя.

При запуске службы SCM входит в учетную запись, связанную со службой. Если вход выполнен успешно, система создает маркер доступа и присоединяет его к новому процессу службы. Этот маркер определяет процесс службы во всех последующих взаимодействиях с защищаемыми объектами (объектами, имеющими дескриптор безопасности, связанный с ними). Например, если служба пытается открыть дескриптор для канала, система сравнивает маркер доступа службы с дескриптором безопасности канала перед предоставлением доступа.

SCM не поддерживает пароли учетных записей пользователей службы. Если срок действия пароля истек, вход завершается ошибкой, и служба не запускается. Системный администратор, который назначает учетные записи службам, может создавать учетные записи с паролями, которые никогда не истекают. Администратор также может управлять учетными записями с паролями, срок действия которого истекает с помощью программы конфигурации службы для периодического изменения паролей.

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

Можно указать одну из следующих специальных учетных записей вместо указания учетной записи пользователя для службы: