如何从C#设置文件夹ACL
如何在C#中自动执行以下手动步骤?
-
右键单击Windows资源管理器中的文件夹;
Properties -> Security -> Advanced -> Edit
-
取消选中“包括此对象的父级的可inheritance权限”,然后单击“删除”。
-
单击“添加”,选择一个组并授予其“修改”权限。
我发现这篇文章 ,看起来就像我需要的,但我没有,也找不到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://www.redmondpie.com/applying-permissions-on-any-windows-folder-using-c/
我不知道那个,但您应该能够通过System.Security.AccessControl
命名空间中的DirectorySecurity类来实现。
我假设您可能也想查看InheritanceFlags枚举。