AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi Service starten/stoppen ohne/mit Adminrechten/Elevation
Thema durchsuchen
Ansicht
Themen-Optionen

Service starten/stoppen ohne/mit Adminrechten/Elevation

Ein Thema von chaosben · begonnen am 9. Aug 2011 · letzter Beitrag vom 10. Aug 2011
Antwort Antwort
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.590 Beiträge
 
Delphi 12 Athens
 
#1

AW: Service starten/stoppen ohne/mit Adminrechten/Elevation

  Alt 10. Aug 2011, 09:13
Bei OpenService gibst du nur an, welche Rechte für den späteren Zugriff nötig wären, aber nicht welche Privilegien aktiviert werden müssen.
Das ist wie bei einer Datei: Du hast die Rechte zum Schreiben und Lesen, gibst aber nur das nötige im CreateFile an.
Hast du keine Schreibrechte und versuchst dennoch einen Schreibzugriff zu bekommen (GENERIC_WRITE), dann knallt's.


Entweder über deen Link von DeddyH oder z.B. über http://www.michael-puff.de/Programmi...rivilges.shtml
Ein Therapeut entspricht 1024 Gigapeut.

Geändert von himitsu (10. Aug 2011 um 09:16 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von chaosben
chaosben

Registriert seit: 27. Apr 2005
Ort: Görlitz
1.358 Beiträge
 
Delphi XE2 Professional
 
#2

AW: Service starten/stoppen ohne/mit Adminrechten/Elevation

  Alt 10. Aug 2011, 09:42
Was Deddy gesagt hat, nützt mir nichts, da mein Programm (noch) nicht genug Rechte hat, um auf den Dienst zuzugreifen (und dessen Security-Optionen zu ändern).

Der Hinweis bezüglich der Privilegien hingegen ist gut.
Mein aktueller Stand ist, das ich mit Luckies Routine mir das Privileg SeProfileSingleProcessPrivilege holen kann (es ist vorher nicht gesetzt)
Aber: bisher hat es keine Auswirkungen. Ich kann den den Dienst immer noch nicht öffnen, weil der Zugriff verweigert wird und ich finden keinen Hinweis darauf, welches andere Privileg nötig ist, um einen Dienst zu starten/stoppen
Benjamin Schwarze
If I have seen further it is by standing on the shoulders of Giants. (Isaac Newton)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.590 Beiträge
 
Delphi 12 Athens
 
#3

AW: Service starten/stoppen ohne/mit Adminrechten/Elevation

  Alt 10. Aug 2011, 10:38
Sysinternals > Process Explorer > Prozess-Eigenschaften
Dort nachsehn, was die Dienstverwaltung alles darf und mit Denen deines Programms vergleichen.
Angehängte Grafiken
Dateityp: png Unbenannt.png (22,6 KB, 45x aufgerufen)
Ein Therapeut entspricht 1024 Gigapeut.

Geändert von himitsu (10. Aug 2011 um 10:44 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von chaosben
chaosben

Registriert seit: 27. Apr 2005
Ort: Görlitz
1.358 Beiträge
 
Delphi XE2 Professional
 
#4

AW: Service starten/stoppen ohne/mit Adminrechten/Elevation

  Alt 10. Aug 2011, 11:15
Zwei **** ein Gedanke

Die 3 Privileges(ChangeNotify, CreateGlobal, Impersonate) die die MMC.exe hat helfen auch nicht weiter.
Benjamin Schwarze
If I have seen further it is by standing on the shoulders of Giants. (Isaac Newton)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.590 Beiträge
 
Delphi 12 Athens
 
#5

AW: Service starten/stoppen ohne/mit Adminrechten/Elevation

  Alt 10. Aug 2011, 11:30
Die 3 Privileges(ChangeNotify, CreateGlobal, Impersonate) die die MMC.exe hat helfen auch nicht weiter.
War Impersonate nicht sowas wie das Ändern von Rechten/Privilegien?

Wie dem auch sei ... aktiviere die doch mal bei dir uns schau ob es dann geht, eventuell zusammen mit dem Code von DeddyH.
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Benutzerbild von chaosben
chaosben

Registriert seit: 27. Apr 2005
Ort: Görlitz
1.358 Beiträge
 
Delphi XE2 Professional
 
#6

AW: Service starten/stoppen ohne/mit Adminrechten/Elevation

  Alt 10. Aug 2011, 11:34
Mit "helfen auch nicht weiter" meinte ich eigentlich: habs ausprobiert und nützt nix

Natürlich könnte ich mich als Administrator-User impersonaten ... aber das ist ja nicht Sinn der Sache.
Benjamin Schwarze
If I have seen further it is by standing on the shoulders of Giants. (Isaac Newton)
  Mit Zitat antworten Zitat
Benutzerbild von ChrisE
ChrisE

Registriert seit: 15. Feb 2006
Ort: Hechingen
504 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#7

AW: Service starten/stoppen ohne/mit Adminrechten/Elevation

  Alt 10. Aug 2011, 11:38
Hallo chaosben,

nur damit ich es verstehe - geht es Dir darum einen Dienst starten / stoppen zu können ohne die Admin-Nachfrage oder geht es dir darum es generell als Benutzer tun zu können?

Ich glaube als Benutzer hast du wenig möglichkeiten Dienste zu steuern. Dein (Sub)Programm braucht auf jeden Fall die Rechte dafür. Ob das Starten des (Sub)programms mit hohen Rechten allerdings mit dem UAC-Dialog ein her geht steht meiner Meinung nach auf einem anderen Blatt.

Gruß, Chris
Christian E.
Es gibt 10 Arten von Menschen, die die Binär lesen können und die die es nicht können

Delphi programming rules
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:01 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz