Welche Privilegien / Einstellungen sind dafür verantwortlich, dass Standardbenutzer einen Dienst starten können?

416
zar

Mein Code funktioniert auf einem Computer einwandfrei, aber derselbe Code generiert den Fehlercode 5 (Zugriff verweigert) auf einem anderen Computer. Der ::OpenService()Aufruf schlägt im Wesentlichen aufgrund der Markierung fehl, da SERVICE_STARTder Benutzer keine Berechtigungen zum Starten des Dienstes besitzt. Ich weiß, weil es den Dienst startet, wenn ich die App als Administrator starte.

Ich möchte die gleichen Berechtigungen auf dem zweiten Computer haben, damit jeder Benutzer einen Dienst starten kann, aber nicht herausfinden kann, welche Einstellungen dafür verantwortlich sind. Ich sah in group policy>> Computer Configuration>> Windows Settings>> Security Settings >> Local Policies>>User Rights Assingment.

Ich weiß nicht, ob ich überhaupt den richtigen Ort suche. Weiß jemand?

0

1 Antwort auf die Frage

0
grawity

Dafür gibt es kein globales Privileg. Stattdessen werden alle Dienste haben ihre eigenen individuellen ACLs - obwohl man sie nicht durchschauen können services.msc, nur durch sc sdshow/ sc sdsetoder Software von Drittanbietern. (Process Hacker ist ein solches Programm; es enthält einen grafischen ACL-Editor in der Registerkarte "Services".)

Ich sende die "sc showsd" -Ausgabe in eine Textdatei und verglich sie für beide PCs, und sie sind identisch. Der PC, auf dem es funktioniert, ist Windows 7, der Computer, auf dem Administratorrechte erforderlich sind, ist Windows 10. Könnte das einen Unterschied machen? zar vor 5 Jahren 0