Programmgesteuertes Zuweisen der Zugriffssteuerungslistenberechtigung (Access Control List, ACL) zu "diesem Ordner, Unterordnern und Dateien"
Ich muss die Berechtigung für einen Ordner und dessen untergeordnete Ordner und Dateien programmgesteuert mit C # .NET zuweisen. Ich mache das wie folgt:
<code>var rootDic = @"C:\ROOT"; var identity = "NETWORK SERVICE"; //The name of a user account. try { var accessRule = new FileSystemAccessRule(identity, fileSystemRights: FileSystemRights.Modify, inheritanceFlags: InheritanceFlags.ContainerInherit | InheritanceFlags.ObjectInherit, propagationFlags: PropagationFlags.InheritOnly, type: AccessControlType.Allow); var directoryInfo = new DirectoryInfo(rootDic); // Get a DirectorySecurity object that represents the current security settings. DirectorySecurity dSecurity = directoryInfo.GetAccessControl(); // Add the FileSystemAccessRule to the security settings. dSecurity.AddAccessRule(accessRule); // Set the new access settings. directoryInfo.SetAccessControl(dSecurity); } catch (Exception ex) { //... } </code>
Es werden Berechtigungen für meinen Ordner "C: \ ROOT" zugewiesen. Die Berechtigung wird jedoch nur den Unterordnern und Dateien zugewiesen, nicht jedoch dem Ordner "ROOT".
F: Wie kann ich das definieren?FileSystemAccessRule
Instanz, um die Berechtigung für den ROOT-Ordner, Unterordner und Dateien zuzuweisen?