无法将远程服务器中定义的安全组添加到同一服务器的文件夹权限中";部分或全部身份引用无法翻译”;

本文关键字:服务器 quot 身份 翻译 引用 全部 定义 安全 文件夹 添加 权限 | 更新日期: 2023-09-27 18:00:09

我正在尝试将远程服务器中定义的用户帐户组添加到远程服务器中的文件夹中。

public static void SetFolderPermission(string folderPath,string account)
{
    var directoryInfo = new DirectoryInfo(folderPath);
    var directorySecurity = directoryInfo.GetAccessControl();
    var fileSystemRule = new FileSystemAccessRule(account, 
                            FileSystemRights.Read, 
                            InheritanceFlags.ObjectInherit |
                            InheritanceFlags.ContainerInherit, 
                            PropagationFlags.None,
                            AccessControlType.Allow);
    directorySecurity.AddAccessRule(fileSystemRule);
    directoryInfo.SetAccessControl(directorySecurity);
}

我可以使用domainname'accountname添加帐户,但无法添加在远程服务器中定义的本地帐户组。

无法将远程服务器中定义的安全组添加到同一服务器的文件夹权限中";部分或全部身份引用无法翻译”;

我可以通过将主体上下文更改为服务器来解决问题。

public void SetFolderPermission(string folderPath,string account,string server)
{
   var directoryInfo = new DirectoryInfo(folderPath);
   var directorySecurity = directoryInfo.GetAccessControl();
   PrincipalContext pt = new PrincipalContext(ContextType.Machine, server);
    using (GroupPrincipal val = GroupPrincipal.FindByIdentity(pt, account))
{
    FileSystemAccessRule fileSystemRule = new FileSystemAccessRule(val.Sid,
                                                     FileSystemRights.Read,
                                                     InheritanceFlags.ObjectInherit |
                                                     InheritanceFlags.ContainerInherit,
                                                     PropagationFlags.None,
                                                     AccessControlType.Allow);//var
    directorySecurity.AddAccessRule(fileSystemRule);
    directoryInfo.SetAccessControl(directorySecurity);
    MessageBox.Show("done");
}
}
相关文章: