Как назначить разрешения для управления службой Windows, когда включен контроль учетных записей?
У меня есть следующий сценарий:
- Я локальный администратор на моем компьютере с Windows 7 Enterprise и включенным UAC
- Компьютер не находится в домене и не находится под групповой политикой
- Я запускаю какую-то программу без прав администратора
- Эта программа иногда должна контролировать локально установленную службу Windows (с опциями ручного запуска)
- Без запуска исходной программы от имени администратора или без отключения контроля учетных записей Windows служба перестает работать.
Как я могу предоставить разрешения моей учетной записи для управления этой конкретной службой без запуска с повышенными привилегиями или отключения UAC?
1 ответ
С сервисами, как и со всеми объектами Windows, связан ACL, который может быть изменен для предоставления вам доступа.
Насколько я знаю, не существует официального пользовательского интерфейса для управления ACL-списками служб, поэтому у вас есть два варианта:
Загрузите Process Explorer. Запустите свой сервис (ProcExp показывает только запущенные сервисы). В ProcExp дважды щелкните процесс службы (или щелкните правой кнопкой мыши и выберите "Свойства"). Нажмите на вкладку "Услуги". Обычно ваша программа запускается конкретным пользователем - добавьте этого пользователя. Хит Продвинутый. Разрешения, которыми вы можете управлять, включают остановку / запуск этой службы и отправку ей определенных команд.
Process Hacker похож, но может управлять и остановленными сервисами.
sc showsd
изучите синтаксис ACE и права доступа, отредактируйте дескриптор безопасности, верните егоsc setsd
,