![]() |
Anwendung mit Systemrechten starten oder diese Erlangen?
Hallo allerseits!
Ich möchte meine Anwendung mit gern mit Systemrechten starten, oder diese Erlangen, undzwar ohne einen Dienst. Im Forum hab ich diesen Code gefunden.
Delphi-Quellcode:
Nun hab ich da mal ein paar Überlegungen und Fragen zu, berichtigt mich bitte wenn ich falsch liege. ;)
function EnablePrivilege(const Privilege: string; fEnable: Boolean; out PreviousState: Boolean): DWORD;
var Token : THandle; NewState : TTokenPrivileges; Luid : TLargeInteger; PrevState : TTokenPrivileges; Return : DWORD; begin SetLastError(0); // Clear last system error state PreviousState := True; if (GetVersion() > $80000000) then // Win9x Result := ERROR_SUCCESS else // WinNT begin if OpenProcessToken(GetCurrentProcess(), MAXIMUM_ALLOWED, Token) then begin try if LookupPrivilegeValue(nil, PChar(Privilege), Luid) then begin NewState.PrivilegeCount := 1; NewState.Privileges[0].Luid := Luid; if fEnable then NewState.Privileges[0].Attributes := SE_PRIVILEGE_ENABLED else NewState.Privileges[0].Attributes := 0; if AdjustTokenPrivileges(Token, False, NewState, SizeOf(TTokenPrivileges), PrevState, Return) then begin PreviousState := (PrevState.Privileges[0].Attributes and SE_PRIVILEGE_ENABLED <> 0); end; end; finally CloseHandle(Token); end; end; Result := GetLastError; end; end; 1. Da mein Programm eh immer mit Adminrechten gestartet wird, besitzt mein Programm auch die Rechte seine Privilegien zu ändern? und.. 2. Hatt jemand soetwas wie eine Parameterliste für diese Funktion? Ich meine was muss ich in der String Const "Privilege" an diese Funktion übergeben? z.B. für... Systemrechte -> ? Adminrechte -> ? Benutzterrechte ->? usw. Vielleicht kann der Dezipaitor da helfen? :) mfG Richard |
Re: Anwendung mit Systemrechten starten oder diese Erlangen?
Mit dieser Funktion kannst du nur deaktivierte Privilegien aktivieren, die bereits vorhanden sind. Dazu brauchst du auch keine Admin-Rechte. Nicht vorhandene Privilegien kannst du dir nicht verschaffen.
|
Re: Anwendung mit Systemrechten starten oder diese Erlangen?
Also mittels CACLS kann ich mir kann ich mir Zugriff verschaffen! Also sollte es doch möglich sein oder?
mfG Richard |
Re: Anwendung mit Systemrechten starten oder diese Erlangen?
Von CACLs (Was ist das?) hast du nichts erwähnt. Worauf kannst du dir Zugriff verschaffen?
|
Re: Anwendung mit Systemrechten starten oder diese Erlangen?
Wenn ich als Admin das Komandozeilentool CACLS entsprechend Anwende, bekomme ich Zugriff auf den Ordner. man könnte jetzt mit Shellexecute arbeiten
und so den Zugriff auf diesen Ordner gewähren. Jedoch denke ich das es dort eine elegantere Lösung geben muss. mfg Richard |
Re: Anwendung mit Systemrechten starten oder diese Erlangen?
Hier geht es in erster Linie um DACLs, nicht Privilegien. "Admin-Rechte" sind kein Privileg. Privilegien sind solche Dinge wie "herunterfahren dürfen" o.Ä. Einige davon hat ein Admin normalerweise, andere haben gewöhnlich alle.
Hast du als Admin Debug-Rechte? Damit ist das trivial. Andernfalls weniger. |
Re: Anwendung mit Systemrechten starten oder diese Erlangen?
Es geht um ACL's
mfg Richard |
Re: Anwendung mit Systemrechten starten oder diese Erlangen?
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:37 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