Folder permissions

Why, when viewing permissions, the following access rule appears in the Explorer properties window: "Special permission"? I want it to appear as regular "modifying" access.

var di = new DirectoryInfo(ConfigDirectory);
DirectorySecurity security = di.GetAccessControl();
var rule = new FileSystemAccessRule(domainSid, FileSystemRights.Modify, AccessControlType.Allow);
security.AddAccessRule(rule);
di.SetAccessControl(security);

domainSid = SID for domain users.

  • How to create a rule so that it is inherited by all files created in this folder?
+3
source share
1 answer

Use this instead:

var di = new DirectoryInfo(ConfigDirectory);
DirectorySecurity security = di.GetAccessControl();
var rule = new FileSystemAccessRule(domainSid, FileSystemRights.Modify, InheritanceFlags.ObjectInherit | InheritanceFlags.ContainerInherit, PropagationFlags.None, AccessControlType.Allow);
security.AddAccessRule(rule);
security.SetAccessRule(rule);
di.SetAccessControl(security);

The difference is in using a constructor FileSystemAccessRulethat allows you to specify inheritance and a callsecurity.SetAccessRule(rule);

+2
source

Source: https://habr.com/ru/post/1787475/


All Articles