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?

Antworten auf die Frage(1)

Ihre Antwort auf die Frage