Discussion:
Dienst beenden verhindern
(zu alt für eine Antwort)
Werner Pfundstein
2004-11-03 19:30:37 UTC
Permalink
Hallo zusammen,

suche mich noch blöd.

Programmiere gerade einen Service mit VB. Jetzt will ich verhindern, dass
der Dienst beendet werden kann, selbst wenn es der Administrator durchführt.
Ist das irgendwie möglich?

Danke und Gruß

Werner
Thorsten Dörfler
2004-11-03 21:43:25 UTC
Permalink
Post by Werner Pfundstein
Programmiere gerade einen Service mit VB. Jetzt will ich verhindern, dass
der Dienst beendet werden kann, selbst wenn es der Administrator durchführt.
Ist das irgendwie möglich?
Ich weiß jetzt nicht, wie der Service Control Manager reagiert, wenn Du auf
die Anforderung Deinen Service zu stoppen einfach nicht reagierst. Ansonsten
wüsste ich da auch keinen Weg. Es hat ja irgendwie auch einen Sinn, dass der
Administrator Dienste beenden kann. Der sollte ansich wissen, was er tut.
Und gewöhnliche Benutzer können Dienste ohnehin nicht stoppen.

Thorsten Dörfler
--
vb-hellfire - einfach anders
http://www.vb-hellfire.de/
Werner Pfundstein
2004-11-03 23:56:36 UTC
Permalink
Post by Thorsten Dörfler
Ich weiß jetzt nicht, wie der Service Control Manager reagiert, wenn Du auf
die Anforderung Deinen Service zu stoppen einfach nicht reagierst. Ansonsten
wüsste ich da auch keinen Weg. Es hat ja irgendwie auch einen Sinn, dass der
Administrator Dienste beenden kann. Der sollte ansich wissen, was er tut.
Ich habe das Microsoft NT Service Control im Einsatz. Sehe da bisher keine
Möglichkeit das Stoppen des Dienstes zu verhindern. Gibt es da eventuell
eine andere Möglichkeit einen Dienst in VB zu programmieren der dies
ermöglicht.
Post by Thorsten Dörfler
Und gewöhnliche Benutzer können Dienste ohnehin nicht stoppen.
Richtig. Aber ich will eben auch verhindern dass der Administrator den
Service stoppen kann. Ausser er gibt ein von mir definiertes Passwort ein.

Hintergrund des Ganzen ist, einen Service laufen zu lassen welcher nur von
"besonders" autorisierten Personen beendet werden kann.

Gruß, Werner
Dieter Strassner
2004-11-04 06:42:32 UTC
Permalink
Hallo Werner,
Post by Werner Pfundstein
Hintergrund des Ganzen ist, einen Service laufen zu lassen welcher nur von
"besonders" autorisierten Personen beendet werden kann.
damit definierst Du einen "SuperAdmin", der im Windowssicherheitskonzept -
so weit ich das kenne - nicht vorgesehen ist. Warum stuft Ihr nicht den
bisherigen ADMIN ab (kann ja gehaltsneutral passieren *g*), und definiert
einen "neuen" Admin der auch deinen Service beenden darf?

Einen Service ohne das Control, dafür mit viiiielen API-Calls:
http://***@chat.ru
Das Teil ist bei uns seit einigen Monaten im Einsatz und funzt.
Aber dort besteht das gleiche Problem. Zudem ich bisher nicht erkennen
konnte, ob+wie der Grund des Service-Stops weitergegeben wird.

Warum protokollierst Du nicht einfach die START+STOP's und startet nur über
zusätzliche Eingabe eines Passworts?
--
Viele Grüße

Dieter


Rückfragen bitte nur in die Newsgroup!

EDV-Kommunikation Strassner e.K.
68623 Lampertheim
Internet: www.strassner.biz
Dieter Strassner
2004-11-04 06:56:43 UTC
Permalink
... der Link der keiner war wird ersetzt durch was passendes:

http://www.smsoft.ru/en/ntservice.htm
--
Viele Grüße

Dieter


Rückfragen bitte nur in die Newsgroup!

EDV-Kommunikation Strassner e.K.
68623 Lampertheim
Internet: www.strassner.biz
Thorsten Dörfler
2004-11-04 11:13:51 UTC
Permalink
Post by Werner Pfundstein
Post by Thorsten Dörfler
Ich weiß jetzt nicht, wie der Service Control Manager reagiert, wenn Du auf
die Anforderung Deinen Service zu stoppen einfach nicht reagierst. Ansonsten
wüsste ich da auch keinen Weg. Es hat ja irgendwie auch einen Sinn, dass der
Administrator Dienste beenden kann. Der sollte ansich wissen, was er tut.
Ich habe das Microsoft NT Service Control im Einsatz. Sehe da bisher keine
Möglichkeit das Stoppen des Dienstes zu verhindern. Gibt es da eventuell
eine andere Möglichkeit einen Dienst in VB zu programmieren der dies
ermöglicht.
Das Teil schwirrt an diversen Stellen im Internet als C++ Quellcode herum:
Dienst mit VB erstellen
http://www.vbarchiv.net/workshop/workshop41.php
Post by Werner Pfundstein
Richtig. Aber ich will eben auch verhindern dass der Administrator den
Service stoppen kann. Ausser er gibt ein von mir definiertes Passwort ein.
Hintergrund des Ganzen ist, einen Service laufen zu lassen welcher nur von
"besonders" autorisierten Personen beendet werden kann.
Ein Administrator *ist* eine besonders autorisierte Person. Im Allgemeinen
zumindest. Das nächst niedrigere wäre der Hauptbenutzer oder was auch immer
man per Sicherheitsrichtlinie definiert.

Thorsten Dörfler
--
vb-hellfire - einfach anders
http://www.vb-hellfire.de/
Carsten Sekulla
2004-11-05 07:48:56 UTC
Permalink
Post by Werner Pfundstein
Richtig. Aber ich will eben auch verhindern dass der Administrator den
Service stoppen kann. Ausser er gibt ein von mir definiertes Passwort ein.
Hintergrund des Ganzen ist, einen Service laufen zu lassen welcher nur von
"besonders" autorisierten Personen beendet werden kann.
Hi,
ihmo gibt es 2 Wege

1. generell das Beenden verbieten
object.ControlsAccepted = 4 (?)

svcCtrlStartStop 1 Enables Start and
Stop events.

svcCtrlPauseContinue 2 Enables the Pause and
Continue events.

svcCtrlShutdown 4 Enables shutdown
events


2. Service-Neustart
den Service leicht zeitverzögert neustarten
- im Event Private Sub NTService1_Stop()
- anderes Programm starten
- Programm wartet auf die Beendigung des Services und startet ihn neu

ABER das hilft alles nicht gegen KILL /F procedure, da gibt es unter XP nur
einen Eintrag im Eventlog

cu CS

Loading...