На Windows Server (2008R2 или более ранней версии), где я могу найти разрешения (разрешить / запретить), которые действительно могут запускать / останавливать службы? Чтобы не менять учетные данные, которые должна использовать служба - просто запустите / остановите.
Я не верю, что в локальной системе есть хороший графический интерфейс, но, возможно, что-то было добавлено с тех пор, как я последний раз смотрел.
Я знаю SetACL может использоваться для изменения списка управления доступом службы. Вот пример из документации о том, как предоставить возможность запускать / останавливать службу времени Windows. domain1\group1
. SetACL довольно прост в использовании.
SetACL.exe -on "\\server1\W32Time" -ot srv -actn ace
-ace "n:domain1\group1;p:start_stop"
Вы можете установить разрешения с помощью встроенного sc тоже, но синтаксис гораздо более загадочный. Возможные варианты: sc sdset
и sc sdshow
.
Другой вариант - установить разрешения через политику.
Также см. Этот вопрос: Как установить разрешения служб Windows из Powershell?
Вы можете изначально установить разрешения для служб, отредактировав строки SDDL с помощью SC.exe. В Интернете есть несколько статей, в которых подробно рассказывается. Хотя этот метод работает, он очень утомителен, подвержен ошибкам и может отличаться в зависимости от ОС. Я не использовал SetACL Studio, но, судя по их сайту, он выглядит довольно полно.
Если необходимо делегировать права сервисам на множественный машины и, возможно, могут иметь более сложные сценарии, я бы рекомендовал использовать System Frontier. Вы можете настроить разрешения централизованно, которые могут применяться к одному или нескольким серверам автоматически, без необходимости касаться каждого отдельного сервера. Все основано на управлении доступом на основе ролей (RBAC). Полное раскрытие информации: мне принадлежит компания, которая делает System Frontier.