ACL 中未提及的任何人的默认权限是“无访问权限”(空 DACL授予无访问权限)。因此,请防止文件夹从其父文件夹继承安全性,并仅将权限分配给 UserA。
(当然,这并不能阻止管理员取得所有权并随后为自己授予权限。没有什么可以阻止)
例如,创建一个名为 的目录,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);