gpt4 book ai didi

c# - 将文件夹的访问权限设置为仅一个用户

转载 作者:太空宇宙 更新时间:2023-11-03 19:27:26 25 4
gpt4 key购买 nike

我想使用 C# 仅向单个用户分配对 Windows 中文件夹的权限,其他用户不应该能够打开或更改该文件夹的访问权限。

例如,如果我有 3 个用户 - 用户组中的 UserA、UserB 和 UserC。我只想授予 UserA 访问文件夹的权限。如果我拒绝访问 users 组并允许 UserA,则拒绝权限将优先,并且对 UserA 的访问也将被拒绝。

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

谢谢,苏 git

最佳答案

ACL 中未提及的任何人的默认权限是“无访问权限”(Empty 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);

关于c# - 将文件夹的访问权限设置为仅一个用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7565227/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com