将对文件夹的访问权限设置为只有一个用户

本文关键字:设置 有一个 用户 权限 访问权 文件夹 访问 | 更新日期: 2023-09-27 18:09:39

我想在windows中使用c#将权限分配给单个用户,其他用户不应该能够打开或更改该文件夹的访问权限。

例如,如果我有3个用户-用户组中的UserA,UserB和UserC。我想给权限访问一个文件夹只给用户。如果我拒绝用户组的访问权限而允许用户组的访问权限,那么拒绝权限将优先,对用户组的访问也将被拒绝。

解决这个问题的一个方法是拒绝Userb和Userc,并允许UserA访问文件夹。但是,如果在设置了用户帐户创建的权限后,新帐户将具有对文件夹的权限,则会出现问题。我不希望出现这种情况。

谢谢,Sujith

将对文件夹的访问权限设置为只有一个用户

ACL中未提及的任何人的默认权限为"no access"(空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);