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);