Ниже - определение прав доступа для Диспетчера управления службами (SCM).
Право доступа |
Описание |
---|---|
SC_MANAGER_ALL_ACCESS | Включает в себя STANDARD_RIGHTS_REQUIRED, в дополнение ко всем правам доступа в этой таблице. |
SC_MANAGER_CREATE_SERVICE | Требует вызвать функцию CreateService, чтобы создать объект службы и добавить его в базу данных. |
SC_MANAGER_CONNECT | Требует соединиться с диспетчером управления службами. |
SC_MANAGER_ENUMERATE_SERVICE | Требует вызвать функцию EnumServicesStatusEx, чтобы перечислить службы, которые находятся в базе данных. |
SC_MANAGER_LOCK | Требует вызвать функцию LockServiceDatabase, чтобы собрать данные о блокировке в базе данных. |
SC_MANAGER_BOOT_CONFIG | Требует вызвать функцию NotifyBootConfigStatus. |
SC_MANAGER_QUERY_LOCK_STATUS | Требует вызвать функцию QueryServiceLockStatus, чтобы извлечь информацию о статусе блокировки для базы данных. |
Ниже - общие права доступа для Диспетчера управления службами (SCM).
Право доступа | Описание |
---|---|
GENERIC_READ | Комбинирует следующие
типы доступа: STANDARD_RIGHTS_READ SC_MANAGER_ENUMERATE_SERVICE SC_MANAGER_QUERY_LOCK_STATUS |
GENERIC_WRITE | Комбинирует следующие
типы доступа: STANDARD_RIGHTS_WRITE SC_MANAGER_CREATE_SERVICE SC_MANAGER_MODIFY_BOOT_CONFIG |
GENERIC_EXECUTE | Комбинирует следующие
типы доступа: STANDARD_RIGHTS_EXECUTE SC_MANAGER_CONNECT SC_MANAGER_LOCK |
GENERIC_ALL | SC_MANAGER_ALL_ACCESS |
Процесс с правильными правами доступа может открыть дескриптор Диспетчера управления службами (SCM), который может использоваться в функциях OpenService, EnumServicesStatusEx и QueryServiceLockStatus. Только процессы с привилегиями Администратора в состоянии открыть дескрипторы Диспетчера управления службами (SCM), который может использоваться функциями CreateService и LockServiceDatabase.
Система создает дескриптор безопасности для Диспетчера управления службами (SCM). Чтобы получить или установить дескриптор безопасности для Диспетчера управления службами (SCM), используйте функции QueryServiceObjectSecurity и SetServiceObjectSecurity с дескриптором объекта SCManager.
Windows Server 2003 и Windows XP/2000/NT: В отличие от большинства других защищаемых объектов, не может быть модифицирован дескриптор безопасности для Диспетчера управления службами (SCM). Это поведение изменилось в Windows Server 2003 SP1.
Следующие права доступа предоставляются.
Учетная запись |
Права доступа |
---|---|
Отдаленные прошедшие контроль доступа пользователи | SC_MANAGER_CONNECT |
Локальные прошедшие контроль доступа пользователи (включая LocalService и NetworkService) | SC_MANAGER_CONNECT SC_MANAGER_ENUMERATE_SERVICE SC_MANAGER_QUERY_LOCK_STATUS STANDARD_RIGHTS_READ |
LocalSystem | SC_MANAGER_CONNECT SC_MANAGER_ENUMERATE_SERVICE SC_MANAGER_MODIFY_BOOT_CONFIG SC_MANAGER_QUERY_LOCK_STATUS STANDARD_RIGHTS_READ |
Администраторы | SC_MANAGER_ALL_ACCESS |
Windows Server 2003 и Windows XP: Отдаленным прошедшим контроль доступа пользователям предоставляются права доступа SC_MANAGER_CONNECT, SC_MANAGER_ENUMERATE_SERVICE, SC_MANAGER_QUERY_LOCK_STATUS, и STANDARD_RIGHTS_READ. Эти права доступа ограничены как описано в предыдущей таблице для Windows Server 2003 SP1.
Windows 2000 и Windows NT: Каждому предоставляются права доступа SC_MANAGER_CONNECT, SC_MANAGER_ENUMERATE_SERVICE, SC_MANAGER_QUERY_LOCK_STATUS и STANDARD_RIGHTS_READ.Когда процесс использует функцию OpenSCManager, чтобы открыть дескриптор базы данных установленных служб, он может запросить права доступа. Система выполняет проверку соответствия безопасности дескриптора безопасности для Диспетчера управления службами (SCM) перед предоставлением ему требуемых прав доступа.