Разрешение по умолчанию для тех, кто не упомянут в ACL, - «нет доступа» ( Пустой DACL не предоставляет доступа).Поэтому не допускайте, чтобы папка наследовала защиту от своего родителя, и назначайте разрешения только для пользователя A.
(Конечно, это не мешает администратору вступать в права собственности и впоследствии предоставлять разрешения для себя. Ничто не может этому помешать)
Например, создать каталог с именем C:\FruitBat
, который доступен только для пользователя DOMAIN\User1
:
System.Security.AccessControl.DirectorySecurity dacl = new System.Security.AccessControl.DirectorySecurity();
dacl.AddAccessRule(new System.Security.AccessControl.FileSystemAccessRule(@"DOMAIN\User1",
System.Security.AccessControl.FileSystemRights.FullControl,
System.Security.AccessControl.InheritanceFlags.ContainerInherit |
System.Security.AccessControl.InheritanceFlags.ObjectInherit,
System.Security.AccessControl.PropagationFlags.None ,
System.Security.AccessControl.AccessControlType.Allow));
System.IO.Directory.CreateDirectory(@"C:\FruitBat", dacl);