
Gostaria de permitir que a equipe de desenvolvimento instale serviços em um servidor Win2003. Eles já podem se conectar via RDP/FTP com contas limitadas, mas eu gostaria de poder conceder privilégios de instalação.
Como faço isso sem conceder direitos de administrador?
(Os serviços são criados usando o .NET framework, então estamos instalando com C:\Windows\Microsoft.NET\Framework\v2.0.50727\installutil.exe)
Responder1
A permissão delegada para instalar serviços será um pouco difícil. Há um direito "SC_MANAGER_CREATE_SERVICE" que pode ser concedido aos usuários no objeto SCM (service control manager) no gerenciador de objetos global.
Nas versões do Windows até o Windows Server 2003, os direitos não podiam ser alterados no SCM. A partir do W2K3 SP1, você poderia alterar os direitos no SCM.
A API para alterar a segurança éSetServiceObjectSegurança, e mais informações estão disponíveis aqui:http://msdn.microsoft.com/en-us/library/aa379589(VS.85).aspx
Mais algumas referências sobre: os direitos que podem ser concedidos ao SCM e o DACL padrão definido no SCM estão disponíveis aqui:http://msdn.microsoft.com/en-us/library/ms685981(VS.85).aspx
Resumindo, não há como fazer isso sem escrever código. Não há configuração mágica de registro, etc. Se você conseguir que alguém escreva o código para você, é totalmente viável.
Responder2
Acho que o maior problema é permitir que a equipe de desenvolvimento acesse um servidor que não administra. Em vez de tentar conceder os direitos aos usuários (SC_MANAGER_CREATE_SERVICE), pense muito em dar a eles sua própria caixa - mesmo que seja apenas uma VM para testar, quando eles disserem que está pronto, um administrador real deve instalar os serviços no sistema de produção.
Responder3
http://support.microsoft.com/?kbid=288129tem algumas informações sobre gerenciamento de serviços, mas não acho que isso possa ser estendido para incluir a criação de serviços arbitrários sem grandes alterações de segurança em seu servidor.
Se você criar um serviço ou serviços e conceder acesso conforme descrito na base de conhecimento, seus desenvolvedores poderão interromper o serviço e copiar novos binários, para que possam desenvolver/depurar serviços mesmo que você precise criá-los em primeiro lugar.
Pessoalmente, restringo nossos desenvolvedores a um servidor de teste e concedo-lhes acesso de administrador. Os queridinhos não têm acesso aos meus servidores ativos sem antes me convencerem de que suas coisas estão funcionando!
Jr.