FSMO角色介绍
FSMO(Flexible Single Master Operation灵活的单主机操作),在说明FSMO的作用以前,先给大家介绍两个概念:
单主机复制:就是从一个地方向其他地方复制,主要应用在以前的NT4域内,在NT4域时代,于网络上分PDC和BDC,所有复制都是从PDC到BDC上进行的,所以在网络上对域修改必须要在PDC上进行,在BDC上修改是无效的。
多主机复制:相对单主机而言,它是指所有的域控制器之间进行相互复制,从windows开始不再网路上区分PDC和PDC,所有的域控制器都是等价的,在任意一台上修改,都会被复制到其他的域控制器上。
从windows 2000开始,域控制器去取决域它是网络中的地几台控制器,取决域FSMON的五种角色:
Active Directory 安装向导 (Dcpromo.exe) 将这五种 FSMO 角色全部分配给林根域中的第一台域控制器。每个新子域或树域中的第一台域控制器将获得三个域范围的角色。
1. 森里级别(即一个森里只存在一台DC有这个角色)
(1) Schema Master 架构主机
用来修改活动目录的源数据。我们知道在活动目录里存在着各种各样的对像,比如用户、计算机、打印机等,这些对像有一系列的属性,活动目录本身就是一个数据库,对像和属性之间就好像表格一样存在着对应关 系,那么这些对像和属性之间的关系是由谁来定义的,就是Schema Master。Sechema是可以扩展的,但是必须在 Schema Master上扩展。
建议:在占有Schema Master的域控制器上不需要高性能,因为我们不是经常对Schema进行操作的,除非是经常会对Schema进行扩展,不过这种情况非常的少,但我们必须保证可用性,否则在安装Exchnage或LCS之类的软件时会出错。
(2)Domain Naming Master 域命名主控
它的主要作用是管理森林中域的添加或者删除。如果你要在你现有森林中添加一个域或者删除一个域的 话,那么就必须要和Domain Naming Master进行联系,如果Domain Naming Master处于Down机状态的话,你的添 加和删除操作那上肯定会失败的。
建议:对占有Domain Naming Master的域控制器同样不需要高性能,我想没有一个网络管理员会经常在森林里添加或者删除域吧?当然高可用性是有必要的,否则就没有办法添加删除森里的域了。
2. 域级别 (即一个域里只存在一台有个角色)
(1) PDC Emulator PDC仿真器
在前面已经提过了,Windows 2000域开始,不再区分PDC还是BDC,但实际上有些操作则必须要由PDC来完成,那么这些操作在Windows 2003域里面怎么办呢?那就由PDC Emulator来完成,主要是以下操作:
A. 处理密码验证要求;
在默认情况下,Windows 2003域里的所有DC会每5分钟复制一次,但有一些情况是例外的,比如密码的修改,一般情况下,一旦密码被修改,会先被复制到PDC Emulator,然后由PDC Emulator触发一个即时更新,以保证密码的实时性,当然,实际上由于网络复制也是需要时间的,所以还是会存在一定的时间差,至于这个时间差是多少,则取决于你的网络规模和线路情况。
B.统一域内的时间;
微软活动目录是用Kerberos协议来进行身份认证的,在默认情况下,验证方与被验证方之间的时间差不能超过5分钟,否则会被拒绝通过,微软这种设计主要是用来防止回放式攻击。所以在域内的时间必须是统一的,这个统一时间的工作就是由PDC Emulator来完成的。
C.向域内的NT4 BDC提供复制数据源;
对于一些新建的网络,不大会存在Windows 2000域里包含NT4的BDC的现象,但是对于一些从NT4升级而来的Windows 2000域却很可能存有这种情况,这种情况下要向NT4 BDC复制,就需要PDC Emulator。
D.统一修改组策略的模板;
E.对Windows2000以前的操作系统,如Win98之类的计算机提供支持;
对于Windows 2000之前的操作系统,它们会认为自己加入的是NT4域,所以当这些机器加入到Windows 2000域时,它们会尝试联系PDC,而实际上PDC已经不存在了,所以PDC Emulator就会成为它们的联系对象!
建议:从上面的介绍里大家应该看出来了,PDC Emulator是FSMO五种角色里任务最重的,所以对于占用 PDC mulator的域控制器要保证高性能和高可用性。
(2) RID Master RID主控
在Windows 2000以上的安全子系统中,用户的标识不取决于用户名,虽然我们在一些权限设置时用的是用户名,但实际上取决于安全主体的SID,所以当两个用户的SID一样的时候,尽管他们的用户名可能不一样,但 Windows的安全子系统中会把他们认为是同一个用户,这样就会产生安全问题。而在域内的用户、组和计算机的安 全ID=Domain SID+RID,那么如何避免这种情况?这就需要用到RID Master,RID Master的作用是:分配可用RID池 给域内的DC和防止安全主体的SID重复。
建议:对于占有RID Master的域控制器,其实也没有必要一定要求高性能,因为我们很少会经常性的利用批处理或 脚本向活动目录添加大量的用户。这个请大家视实际情况而定了,当然高可用性是必不可少的,否则就没有办法 添加用户
(3) Infrastructure Master
FSMO的五种角色中最无关紧要的可能就是这个角色了,它的主要作用就是用来更新组的成员列表,因为在活动目录中很有可能有一些用户从一个OU转移到另外一个OU,那么用户的DN名就发生变化,这时其它域对于这个 用户引用也要发生变化。这种变化就是由Infrastructure Master来完成的。
建议:其实在活动目录森林里仅仅只有一个域或者森林里所有的域控制器都是GC(全局编录)的情况下, Infrastructure Master根本不起作用,所以一般情况下对于占有Infrastructure Master的域控制器往往忽略性能和可能性。
转移FSMO角色:
1. 登录到基于 Windows 2000 Server 或基于 Windows Server 2003 的成员服务器,或登录到转移 FSMO 角色时所在林中的域控制器。我们建议您登录到要为其分配 FSMO 角色的域控制器。登录用户应该是企业管理员组的成员,才能转移架构主机角色或域命名主机角色,或者是转移 PDC 模拟器、RID 主机和结构主机角色时所在域中的域管理员组的成员。
2. 单击“开始”,单击“运行”,在“打开”框中键入 ntdsutil,然后单击“确定”。
3. 键入 roles,然后按 Enter。
注意:要在 Ntdsutil 实用工具中的任一提示符处查看可用命令的列表,请键入 ?,然后按 Enter。
4. 键入 connections,然后按 Enter。
5. 键入 connect to server servername,然后按 Enter,其中 servername 是要赋予其 FSMO 角色的域控制器的名称。
6. 在“server connections”提示符处,键入 q,然后按 Enter。
7. 键入 transfer role,其中 role 是要转移的角色。要查看可转移角色的列表,请在“fsmo maintenance”提示符处键入 ?,然后按 Enter,或者查看本文开头的角色列表。例如,要转移 RID 主机角色,键入 transfer rid master。PDC 模拟器角色的转移是一个例外,其语法是 transfer pdc 而非 transfer pdc emulator。
8. 在“fsmo maintenance”提示符处,键入 q,然后按 Enter,以进入“ntdsutil”提示符。键入 q,然后按 Enter,退出 Ntdsutil 实用工具。
捕获 FSMO角色
要使用 Ntdsutil 实用工具捕获 FSMO 角色,请按照下列步骤操作:
1. 登录到基于 Windows 2000 Server 或 Windows Server 2003 的成员计算机,或者登录到捕获 FSMO 角色时所在林中的域控制器。我们建议您登录要赋予其 FSMO 角色的域控制器。登录的用户应当是企业管理员组的成员(以便转移架构主机角色或域命名主机角色),或登录到转移 PDC 模拟器角色、RID 主机角色和结构主机角色时所在域中的域管理员组成员。
2. 单击“开始”,单击“运行”,在“打开”框中键入 ntdsutil,然后单击“确定”。
3. 键入 roles,然后按 Enter。
4. 键入 connections,然后按 Enter。
5. 键入 connect to server servername,然后按 Enter,其中 servername 是要为其分配 FSMO 角色的域控制器的名称。
6. 在“server connections”提示符处,键入 q,然后按 Enter。
7. 键入 seize role,其中 role 是您要捕获的角色。要查看可捕获角色的列表,请在“fsmo maintenance”提示符处键入 ?,然后按 Enter,或者查看本文开头的角色列表。例如,要捕获 RID 主机角色,可键入 seize rid master。PDC 模拟器角色的捕获是一个例外,它的语法是 seize pdc 而非 seize pdc emulator。
8. 在“fsmo maintenance”提示符处,键入 q,然后按 Enter,以进入“ntdsutil”提示符。键入 q,然后按 Enter,退出 Ntdsutil 实用工具。