Einzelnen Beitrag anzeigen

Dezipaitor

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

Re: Überprüfen, ob Adminrechte zum Zugriff auf Ordner

  Alt 6. Okt 2007, 11:29
Die AccessControlList (ACL) bestimmt wer welche Rechte auf einen Ordner hat.
Ein Administrator hat nur den Vorteil, dass er sich Rechte daran verschaffen kann, indem er den Besitz des Ordners übernimmt. Denn der Besitzer kann immer die ACL anpassen und sich Rechte verschaffen.

Oder meinst du Vista? In Vista ist das MandatoryLevel eingeführt worden. Ordner besitzen ein zusätzliches Level, welches Niedrig, Normal und Hoch sein kann. Benutzer und dessen Prozesse (der Explorer), die selbst ein solches Level haben, können nur auf Daten zugreifen, die ein Level gleich oder kleiner besitzen. Dieses Level kann derzeit nur über die Kommandozeile geändert werden - sry, habe aber den Befehl vergessen. Glaube es war irgendwas mit iacacls oder so.

Wenn du tatsächlich überprüfen willst, welche Rechte ein Ordner hast, dann kann ich nur die Msdn und die Funktion "GetFileSecurity" empfehlen. Es ist leider etwas kompliziert und erfordert Zeigermanipulation auf C-Ebene, jedoch nicht unmachbar.

Am einfachsten ist es, indem du versuchst mit CreateFile (siehe MSDN) den Ordner zu öffnen. Glaube man muss das BACKUP_SEMANTICS Flag (oder so) darauf ansetzen, um ein Handle zum Ordner zu bekommen. Wenn der Versuch fehlschlägt, wegen Rechteproblem, dann sollte GetLastError den Wert 5 haben (Access denied).
Christian
Windows, Tokens, Access Control List, Dateisicherheit, Desktop, Vista Elevation?
Goto: JEDI API LIB & Windows Security Code Library (JWSCL)
  Mit Zitat antworten Zitat