我试图为特定用户在 UNC 路径上授予 NTFS 权限,但我看到不同的行为取决于 UNC 路径。下面是我用来授予权限的代码(来自MSDN )以及每种情况下的结果,
static void GiveNTFSPermissions(string folderPath, 
                                string ntAccountName, 
                                FileSystemRights accessRights)
{
    DirectorySecurity dirSecurity = Directory.GetAccessControl(folderPath);
    FileSystemAccessRule newAccessRule =
         new FileSystemAccessRule(
               ntAccountName,
               accessRights,
               AccessControlType.Allow);
    dirSecurity.AddAccessRule(newAccessRule);
    Directory.SetAccessControl(folderPath, dirSecurity);
}
假设我在本地机器上有一个名为“<em>RootShare”的共享,其中还有另一个文件夹“<em>InsideRootShare”。
场景1:
当我打电话时,
GiveNTFSPermissions(@"\\sri-devpc\RootShare",
                    @"domain\username",
                    FileSystemRights.Write);
共享路径上的继承权限丢失,
场景2: 当我打电话时,
GiveNTFSPermissions(@"\\sri-devpc\RootShare\InsideRootShare", 
                    @"domain\username", 
                    FileSystemRights.Write);
继承的权限完好无损。
我尝试过不同的构造函数,FileSystemAccessRule但没有运气。
这种行为背后的原因是什么,以及任何解决方法?