[Delphi] voldoende rechten verkrijgen voor RegisterEventSour

Pagina: 1
Acties:

  • Tomatoman
  • Registratie: November 2000
  • Laatst online: 00:26

Tomatoman

Fulltime prutser

Topicstarter
Ik heb een werkend programma gemaakt dat gegevens naar het Windows Event Log schrijft (onder WinXP). Nu gaat dat altijd goed als ik het programma zelf start, maar zodra het wordt gestart door IIS, gaat het fout. De gebruiker is dan de gastaccount voor Internet-verbindingen en de aanroep van de API-functie RegisterEventSource mislukt.

In de helpfiles van de Windows API lees ik dat de gebruiker 'write'-rechten nodig heeft om RegisterEventSource succesvol aan te roepen. Hoe verkrijgt het programma die rechten zonder de gastaccount gedag te zeggen?

Een goede grap mag vrienden kosten.


  • OZ-Gump
  • Registratie: November 2002
  • Laatst online: 26-06 10:37

OZ-Gump

terug van weggeweest

In welk log probeer je te schrijven? Want ook daar zijn verschillende regels van kracht. Zo is bijvoorbeeld lsass.exe de enige die in de Security log mag schrijven. Nu geef jij aan dat je, als je normaal start, wel kunt schrijven in 't log, dus zul je die niet gebruiken. Maar als je kunt aangeven welke je wel probeert te benaderen, kunnen we iets gerichter (helpen met) zoeken. ;)

My personal website


  • Tomatoman
  • Registratie: November 2000
  • Laatst online: 00:26

Tomatoman

Fulltime prutser

Topicstarter
Ik probeer naar de application log te schrijven. Onder mijn eigen gebruikersaccount (met admin-rechten) geeft RegisterEventSource netjes een handle terug en zie ik ook daadwerkelijk events in de application log verschijnen. Onder de IUSR_MIJNDOMEIN account van IIS retourneert RegisterEventSource de waarde 0. Ik had al geprobeerd om de waarde van de registry value RestrictGuestAccess in
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\EventLog\Application\
te veranderen naar 0, maar dat gaf geen resultaat. Wat blijkt vandaag? Na een systeemherstart werkt het opeens wel :D. Schrijven naar de event log werkt nu.

Nu doet zich echter een nieuw probleem voor. Mijn gebruikers (en dus ook het setupprogramma) hebben geen admin-rechten en om naar de al genoemde registry key te schrijven, heb je die rechten wel nodig. Hoe kan het setupprogramma of mijn eigen applicatie die verkrijgen zonder tussenkomst van een admin? Een sneaky trucje mag best, zolang het maar geen regelrechte hack wordt. Dat vinden de admins niet zo leuk :).

[ Voor 3% gewijzigd door Tomatoman op 01-07-2003 23:29 ]

Een goede grap mag vrienden kosten.


  • OZ-Gump
  • Registratie: November 2002
  • Laatst online: 26-06 10:37

OZ-Gump

terug van weggeweest

Als je setupje maakt met bijvoorbeeld installshield moet dat volgens mij wel werken. Kan kijken of het hier werkt, maar volgens mij wel.

Verder natuurlijk de vraag of die key ook bestaat per user en zo ja, dan kun je waarschijnlijk dezelfde aanpassing doen in HKEY_LOCAL_USER. De aanpassing is dan echter enkel voor de aanroepende gebruiker aangepast... :X

edit:
Duh.... Heb net even gekeken, maar de sleutel HKEY_CURRENT_USER\SYSTEM\ bestaat niet eens, laat staan de key die jij nodig hebt. :/ Nou kan ik het morgen nog ff met installshield proberen. Let me know if you need the info...

[ Voor 26% gewijzigd door OZ-Gump op 02-07-2003 01:23 ]

My personal website


  • Tomatoman
  • Registratie: November 2000
  • Laatst online: 00:26

Tomatoman

Fulltime prutser

Topicstarter
Het gaat om HKEY_LOCAL_MACHINE. En ik heb het inderdaad met InstallShield geprobeerd met het beschreven resultaat. Via Regedit kan ik de sleutels trouwens wel lezen, maar niet wijzigen of toevoegen. Toch bedankt voor het aanbod OZ-Gump.

Een goede grap mag vrienden kosten.