Установка службы Windows XPE - как настроить безопасность во время создания сервиса? - PullRequest
0 голосов
/ 01 февраля 2010

Я использую CreateService для установки службы Windows в Windows XPE. Я хотел бы настроить все так, чтобы только администратор мог запустить / остановить / приостановить / возобновить службу.

Сейчас я использую следующее для установки сервиса:

  schService = CreateService(schSCManager,
     ServiceName, 
     ServiceDisplayName, // service name to display
     SERVICE_ALL_ACCESS, // desired access 
     SERVICE_WIN32_OWN_PROCESS, // service type 
     SERVICE_AUTO_START, // start type 
     SERVICE_ERROR_NORMAL, // error control type 
     binaryPathName, // service's binary (this program)
     NULL, // no load ordering group 
     NULL, // no tag identifier 
     NULL, // no dependencies
     NULL, // LocalSystem account
     NULL); // no password

И служба заканчивается безопасностью, так что члены группы PowerUsers могут запускать и останавливать службу. Я понял, что могу использовать sc sdshow для проверки дескриптора безопасности, и я разработал строку SDDL, которая будет делать для нас правильные вещи.

Я также узнал, что в нашей установке Win XPE нет бинарного файла sc.exe, поэтому мы не можем использовать его для настройки этой конкретной системы.

Итак, что мне нужно знать: какие API мне нужно использовать, чтобы установить дескриптор безопасности для этой службы примерно во время выполнения вызова CreateService. Я совершенно незнаком с API безопасности Windows, поэтому просто не знаю, с чего начать.

ОБНОВЛЕНИЕ: ответ SetServiceObjectSecurity (ниже). Следующий вопрос: как лучше всего настроить SecurityDescriptor? Лучше всего получить дескриптор по умолчанию, а затем изменить его? Или мне просто создать совершенно новый дескриптор?

1 Ответ

1 голос
/ 01 февраля 2010

Я не очень знаком с Windows XP Embedded, но обычно вы достигаете того, что вы есть, после использования функции SetServiceObjectSecurity . Используйте дескриптор, который вы получаете от CreateService, и создайте дескриптор безопасности, соответствующий вашему желанию.

...