Wie erteile ich Benutzern die Berechtigung, Windows-Dienste zu installieren?

Wie erteile ich Benutzern die Berechtigung, Windows-Dienste zu installieren?

Ich möchte dem Entwicklungsteam die Möglichkeit geben, Dienste auf einem Win2003-Server zu installieren. Sie können bereits mit eingeschränkten Konten eine Verbindung über RDP/FTP herstellen, aber ich möchte Installationsrechte erteilen können.

Wie mache ich das, ohne Administratorrechte zu erteilen?

(Die Dienste werden mit dem .NET-Framework erstellt, daher installieren wir sie mit C:\Windows\Microsoft.NET\Framework\v2.0.50727\installutil.exe)

Antwort1

Die delegierte Berechtigung zum Installieren von Diensten wird etwas schwierig. Es gibt ein „SC_MANAGER_CREATE_SERVICE“-Recht, das Benutzern für das Service Control Manager-Objekt (SCM) im globalen Objektmanager gewährt werden kann.

In Windows-Versionen bis Windows Server 2003 konnten die Rechte am SCM nicht geändert werden. Ab W2K3 SP1 konnten die Rechte am SCM geändert werden.

Die API zum Ändern der Sicherheit istDienstobjektsicherheit festlegen, weitere Informationen finden Sie hier:http://msdn.microsoft.com/en-us/library/aa379589(VS.85).aspx

Weitere Hinweise zu den Rechten, die dem SCM gewährt werden können, und der auf dem SCM festgelegten Standard-DACL finden Sie hier:http://msdn.microsoft.com/en-us/library/ms685981(VS.85).aspx

Kurz gesagt, es gibt keine Möglichkeit, dies zu tun, ohne Code zu schreiben. Es gibt keine magische Registrierungseinstellung usw. Wenn Sie jedoch jemanden finden, der den Code für Sie schreibt, ist dies durchaus machbar.

Antwort2

Ich denke, das größere Problem besteht darin, dem Entwicklerteam Zugriff auf einen Server zu gewähren, den es nicht verwaltet. Anstatt zu versuchen, den Benutzern die Rechte zu erteilen (SC_MANAGER_CREATE_SERVICE), sollten Sie ernsthaft darüber nachdenken, ihnen eine eigene Box zu geben – und sei es nur eine VM zum Testen. Sobald sie sagen, dass sie bereit ist, sollte ein echter Administrator die Dienste in das Produktionssystem installieren.

Antwort3

http://support.microsoft.com/?kbid=288129enthält einige Informationen zum Verwalten von Diensten, aber ich glaube nicht, dass dies auf das Erstellen beliebiger Dienste ausgeweitet werden kann, ohne größere Sicherheitsänderungen auf Ihrem Server vorzunehmen.

Wenn Sie einen oder mehrere Dienste erstellen und dann den Zugriff wie in der Wissensdatenbank beschrieben gewähren, können Ihre Entwickler den Dienst stoppen und neue Binärdateien kopieren, sodass sie Dienste entwickeln/debuggen können, auch wenn Sie diese zunächst erstellen müssen.

Persönlich beschränke ich unsere Entwickler auf einen Testserver und gewähre ihnen Administratorzugriff. Die kleinen Lieblinge bekommen keinen Zugriff auf meine Live-Server, ohne mich zuerst davon zu überzeugen, dass ihr Zeug funktioniert!

JR

verwandte Informationen