Active Directory 域内的的 Directory 就是用来存储用户帐户,计算机帐户,打印机域共享文件夹等对象,我们把这些对象的存储位置称为目录数据库(Directory Database)。Active Directory 域内负责提供目录服务的组件就是 Active Directory 域服务(Active Directory Domain Services, AD DS),它负责目录数据库的存储、添加、删除、修改与查询等工作。
Active Directory 的适用范围
Active Directory 适用范围可以是一台计算机,一个小型局域网(LAN),或几个广域网(WAN)的组合。它包括此范围中的文件,打印机,应用程序,服务器,域控制器与用户帐户等。
命名空间(NameSpace)
命名空间是一块划分好的区域,在该区域内,我们可以用某个名称来找到与这个名称有关的信息。如一本电话簿就是一个命名空间,在这本电话簿内(划分好的区域内),我们可以使用姓名来找到此人的电话、地址与生日等数据。在 Windows Server 2008 R2 内的文件系统就是一个命名空间,在这个文件系统内,我们可以利用文件名来找到这个文件的大小,修改日期与文件属性等数据。
在 Active Directory域服务 (AD DS) 内,Active Directory 就是一个命名空间。利用 Active Directory, 我们可以通过对象名称来找到与这个对象有关的所有信息。
在 TCP/IP 网络环境内使用 DNS 来解析主机名和 IP 的对应关系。除此之外,Active Directory域服务 (AD DS) 也与 DNS 紧密集成在一起,它的域名空间也是采用 DNS 结构,因此域名是采用 DNS 格式来命名的 ,比如可以将 Active Directory 的域命名为 edu.groad.net 。
对象与属性
Active Directory 域内的资源是以对象(Object)的形式存在的,如用户、计算机与打印机等都是对象,而对象是通过属性(Attribute)来描述其特征的,也就是说对象本身就是一些属性的集合。如下图所示:
[attach]1787[/attach]
两个域之间必须创建信任关系,才可以访问对方域内的资源。任何一个新的 Active Directory 域被加入到域树后,这个域会自动信任其上一层的父域,同时父域也会自动信任这个新的子域,而且这些信任关系具有传递性(Two-way Transitive)。由于这个信任工作室通过 Kerberos 安全协议来完成的,因此也被称为 Kerberos 信任。
域 A 的用户登录到其隶属的域后,这个用户是否可以访问域 B 中的资源呢?答案是只要域 B 信任域 A 就没有问题。
甲用户隶属于域 A,乙计算机隶属于域 B,那么甲用户是否可以利用乙计算机登录到域 A 呢?答案也是域 B 信任域 A 就没有问题。
如果域 A 信任域 B,而域 B 又信任域 C ,那么域 A 也会信任域 C,这也就是自动建立起来的双向信任关系,这个因为传递性而得到的信任关系,称为隐性的信任关系(implicit trust)。
当任何一个新的 Active Directory 域加入到域树后,它会自动双向信任这个域树内所有的域,因此只要有合适的权限,这个新域内的用户就可以访问其他域内的资源,同理其他域内的用户也可以访问这个新域内的资源。
架构(Schema)
Active Directory 内的对象种类与属性数据是定义在架构内的。应用程序可以自行在架构内添加符合需要的对象种类或书信,而隶属于 Schema Admins 组内的用户也可以修改架构内的数据。在一个林内的所有域树共享相同的架构。
域控制器
Active Directory 域服务(AD DS)的目录数据存储在域控制器(Domain Controller)内。一个域内可有多台域控制器,每一台域控制器的地位几乎平等,它们各自存储着一份几乎完全相同的 Active Directory 。当在一个域控制器内新建一个帐户时,这个帐户默认被建立在此域控制器的 Active Directory 内,之后这份数据会自动复制到其他域控制器的 Active Directory 内,以便让所有的域控制器内的 Active Directory 数据都能够同步。
当用户在某台计算机上登录时,会由其中一台域控制器根据其 Active Directory 内的帐户数据来审核输入的用户名和密码是否正确,如果正确,那么可以成功登录,否则拒绝登录。