c# - 如何从 C# 设置文件夹 ACL

标签 c# acl ntfs

如何在 C# 中自动执行以下手动步骤?

  • 在 Windows 资源管理器中右键单击文件夹;

    属性 -> 安全 -> 高级 -> 编辑

  • 取消勾选“包括可从该对象的父对象继承的权限”,然后点击删除。

  • 单击添加,选择一个组并授予其修改权限。

我找到了 this article ,这看起来正是我需要的,但我没有也找不到 Microsoft.Win32.Security

最佳答案

检查下面的代码:

DirectoryInfo dInfo = new DirectoryInfo(strFullPath);

DirectorySecurity dSecurity = dInfo.GetAccessControl();

//check off & copy inherited security setting 
dSecurity.SetAccessRuleProtection(true, true); 

dInfo.SetAccessControl(dSecurity);

http://msdn.microsoft.com/en-us/library/system.security.accesscontrol.objectsecurity.setaccessruleprotection.aspx

这用于设置文件夹的权限:

http://www.redmondpie.com/applying-permissions-on-any-windows-folder-using-c/

关于c# - 如何从 C# 设置文件夹 ACL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3626361/

相关文章:

c# - 列表的哪个 gridview 触发事件

javascript - 如何构建 MongoDB 查询以使用 ACL 评估允许和拒绝的权限链?

javascript - Node Acl 动态链接

python - 具有超过 100 万个小 (30 kB) 文件的 Windows 7 目录性能急剧下降

linux - 如何将 64GB USB 的文件系统从 FAT32 更改为允许我将 35GB 文件从 x86_64 Linux 机器放入 USB 的系统?

c# - bool 作为 CheckBox 的数据源(Bool 在另一个线程中更新而不是它正在影响的线程)

c# - 实体类型 <T> 不是当前上下文模型的一部分

c# - 如何检查鼠标指针是否可见?

python-3.x - 尽管使用存储 key 进行连接,azure storage gen2 上的 set_access_control 仍会引发权限错误

macos - Mac OS High Sierra diskutil eraseDisk 导致错误 : -69877: Couldn't open device