AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Zugriff auf "Eigene Dateien" / "Registry" vom Dienst aus
Thema durchsuchen
Ansicht
Themen-Optionen

Zugriff auf "Eigene Dateien" / "Registry" vom Dienst aus

Ein Thema von greenmile · begonnen am 28. Feb 2011 · letzter Beitrag vom 2. Mär 2011
Antwort Antwort
greenmile

Registriert seit: 17. Apr 2003
1.107 Beiträge
 
Delphi 10.3 Rio
 
#1

Zugriff auf "Eigene Dateien" / "Registry" vom Dienst aus

  Alt 28. Feb 2011, 15:12
Hallo,

ich benötige von meinem Dienst aus Zugriff auf die jeweils aktuelle CURRENT_USER Registry bzw auf den Pfad "Eigene Dateien". Das Problem liegt auf der Hand: Ein Dienst sieht eigentlich nur sich selbst, also linkt CURRENT_USER nur auf die Registry des Dienstes. Jetzt war meine Idee, dass ich ja die SID vom aktuell angemeldeten User auslesen und diese für HKEY_USERS\S-1238 usw verwenden kann. Leider finde ich hierüber keinen Source, hat jemand eine Idee? Den Usernamen des jeweils aktuellen Benutzers kann ich korrekt auslesen (dank http://www.delphipraxis.net/615483-post1.html), aber wie lese ich die SID aus? Und funkioniert es korrekt mit HKEY_USERS\{SID}?

Paul
  Mit Zitat antworten Zitat
Benutzerbild von Assarbad
Assarbad

Registriert seit: 8. Okt 2010
Ort: Frankfurt am Main
1.234 Beiträge
 
#2

AW: Zugriff auf "Eigene Dateien" / "Registry" vom Dienst aus

  Alt 28. Feb 2011, 15:46
[...] aber wie lese ich die SID aus? Und funkioniert es korrekt mit HKEY_USERS\{SID}?
Mit MSDN-Library durchsuchenLookupAccountSid . Ob die vom Service aus sichtbar sind, weiß ich nicht ad-hoc, aber sollten eigentlich. Funktioniert aber nur wenn der entsprechende Hive geladen ist (MSDN-Library durchsuchenRegLoadKey).

Übrigens: was ist denn deiner Meinung nach der jeweils aktuelle Benutzer?
Oliver
"... aber vertrauen Sie uns, die Physik stimmt." (Prof. Harald Lesch)
  Mit Zitat antworten Zitat
greenmile

Registriert seit: 17. Apr 2003
1.107 Beiträge
 
Delphi 10.3 Rio
 
#3

AW: Zugriff auf "Eigene Dateien" / "Registry" vom Dienst aus

  Alt 28. Feb 2011, 15:57
Habe gerade gesehen, dass mir die Nachricht WTS_SESSION_LOGON ja als lParam die SessionID übergibt. Die Frage ist jetzt bloss, wie ich damit weitermache. Ich benötige eine View auf die Registry vom aktuellen Benutzer, also für den, der gerade die Tastatur verwendet. Hintergrund ist, dass der Dienst Daten aus der Registry ausliest, die jeweils für den aktuellen Benutzer gelten. Loggt sich ein Benutzer ein, muss der Dienst aus HKCU Daten auslesen und diese auswerten. Ist übrigens kein Virus o.ä.

Hast Du eine Idee?

Geändert von greenmile (28. Feb 2011 um 16:02 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Assarbad
Assarbad

Registriert seit: 8. Okt 2010
Ort: Frankfurt am Main
1.234 Beiträge
 
#4

AW: Zugriff auf "Eigene Dateien" / "Registry" vom Dienst aus

  Alt 28. Feb 2011, 16:14
Habe gerade gesehen, dass mir die Nachricht WTS_SESSION_LOGON ja als lParam die SessionID übergibt.
Ich bin verwirrt. Wie kommst du darauf, daß dir das weiterhilft?

Ich benötige eine View auf die Registry vom aktuellen Benutzer, also für den, der gerade die Tastatur verwendet.
Kannst du nicht wirklich herausbekommen. Wenn man es je nach System eingrenzt, gibt es weitere Anhaltspunkte, aber ein sicheres System ist mir noch nicht untergekommen.

Wer das behauptet blendet nämlich aus, daß es sich bei der NT-Plattform um Mehrbenutzersysteme handelt.

Hintergrund ist, dass der Dienst Daten aus der Registry ausliest, die jeweils für den aktuellen Benutzer gelten. Loggt sich ein Benutzer ein, muss der Dienst aus HKCU Daten auslesen und diese auswerten.
Ein Programm welches im Kontext des entsprechenden Benutzers läuft könnte deinem Dienst bescheidgeben und die entsprechenden Daten sogar gleich mitliefern. Wäre allemale sauberer als das was sich bisher hier abzeichnet.
Oliver
"... aber vertrauen Sie uns, die Physik stimmt." (Prof. Harald Lesch)
  Mit Zitat antworten Zitat
Dezipaitor

Registriert seit: 14. Apr 2003
Ort: Stuttgart
1.701 Beiträge
 
Delphi 7 Professional
 
#5

AW: Zugriff auf "Eigene Dateien" / "Registry" vom Dienst aus

  Alt 28. Feb 2011, 18:01
Funktionsaufrufe:

WTSGetActiveConsoleSession dann WTSQueryUserToken

SHGetFolderPath mit Token
und
KORREKTUR
RegOpenUserClassesRoot
bzw.
ImpersonateLoggedOnUser mit token, dann
RegOpenCurrentUser
Christian
Windows, Tokens, Access Control List, Dateisicherheit, Desktop, Vista Elevation?
Goto: JEDI API LIB & Windows Security Code Library (JWSCL)

Geändert von Dezipaitor (28. Feb 2011 um 21:58 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Assarbad
Assarbad

Registriert seit: 8. Okt 2010
Ort: Frankfurt am Main
1.234 Beiträge
 
#6

AW: Zugriff auf "Eigene Dateien" / "Registry" vom Dienst aus

  Alt 28. Feb 2011, 19:04
RegOpenCurrentUser bzw.
RegOpenUserClassesRoot
Funktionieren die ohne Impersonation?

Auf WTSGetActiveConsoleSession bin ich nicht gekommen. Aber stimmt, wäre ja die Konsole wenn es derjenige vor der Tastatur sein soll.
Oliver
"... aber vertrauen Sie uns, die Physik stimmt." (Prof. Harald Lesch)
  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 11:11 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz