首页 > 解决方案 > C# Windows10 - 仅向 1 个特定用户和管理员授予目录访问权限?

问题描述

所以我试图在本地驱动器上创建一个新文件夹,并授予它特定的权限。主要规则集是: - 管理员拥有完全访问权限 - 特定用户(我们称之为“Robinson”)拥有完全访问权限 - 计算机上的其他普通用户将无权访问它。

到目前为止,我用我的代码做到了这一点:

string path = @"C:\testFolder";
DirectorySecurity ds = Directory.GetAccessControl(path);
SecurityIdentifier si_Admin = new SecurityIdentifier(WellKnownSidType.BuiltinAdministratorsSid,null);

ds.AddAccessRule(new FileSystemAccessRule(si_Admin, FileSystemRights.FullControl, AccessControlType.Allow));
ds.AddAccessRule(new FileSystemAccessRule("Robinson", FileSystemRights.FullControl, AccessControlType.Allow));

SecurityIdentifier si_OtherUsers = new SecurityIdentifier(WellKnownSidType.BuiltinUsersSid, null);
ds.AddAccessRule(new FileSystemAccessRule(si_OtherUsers, FileSystemRights.Delete, AccessControlType.Deny));
Directory.SetAccessControl(path, ds);

您可能会注意到,在第 3 次 AddAccessRule 中,我只是在测试删除其他用户的权限。不幸的是,这也拒绝了对管理员和罗宾逊的任何删除……我最终得到了一个无法删除的文件夹!

那么有人知道我错过了什么吗?还有我怎么能解决不可移动文件夹的情况?

提前致谢!

标签: c#windowsvisual-studiodirectory

解决方案


推荐阅读