Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi System-Account Programm startet User-Account Programm? (https://www.delphipraxis.net/43590-system-account-programm-startet-user-account-programm.html)

Tyrael Y. 6. Apr 2005 09:52


System-Account Programm startet User-Account Programm?
 
Moin zusammen,

ich habe da ein kleines Problem...
Ich habe einen Service der unter dem System-Account läuft..

Durch den Service möchte ich ein anderes Programm ausführen lassen, aber
unter dem Account des gerade eingeloggten Benutzers und nicht unter dem System-Account.

Ist so etwas möglich? Und wenn ja wie?

Danke schonmal.


LG Tyrael

s14 6. Apr 2005 10:14

Re: System-Account Programm startet User-Account Programm?
 
Hallo,
wenn Dir das Kennwort des Benutzers bekannt ist, kannst Du mal nach "CreateProcessWithLogonW" suchen.
Und mit der Funktion das Programm starten. Es funktioniert aber erst ab W2K.

Gruß
s14

Tyrael Y. 6. Apr 2005 10:57

Re: System-Account Programm startet User-Account Programm?
 
Danke schön s14, das hört sich doch schon mal gut an.
Ich werde es mal ausprobieren.

LG Tyrael.

Mephistopheles 6. Apr 2005 11:32

Re: System-Account Programm startet User-Account Programm?
 
Und wenn dir das Kennwort nicht bekannt ist, extrahierst du sein Logontoken einfach aus einem laufenden Prozess dieses Benutzers. Einziges Problem: Herausfinden wer der interaktive Benutzer ist (denn theoretisch können das mehrere sein).

Tyrael Y. 6. Apr 2005 11:44

Re: System-Account Programm startet User-Account Programm?
 
Hallo Mephistopheles,
wie meinst du das mit dem extrahieren aus einem laufenden Prozess?

Welche API-Funktion?


lg Tyrael

Mephistopheles 6. Apr 2005 12:02

Re: System-Account Programm startet User-Account Programm?
 
Da gibt es zuviele um sie hier in Kürze aufzuführen.

Es gibt allerdings ein C-Beispiel zum Thema (uralt aber immernoch repräsentativ):

Schau dir dort die Funktionen
- GetLoggedOnUserInformation()
- LogOffUser()
in der initlo.c an. Dort wird das gemacht, was ein Service machen müßte. Einzige Sache die du tauschen mußt, ist die EXE, welche ausgeführt wird.

Tyrael Y. 6. Apr 2005 12:28

Re: System-Account Programm startet User-Account Programm?
 
Danke schön schonmal.

Ich werd mir die Unit mal jetzt holen.

lg Tyrael

Tyrael Y. 6. Apr 2005 12:40

Re: System-Account Programm startet User-Account Programm?
 
..hm hab mal grade bissel bei Google gesucht...leider erfolglos...

..hast du eventuell einen Link zu ner Seite?


lg Tyrael

P.S.: Die Benutzer SID ist mir zB bekannt

Mephistopheles 6. Apr 2005 12:49

Re: System-Account Programm startet User-Account Programm?
 
:oops: Sorry. Logo: Bei Google suchenLogoff Frink oder direkt:
http://wwwthep.physik.uni-mainz.de/~...ff/readme.html

Apropos: wenn dir die SID bekannt ist, kannst du es machen wie es Nebbett in seinem Buch vorschlägt. Du schmiedest dir einfach dein eigenes Token ;) ... SYSTEM darf das (also der Kontext in dem du läufst, wenn du einen Service ohne expliziten Benutzer/Paßwort installiert hast).

Tyrael Y. 6. Apr 2005 13:43

Re: System-Account Programm startet User-Account Programm?
 
..hm muss ich mir wohl das Buch mal besorgen oder mal gucken, ob es als pdf irgendwo verfügbar ist...

..oder hast du es zur Hand und könntest den Sourcecodeabschnitt posten, indem das Token aus der SID
ermittelt wird?

..danke schonmal..

lg Tyrael


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:14 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