AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Privilegien enumerieren

Ein Thema von Luckie · begonnen am 26. Mai 2006 · letzter Beitrag vom 1. Jun 2006
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#1

Privilegien enumerieren

  Alt 26. Mai 2006, 02:31
Gibt es eine API Funktion, die alle verfügbaren Privilegien auflistet? Bisher habe ich die Lite hardgecodet, aber was ist, wenn es bestimmte Privilegien nicht gibt oder neue hinzukommen? Deswegen suche ich eine API Funktion, die mir alle verfügbaren Privilegien auflistet.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von _frank_
_frank_

Registriert seit: 21. Feb 2003
Ort: Plauen / Bamberg
922 Beiträge
 
Delphi 3 Professional
 
#2

Re: Privilegien enumerieren

  Alt 26. Mai 2006, 02:37
meinst du sowas:
http://msdn.microsoft.com/library/de...ountrights.asp
?

Gruß Frank
Frank Wunderlich
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#3

Re: Privilegien enumerieren

  Alt 26. Mai 2006, 02:45
Fast:
Zitat:
The LsaEnumerateAccountRights function enumerates the privileges assigned to an account.
Damit bekomme ich die Privilegien, die einem Konto zugeordnet sind. Ich brauche aber alle verfügbaren Privilegien.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von _frank_
_frank_

Registriert seit: 21. Feb 2003
Ort: Plauen / Bamberg
922 Beiträge
 
Delphi 3 Professional
 
#4

Re: Privilegien enumerieren

  Alt 26. Mai 2006, 02:55
evtl in Verbindung mit LsaLookupSids, das gibt dir die verfügbaren sids, die du dann in LsaEnumerateAccountRights brauchst.

HTH Frank
Frank Wunderlich
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#5

Re: Privilegien enumerieren

  Alt 26. Mai 2006, 03:00
das nützt mir nichts, da ich mit LsaEnumerateAccountRights nur die Privilegien bekomme, die einem Konto zugeordnet sind. Was ist aber mit den privilegien, die keinem Konto zugeordnet sind?
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von _frank_
_frank_

Registriert seit: 21. Feb 2003
Ort: Plauen / Bamberg
922 Beiträge
 
Delphi 3 Professional
 
#6

Re: Privilegien enumerieren

  Alt 26. Mai 2006, 03:04
sollte der Administrator-account nicht alle Rechte haben?
eine direkte funktion zum enumerieren aller Rechte hab ich noch nicht gefunden...sry

Gruß Frank
Frank Wunderlich
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#7

Re: Privilegien enumerieren

  Alt 26. Mai 2006, 03:10
Nope.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Olli
(Gast)

n/a Beiträge
 
#8

Re: Privilegien enumerieren

  Alt 1. Jun 2006, 02:06
Das geht nicht mit "normalen" Mitteln.

Allerdings haben alle Privilegien einen Integer-Wert, den du als LUID angibst. Da diese LUIDs alle dicht an dicht angeordnet sind und vermutlich in Zukunft auch bleiben werden, könntest du MSDN-Library durchsuchenLookupPrivilegeName solange aufrufen, bis es fehlschlägt - wobei du den Wert des LUID jeweils um eins erhöhst. Danach kannst du dann den benutzerfreundlichen String über MSDN-Library durchsuchenLookupPrivilegeDisplayName herausfinden. Die Zahlenwerte der MSDN-Library durchsuchenLUIDs findest du im DDK. Hier mal die Liste aus meinem 2003er DDK:
Code:
//
// These must be converted to LUIDs before use.
//

#define SE_MIN_WELL_KNOWN_PRIVILEGE      (2L)
#define SE_CREATE_TOKEN_PRIVILEGE        (2L)
#define SE_ASSIGNPRIMARYTOKEN_PRIVILEGE  (3L)
#define SE_LOCK_MEMORY_PRIVILEGE         (4L)
#define SE_INCREASE_QUOTA_PRIVILEGE      (5L)


//
// Unsolicited Input is obsolete and unused.
//

#define SE_UNSOLICITED_INPUT_PRIVILEGE   (6L)


#define SE_MACHINE_ACCOUNT_PRIVILEGE     (6L)
#define SE_TCB_PRIVILEGE                 (7L)
#define SE_SECURITY_PRIVILEGE            (8L)
#define SE_TAKE_OWNERSHIP_PRIVILEGE      (9L)
#define SE_LOAD_DRIVER_PRIVILEGE         (10L)
#define SE_SYSTEM_PROFILE_PRIVILEGE      (11L)
#define SE_SYSTEMTIME_PRIVILEGE          (12L)
#define SE_PROF_SINGLE_PROCESS_PRIVILEGE (13L)
#define SE_INC_BASE_PRIORITY_PRIVILEGE   (14L)
#define SE_CREATE_PAGEFILE_PRIVILEGE     (15L)
#define SE_CREATE_PERMANENT_PRIVILEGE    (16L)
#define SE_BACKUP_PRIVILEGE              (17L)
#define SE_RESTORE_PRIVILEGE             (18L)
#define SE_SHUTDOWN_PRIVILEGE            (19L)
#define SE_DEBUG_PRIVILEGE               (20L)
#define SE_AUDIT_PRIVILEGE               (21L)
#define SE_SYSTEM_ENVIRONMENT_PRIVILEGE  (22L)
#define SE_CHANGE_NOTIFY_PRIVILEGE       (23L)
#define SE_REMOTE_SHUTDOWN_PRIVILEGE     (24L)
#define SE_UNDOCK_PRIVILEGE              (25L)
#define SE_SYNC_AGENT_PRIVILEGE          (26L)
#define SE_ENABLE_DELEGATION_PRIVILEGE   (27L)
#define SE_MANAGE_VOLUME_PRIVILEGE       (28L)
#define SE_IMPERSONATE_PRIVILEGE         (29L)
#define SE_CREATE_GLOBAL_PRIVILEGE       (30L)
#define SE_MAX_WELL_KNOWN_PRIVILEGE      (SE_CREATE_GLOBAL_PRIVILEGE)
Da ein LUID im Grunde ein 64bit signed Integer ist, kannst du die entsprechenden Casts verwenden

Ich würde eine FOR-Schleife mit SE_MIN_WELL_KNOWN_PRIVILEGE als Anfangspunkt nehmen ... oder WHILE oder so.
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#9

Re: Privilegien enumerieren

  Alt 1. Jun 2006, 02:08
Das wäre eine Möglichkiet, wenn auch etwas unelegant.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Olli
(Gast)

n/a Beiträge
 
#10

Re: Privilegien enumerieren

  Alt 1. Jun 2006, 02:18
Nunja, da Privilegien nur hinzukommen, wenn MS ein neues OS veröffentlicht, nimmt man (zu Recht) an, daß dann auch für eine Anwendung ein neuer Release möglich ist, wenn etwas spezielles unterstützt werden soll. Und gerade Privilegien sind ja nun wirklich nix, was sich ständig ändert.

Ich weiß jetzt nur nicht, ob ich wieder mal "Privileges" und "Account Rights" durcheinandergebracht habe.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 04:06 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