我有一个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的新手,所以不太了解.
解决方法@H_403_10@
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,AccessControlType.Allow));
dirInfo.SetAccessControl(dirSec);
您将需要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,AccessControlType.Allow)); dirInfo.SetAccessControl(dirSec);