C# · 12月 25, 2021

c# – DirectorySecurity不正确设置权限

我有一个C#代码创建一个文件夹并设置一些权限.以下是代码示例: static void Main(string[] args){ Directory.CreateDirectory(“C:\\vk07”); DirectorySecurity dirSec = Directory.GetAccessControl(“C:\\vk07”); dirSec.AddAccessRule(new FileSystemAccessRule(“INTRANET\\fGLBChorusUsers”,FileSystemRights.ReadAndExecute,AccessControlType.Allow)); Directory.SetAccessControl(“C:\\vk07”,dirSec);}

当我检查上面创建的文件夹设置的权限,而不是读取和修改(这是我在代码中设置的),它只显示“特殊权限”作为选中.

请帮我一下吗我是ACL的新手,所以不太了解.

解决方法 FileSystemRights.ReadAndExecute不允许您修改.这是为只读.
您将需要FileSystemRights.Modify的全范围.
您可能想查看 out的可用选项.

以下是上述的一个例子:

String dir = @”C:\vk07″; Directory.CreateDirectory(dir); DirectoryInfo dirInfo = new DirectoryInfo(dir); DirectorySecurity dirSec = dirInfo.GetAccessControl(); dirSec.AddAccessRule(new FileSystemAccessRule(“INTRANET\\fGLBChorusUsers”,FileSystemRights.Modify,AccessCo‌ntrolType.Allow)); dirInfo.SetAccessControl(dirSec);