我想给特定用户的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);
}
假设我有一个名为我的本地机器“RootShare”份额,和里面的另一个文件夹“InsideRootShare”。
Scenario1:当我打电话,
GiveNTFSPermissions(@"\\sri-devpc\RootShare",
@"domain\username",
FileSystemRights.Write);
继承的权限丢失了共享的路径上,
Scenario2:当我打电话,
GiveNTFSPermissions(@"\\sri-devpc\RootShare\InsideRootShare",
@"domain\username",
FileSystemRights.Write);
继承的权限完好无损。
我曾尝试用不同的构造FileSystemAccessRule
但没有运气。
什么是这种行为背后的原因,这方面的任何解决方法吗?