martins
Goto Top

Dateisystem Rechteverwaltung

Ich habe mehrere User im Netzwerk mit folgenden Rechten:
User1 - 'Vollzugriff'
User2 - 'Ändern' plus 'Berechtigungen ändern' im Ordner 'Sichern' (von User1 gesetzt)
User3 - Ändern (für bestimmte Ordner explizit gesetzt)
User4 - Ändern (für bestimmte Ordner explizit gesetzt)

Logge ich mich als User2 ein, kann ich die Berechtigungen von User3 und User4 auf Dateien in 'Sichern' ändern - wie erwünscht und erwartet (kein Schreibzugriff, kein Löschen).

User3 und User4 benutzen ein Programm, welches für bestimmte - für sie nicht erlaubte - Kopiervorgänge in andere Ordner den User2 impersoniert (WindowsIdentity.Impersonate()).
Nun versuche ich als User2 den Schreibzugriff von User3 und User4 auf bestimmte Dateien zu untersagen:
string user = "User3";  
FileInfo fi = new FileInfo("\\\\server\\Sichern\\test.txt");  
FileSecurity fs = fi.GetAccessControl();
fs.AddAccessRule(new FileSystemAccessRule(user, FileSystemRights.Write, AccessControlType.Deny));
fi.SetAccessControl(fs);
Hier wird aber eine UnauthorizedAccessException generiert.
Das gleiche passiert, wenn das Programm den User1 impersoniert.

Was mache ich da falsch?

Content-Key: 208888

Url: https://administrator.de/contentid/208888

Printed on: April 19, 2024 at 02:04 o'clock