Dateiberechtigungen für bestimmte Benutzer prüfen
-
Hallo,
ich möchte prüfen, ob ein bestimmter Benutzer (mittles login + Domain, oder besser mittles SID, ...) Zugriff auf eine Datei (READ,...) hat. Momentan verwende ich "GetEffectiveRightsFromAcl". In einem älteren Beitrag (http://www.c-plusplus.net/forum/viewtopic-var-t-is-15627-and-start-is-0-and-postdays-is-0-and-postorder-is-asc-and-highlight-is-.html) stand aber, dass diese Funktion recht unzuverlässig ist.
Meine Frage ist nun, ob diese Funktion mittlerweile gut funktioniert (Win Server und XP), oder ob man besser auf AccessCheck (wie im anderen Beitrag empfohlen) ausweichen sollte, oder ob es zwischenzeitlich (c++) bessere und einfachere Möglichkeiten gibt.
Super wäre es, wenn jemand einen Beispielcode zur Verfügung stellen könnte, wie man die Zugriffsrechte mittles c++ performant überprüfen kann, etwas in der Richtung:
CheckPermissionsOnFile(LPWSTR SUser, LPWSTR SDomain, LPWSTR SFileName, long lAccessToCheck, BOOL *pbOK) oder: CheckPermissionsOnFile(LPWSTR SSID, LPWSTR SFileName, long lAccessToCheck, BOOL *pbOK)(SID kann evtl. zwischengespeichert werden dachte ich mir -> bessere Performance, bin aber nicht so vertraut mit den Security Sachen in Win.)
Vielen Dank und viele Grüße
Stefan
-
Evtl. findest Du hier einige nützliche Sachen:
http://win32.mvps.org/security/fksec.html
http://win32.mvps.org/security/checkacl.html
http://win32.mvps.org/security/dumpacl.html