AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi OpenProcessToken + Access Denied
Thema durchsuchen
Ansicht
Themen-Optionen

OpenProcessToken + Access Denied

Ein Thema von toms · begonnen am 17. Apr 2004 · letzter Beitrag vom 17. Apr 2004
Antwort Antwort
Benutzerbild von toms
toms
(CodeLib-Manager)

Registriert seit: 10. Jun 2002
4.648 Beiträge
 
Delphi XE Professional
 
#1

OpenProcessToken + Access Denied

  Alt 17. Apr 2004, 23:10
Hi,

Ich rufe
OpenProcessToken(ProcessHandle, TOKEN_QUERY, hToken)
für alle laufenden Prozesse.

Bei einigen Prozessen (z.B System Prozess) gibt's jedoch ein "Access Denied"

Laut msdn muss man "SACL Access Right" anpassen.

http://msdn.microsoft.com/library/de...cess_right.asp

Weiss jemand wie das geht?
Thomas
  Mit Zitat antworten Zitat
NicoDE
(Gast)

n/a Beiträge
 
#2

Re: OpenProcessToken + Access Denied

  Alt 17. Apr 2004, 23:20
Such im Forum nach EnablePrivilege.
Die Konstanten sehen wie folgt aus:
Delphi-Quellcode:
{ WinNT.h, line 5004 }

////////////////////////////////////////////////////////////////////////
// //
// NT Defined Privileges //
// //
////////////////////////////////////////////////////////////////////////

const
  SE_CREATE_TOKEN_NAME = 'SeCreateTokenPrivilege';
  SE_ASSIGNPRIMARYTOKEN_NAME = 'SeAssignPrimaryTokenPrivilege';
  SE_LOCK_MEMORY_NAME = 'SeLockMemoryPrivilege';
  SE_INCREASE_QUOTA_NAME = 'SeIncreaseQuotaPrivilege';
  SE_UNSOLICITED_INPUT_NAME = 'SeUnsolicitedInputPrivilege';
  SE_MACHINE_ACCOUNT_NAME = 'SeMachineAccountPrivilege';
  SE_TCB_NAME = 'SeTcbPrivilege';
  SE_SECURITY_NAME = 'SeSecurityPrivilege';
  SE_TAKE_OWNERSHIP_NAME = 'SeTakeOwnershipPrivilege';
  SE_LOAD_DRIVER_NAME = 'SeLoadDriverPrivilege';
  SE_SYSTEM_PROFILE_NAME = 'SeSystemProfilePrivilege';
  SE_SYSTEMTIME_NAME = 'SeSystemtimePrivilege';
  SE_PROF_SINGLE_PROCESS_NAME = 'SeProfileSingleProcessPrivilege';
  SE_INC_BASE_PRIORITY_NAME = 'SeIncreaseBasePriorityPrivilege';
  SE_CREATE_PAGEFILE_NAME = 'SeCreatePagefilePrivilege';
  SE_CREATE_PERMANENT_NAME = 'SeCreatePermanentPrivilege';
  SE_BACKUP_NAME = 'SeBackupPrivilege';
  SE_RESTORE_NAME = 'SeRestorePrivilege';
  SE_SHUTDOWN_NAME = 'SeShutdownPrivilege';
  SE_DEBUG_NAME = 'SeDebugPrivilege';
  SE_AUDIT_NAME = 'SeAuditPrivilege';
  SE_SYSTEM_ENVIRONMENT_NAME = 'SeSystemEnvironmentPrivilege';
  SE_CHANGE_NOTIFY_NAME = 'SeChangeNotifyPrivilege';
  SE_REMOTE_SHUTDOWN_NAME = 'SeRemoteShutdownPrivilege';
  SE_UNDOCK_NAME = 'SeUndockPrivilege';
  SE_SYNC_AGENT_NAME = 'SeSyncAgentPrivilege';
  SE_ENABLE_DELEGATION_NAME = 'SeEnableDelegationPrivilege';
  SE_MANAGE_VOLUME_NAME = 'SeManageVolumePrivilege';
  SE_IMPERSONATE_NAME = 'SeImpersonatePrivilege';
  SE_CREATE_GLOBAL_NAME = 'SeCreateGlobalPrivilege';
  Mit Zitat antworten Zitat
Benutzerbild von toms
toms
(CodeLib-Manager)

Registriert seit: 10. Jun 2002
4.648 Beiträge
 
Delphi XE Professional
 
#3

Re: OpenProcessToken + Access Denied

  Alt 17. Apr 2004, 23:25
Zitat:
Such im Forum nach EnablePrivilege.
Hatte bereits mit AdjustTokenPrivileges gespielt aber leider ohne Erfolg.
Habe das SeSecurityPrivilege aktiviert.
Thomas
  Mit Zitat antworten Zitat
NicoDE
(Gast)

n/a Beiträge
 
#4

Re: OpenProcessToken + Access Denied

  Alt 17. Apr 2004, 23:28
Was genau willst Du denn machen?
Einige System-Prozesse wirst Du nicht im herkömmlichen Sinne öffnen können.
  Mit Zitat antworten Zitat
Benutzerbild von toms
toms
(CodeLib-Manager)

Registriert seit: 10. Jun 2002
4.648 Beiträge
 
Delphi XE Professional
 
#5

Re: OpenProcessToken + Access Denied

  Alt 17. Apr 2004, 23:33
Möchte mit LookupAccountSid() den Benutzernamen eines Prozesses ermitteln.

OpenProcess(PROCESS_QUERY_INFORMATION,...) -->
OpenProcessToken(...,TOKEN_QUERY,...) -->
GetTokenInformation -->
LookupAccountSid
Thomas
  Mit Zitat antworten Zitat
NicoDE
(Gast)

n/a Beiträge
 
#6

Re: OpenProcessToken + Access Denied

  Alt 17. Apr 2004, 23:40
Wenn ich mich recht erinnere (bin gerade nicht unter Windows), dann geht das beim "System"-Prozess nicht...
  Mit Zitat antworten Zitat
Benutzerbild von toms
toms
(CodeLib-Manager)

Registriert seit: 10. Jun 2002
4.648 Beiträge
 
Delphi XE Professional
 
#7

Re: OpenProcessToken + Access Denied

  Alt 17. Apr 2004, 23:42
Dann ist der Benutzername wahrscheinlich einfach "SYSTEM", so wie er im Task-Manager angezeigt wird.
Thomas
  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 12:36 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