Nutzerrechte setzen und übernehmen auf Unterordner
-
Habe es nun hinbekommen mit Hilfe von C++ die Zugriffsrechte für Ornder zu setzen. Allerdings ergeben sich aus meiner Sicht zwei Probleme:
1. Es wird zwar der Nutzer "Jeder" im Sicherheitsreiter angezeigt, allerdings sind alle Rechtekästchen leer. Allerdings ist es so möglich als eingeschränkter Benutzer um angepaßten Ordner Dateien zu erstellen.
2. Leider wird diese Eigenschaft aber nicht auf weitere Unterordner vererbt.
Bin für jeden Lösungsvorschlag dankbar!
Schon mal im Voraus, Danke!
-
Wiehast Du es gemacht? Zeig mal etwas Code.
Besonders der Teil wo Du AllocateAndInitializeSid und SetNamedSecurityInfo verwendet hast!
In SetNamedSecurityInfo kanst Du SUB_CONTAINERS_AND_OBJECTS_INHERIT setzen. Dadurch wird die Vererbung eingeleitet.
-
Der Code ist hier zu finden: http://support.microsoft.com/kb/102102
In ihm habe ich "Step 1" ersetzt um "jedem" alles zu erlauben und zwar durch folgenden Code:
PSID pUserSID = NULL; SID_IDENTIFIER_AUTHORITY WorldAuth = SECURITY_WORLD_SID_AUTHORITY; AllocateAndInitializeSid(&WorldAuth, // Top-level SID authority 1, // Number of subauthorities SECURITY_WORLD_RID, // Subauthority value 0, 0, 0, 0, 0, 0, 0, &pUserSID // SID returned as OUT parameter );@Martin: Leider benutze ich SetNamedSecurityInfo nicht.
-
Und warum? Das ist wirklich die einfacshte Methode SetNamedSecurityInfo.
Ansonsten kennst Du diese schon?
http://win32.mvps.org/security/fksec.html
:xmas2:
-
Ok, habe mir jetzt mal noch folgendes Beispiel gesucht: http://msdn2.microsoft.com/en-us/library/aa379620.aspx
Hier wird SetNamedSecurityInfo verwendet, welchen Parameter mit ich mit SUB_CONTAINERS_AND_OBJECTS_INHERIT übergeben?
-
Sorry dieser Parameter wird ja schon in SetEntriesInAcl benötigt:
EXPLICIT_ACCESS::grfInheritance wird auf SUB_CONTAINERS_AND_OBJECTS_INHERIT gesetzt.
-
Danke, hat funktioniert!