Как предоставить пользователям возможность устанавливать службы Windows?

Как предоставить пользователям возможность устанавливать службы Windows?

Я хотел бы иметь возможность разрешить команде разработчиков устанавливать службы на сервере Win2003. Они уже могут подключаться через RDP/FTP с ограниченными учетными записями, но я хотел бы иметь возможность предоставлять привилегии на установку.

Как это сделать, не предоставляя права администратора?

(Службы созданы с использованием .NET Framework, поэтому мы устанавливаем с помощью C:\Windows\Microsoft.NET\Framework\v2.0.50727\installutil.exe)

решение1

Делегированное разрешение на установку служб будет немного сложным. Существует право "SC_MANAGER_CREATE_SERVICE", которое может быть предоставлено пользователям на объекте диспетчера управления службами (SCM) в глобальном диспетчере объектов.

В версиях Windows до Windows Server 2003 права нельзя было изменить на SCM. Начиная с W2K3 SP1, можно было изменить права на SCM.

API для изменения безопасности:SetServiceObjectSecurity, и более подробную информацию можно найти здесь:http://msdn.microsoft.com/en-us/library/aa379589(VS.85).aspx

Еще несколько ссылок относительно прав, которые могут быть предоставлены SCM, и DACL, установленного по умолчанию для SCM, доступны здесь:http://msdn.microsoft.com/en-us/library/ms685981(VS.85).aspx

Короче говоря, нет способа сделать это без написания кода. Нет никаких волшебных настроек реестра и т. д. Но если вы можете заставить кого-то написать код для вас, это вполне осуществимо.

решение2

Я думаю, что более серьезная проблема — позволить команде разработчиков получить доступ к серверу, который они не администрируют. Вместо того, чтобы пытаться предоставить права пользователям (SC_MANAGER_CREATE_SERVICE), хорошенько подумайте о том, чтобы дать им их собственную коробку — даже просто виртуальную машину для тестирования, как только они скажут, что все готово, настоящий администратор должен установить службы в производственную систему.

решение3

http://support.microsoft.com/?kbid=288129содержит некоторую информацию об управлении службами, но я не думаю, что ее можно расширить, включив в нее создание произвольных служб без серьезных изменений безопасности на вашем сервере.

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

Лично я ограничиваю наших разработчиков тестовым сервером и даю им права администратора. Маленькие милашки не получают доступ к моим живым серверам, пока не убедят меня, что их вещи работают!

Дж.Р.

Связанный контент