ADMT迁移之:在迁移过程中保留对源域资源的访问权限

之前发表过使用ADMT进行域对象迁移的文章,连接如下:
http://blog.51cto.com/hubuxcg/1554925
http://blog.51cto.com/hubuxcg/1554927
最近再次使用ADMT进行域迁移时,碰到因SID筛选导致迁移后的用户无法访问源域中文件服务器问题,环境如下:源域:Contoso. Old 2008R2,新域:Contoso. Local 2008R2。
先来介绍下SID History,当在进行AD迁移或是重构时,SID History将在迁移或是重构的过程中,用来保持用户对源有资源的访问权限;将对象迁移到新域时,会生成一个新的SID;因为Windows是依SID为对象分配权限,在迁移后的对象会因为生成新的SID而失去原有资源的访问权限,所以在进行域迁移时,需要将源域对象的SID迁移到新域中,作为新域对象的Sid History属性。
源域中的SID:

迁移后新域中的SIDHistory

源域和新域内的资源将其访问控制列表(ACL)解析为SID,然后在授予或拒绝访问时检查其ACL和访问令牌之间的匹配。如果SID或SID历史记录匹配,则根据ACL中指定的访问权限授予或拒绝访问资源,即保留源域中,已迁移用户原有的权限!

但从Windows2000(SP4)版本的Windows开始,因为安全性的要求,在两个目录林根级域之间建立林信任后,将默认应用 SID 筛选。这就会导致新域中的SID历史并不能带到旧域中,而导致ACL无法解析到SID历史记录,无法得到有效权限。
如下图:

为了解决此问题,需要在两个信任的域之前,使用Netdom trust禁用SID筛选,参考命令:
Netdom trust TrustingDomainName /domain:TrustedDomainName /quarantine:No /usero:domainadministratorAcct /passwordo:domainadminpwd
如果你登录的用户有域的管理员或是企业管理员权限,则可以跳过用户名密码的选项。
先使用命令查看当然的状态:
Netdom trust contoso.local /domain:contoso.fg /quarantine

从上图可以看出,SID 筛选是启用状态,因此,需要禁用,命令如下:
Netdom trust contoso.local /domain:contoso.fg /quarantine:no

执行完后,再次查看状态,显示为SID筛选禁用,所有SID都会生效。
修改完后还需要在源域的域控制器策略中,启用SID转换,GPO配置如下:

完成以上配置后,在使用ADMT进行域迁移时,已迁移的对象将可以继续使用源域中的所有资源,直接到完成迁移!

原文地址:http://blog.51cto.com/hubuxcg/2121286

时间: 2024-11-13 08:22:11

ADMT迁移之:在迁移过程中保留对源域资源的访问权限的相关文章

java类中修饰符public,protected等访问权限总结

public   protected  ……   private       类    +          +         +       +       包    +          +         +      继承   +         +      其他   + java类中修饰符public,protected等访问权限总结

如何在 Linux 中配置 sudo 访问权限

Linux 系统中 root 用户拥有 Linux 中全部控制权力.Linux 系统中 root 是拥有最高权力的用户,可以在系统中实施任意的行为. 如果其他用户想去实施一些行为,不能为所有人都提供 root 访问权限.因为如果他或她做了一些错误的操作,没有办法去纠正它. 为了解决这个问题,有什么方案吗? 我们可以把 sudo 权限发放给相应的用户来克服这种情况. sudo 命令提供了一种机制,它可以在不用分享 root 用户的密码的前提下,为信任的用户提供系统的管理权限. 他们可以执行大部分的

MyEclipse迁移过程中Tomcat版本不一致的解决办法

MyEclipse迁移过程中Tomcat版本不一致的解决办法 下面就是在MyEclipse2013迁移被Tomcat6.0X绑定的项目迁移到MyEclipse2014 Tomcat8.0X,报如下problems那栏的错误: 看见这个迁移过程中Tomcat版本不一致的错误,知道了就比较简单,不知道的时候就比较难了,解决办法如下: 1.查找到MyEclipse里面的菜单栏里面的MyEclipse 2.点击MyEclipse里面的Migrate Projects选项后,就出现如下图: 3.点击上图里

虚拟机迁移过程中网络状况测试的测试程序

最近一直在弄项目的虚拟机网络的配置,现在主要的问题就是要测试在我们进行虚拟机迁移的过程中的网络情况.于是写了一个网络测试程序,因为基于TCP连接的网络,网络是不会丢包的,所以为了更好的显示网络情况,本测试程序是基于UDP的. 客户端程序 #include <stdio.h> #include <stdlib.h> #include <errno.h> #include <string.h> #include <netdb.h> #include

SQLServer2PostgreSQL迁移过程中的几个问题

1.PostgreSQL 跨平台迁移工具Migration Toolkit的使用指南:http://www.enterprisedb.com/docs/en/8.4/mtkguide/Table%20of%20Contents.htm#TopOfPage 2.可能是程序的问题,迁移工具会把jtds驱动连接字符串认为是Oracle去连接,Google以后:http://my.oschina.net/congqian/blog/106518,找到这个指令指定数据源类型的方式来做操作: Java -D

最好的方式是用VirtualAlloc分配虚拟内存,它既不是在堆也不是在栈,而是直接在进程的地址空间中保留一块内存

申请效率的比较 栈:由系统自动分配,速度较快.但程序员是无法控制的. 堆:是由new分配的内存,最好的方式是用VirtualAlloc分配虚拟内存,它既不是在堆也不是在栈,而是直接在进程的地址空间中保留一块内存,虽然用起来最不方便,但是速度快也最灵活. http://blog.csdn.net/houqd2012/article/details/25070987

c/c++关于内存分配的知识(非常详细的比较,且VirtualAlloc分配内直接在进程的地址空间中保留一快内存)

一个由c/C++编译的程序占用的内存分为以下几个部分 1.栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等.其操作方式类似于数据结构中的栈. 2.堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 .注意它与数据结构中的堆是两回事,分配方式倒是类似于链表,呵呵. 3.全局区(静态区)(static)—,全局变量和静态变量的存储是放在一块的,初始化的全局变量和静态变量在一块区域, 未初始化的全局变量和未初始化的静态变量在相邻的另一块

Js 和 PHP 中保留小数点后X位数的方法 toFixed、round、number_format、sprintf

在 Javacript 中保留小数点后两位数的方法为 toFixed(2),其中的2为保留两位,写多少就保留多少了,满5进1. Javacript例子: var num = 24.54789523; alert( num.toFixed(2) ); //alert number 24.55 然后在PHP中方法就多了,难怪别人都说PHP是个函数库..选它没错.. $num = 24.54789523; echo number_format($num,2); //24.55 echo number_

将Eclipse项目迁移到Android Studio中

最近一段时间调试的时候Eclipse总是出现无响应问题,重启了N遍,不仅耽误工作而且还心烦,所以这两天把项目从Eclipse中迁移到Android Studio中,这里记录一下操作步骤以及遇到的各种问题. 1.SDK升级 首先将ADT插件升级到最新的,最低也要22.0 2.从Eclipse导出项目 首先在Eclipse中选择要导出的项目,右键选择"Export...",打开Android文件夹,选中"Generate Gradle build files",点击下一