欢迎来到个人简历网!永久域名:gerenjianli.cn (个人简历全拼+cn)
当前位置:首页 > 范文大全 > 实用文>windows 活动目录之基础篇

windows 活动目录之基础篇

2022-12-25 08:23:30 收藏本文 下载本文

“大宝牵小宝”通过精心收集,向本站投稿了10篇windows 活动目录之基础篇,以下文章小编为您整理后的windows 活动目录之基础篇,供大家阅读。

windows 活动目录之基础篇

篇1:windows 活动目录之基础篇

我们知道WIN2K系统最大的突破性和成功之一就在于它全新引入的“活动目录(Active Directory)服务”,使得WIN2K系统与Internet上的各项服务和协议更加联系紧密,因为它对目录的命名方式成功地与”域名“的命名方式一致,然后通过DNS进行解析,使得与在Internet上通过WINS解析取得一致的效果, 活动目录也说明了Microsoft在网络结构方面的策略转移,虽然在以前NT时代也有部分产品(如EXCHANGE SERVER、IIS等)提供过类似于活动目录的服务,然而活动目录作为一个全新的综合服务方式是在WIN2K的诞生后随之而来的。活动目录的身影似乎在整个WIN2K系统中无处不在。然而要真正了解“活动目录”的方方面面又谈何容易,下面就想通过一些通俗的讲解花几个篇章对活动目录的各主要方面作一详尽的分析,希望对那些对WIN2K的活动目录还存有畏惧心理的新手一个全面认识的机会。

一、活动目录的由来

谈到活动目录最使人容易想起的就是DOS下的“目录”、“路径”和Windows9X/ME下“文件夹”,那个时候的“目录”或“文件夹”仅代表一个文件存在磁盘上的位置和层次关系,一个文件生成之后相对来说这个文件的所在目录也就固定了(当然可以删除、转移等,现在不考虑这些),也就是说它的属性也就相对固定了,是静态的。这个目录所能代表的仅是这个目录下所有文件的存放位置和所有文件总的大小,并不能得出其它有关信息,这样就影响到了整体使用目录的效率,也就是影响了系统的整体效率,使系统的整个管理变得复杂。因为没有相互关联,所以在不同应用程序中同一对象要进行多次配置,管理起来相当繁锁,影响了系统资源的使用效率。为了改变这种效率低下的关系和加强与Internet上有关协议的关联,Microsoft公司决定在WIN2K中全面改革,也就是引入活动目录的概念。理解活动目录的关键就在于“活动”两个字,千万不要将“活动”两个字去掉而仅仅从“目录”两个字去理解,那你我理来理去一定还是不能脱离原来在DOS下目录或Windows9x下的文件夹,正因为这个目录是活动的,所以它是动态的,它是一种包含服务功能的目录,它可以做到“由此及彼”的联想、映射,如找到了一个用户名,就可联想到它的账号、出生信息、E-mail、电话等所有基本信息,虽然组成这些信息的文件可能不在一块。同时不同应用程序之间还可以对这些信息进行共享,减少了系统开发资源的浪费,提高了系统资源的利用效率。

活动目录包括两个方面:目录和与目录相关的服务。目录是存储各种对象的一个物理上的容器,从静态的角度来理解这活动目录与我们以前所结识的“目录”和“文件夹”没有本质区别,仅仅是一个对象,是一实体;而目录服务是使目录中所有信息和资源发挥作用的服务,活动目录是一个分布式的目录服务,信息可以分散在多台不同的计算机上,保证用户能够快速访问,因为多台机上有相同的信息,所以在信息容氏方面具有很强的控制能力,正因如此,不管用户从何处访问或信息处在何处,都对用户提供统一的视图。

二、相关名词术语

虽然活动目录中用到的许多技术在其他软件产品中也已经出现过,但作为全面的整体网络方案还是首次亮相,其中有许多名词或术语或许是闻所未闻的,所以有必要详细了解一下活动目录的有关名词或术语。

1、名字空间:从本质上讲,活动目录就是一个名字空间,我们可以把名字空间理解为任何给定名字的解析边界,这个边界就是指这个名字所能提供或关联、映射的所有信息范围。通俗地说就是我们在服务器上通过查找一个对象可以查到的所有关联信息总和,如一个用户,如果我们在服务器已给这个用户定义了讲如:用户名、用户密码、工作单位、联系电话、家庭住址等,那上面所说的总和广义上理解就是“用户”这个名字的名字空间,因为我们只输入一个用户名即可找到上面我所列的一切信息。名字解析是把一个名字翻译成该名字所代表的对象或者信息的处理过程。举例来说,在一个电话目录形成一个名字空间中,我们可以从每一个电话户头的名字可以被解析到相应的电话号码,而不是象现在一样名字是名字,号码归号码,根本不能横向联系。Windows 操作系统的文件系统也形成了一个名字空间,每一个文件名都可以被解析到文件本身(包含它应有的所有信息)。

2、对象: 对象是活动目录中的信息实体,也即我们通常所见的“属性”,但它是一组属性的集合,往往代表了有形的实体,比如用户账户、文 件名等。对象通过属性描述它的基本特征,比如,一个用户账号的属性中可能包括用户姓名、电话号码、电子邮件地址和家庭住址等。

3、容器:容器是活动目录名字空间的一部分,与目录对象一样,它也有属性,但与目录对象不同的是,它不代表有形的实体,而是代表存放对象的空间,因为它仅代表存放一个对象的空间,所以它比名字空间小。比如一个用户,它是一个对象,但这个对象的容器就仅限于从这个对象本身所能提供的信息空间,如它仅能提供用户名、用户密码。其它的如:工作单位、联系电话、家庭住址等就不属于这个对象的容器范围了。

4、目录树:在任何一个名字空间中,目录树是指由容器和对象构成的层次结构。树的叶子、节点往往是对象,树的非叶子节点是容器。目录树表达了对象的连接方式,也显示了从一个对象到另一个对象的路径。在活动目录中,目录树是基本的结构,从每一个容器作为起点,层层深入, 都可以构成一棵子树。一个简单的目录可以构成一棵树,一个计算机网络或者一个域也可以构成一棵树。这也很容易理解,我们最初学电脑时不就是在全面理解DOS下的路径概念基础之上开始的吗,其实这“目录树”也就是一种“路径关系”,如果你理解了DOS下的“路径”相信理解这“目录树”是没什么问题的!

5、域: 域是WIN2K网络系统的安全性边界。我们知道一个计算机网最基本的单元就是“域”,这一点不是WIN2K所独有的,但活动目录可以贯穿一个或多个域。在独立的计算机上,域即指计算机本身,一个域可以分布在多个物理位置上,同时一个物理位置又可以划分不同网段为不同的域,每个域都有自己的安全策略以及它与其他域的信任关系。当多个域通过信任关系连接起来之后,活动目录可以被多个信任域域共享

6、组织单元:包含在域中特别有用的目录对象类型就是组织单元。组织单元是可将用户、组、计算机和其他单元放入活动目录的容器中,组织单元不能包括来自其他域的对象。组织单元是可以指派组策略设置或委派管理权限的最小作用单位。使用组织单元,您可在组织单元中代表逻辑层次结构的域中创建容器,这样您就可以根据您的组织模型管理帐户、资源的配置和使用,可使用组织单元创建可缩放到任意规模的管理模型。可授予用户对域中所有组织单元或对单个组织单元的管理权限,组织单元的管理员不需要具有域中任何其他组织单元的管理权,组织单元有点象我们在NT时代的工作组,我们从管理权限上来讲可以这么理解。

7、域树:域树由多个域组成,这些域共享同一表结构和配置,形成一个连续的名字空间。树中的域通过信任关系连接起来,活动目录包含一个或多个域树。域树中的域层次越深级别越低,一个“.”代表一个层次,如域child.Microsoft.com 就比 Microsoft.com这个域级别低,因为它有两个层次关系,而Microsoft.com只有一个层次。而域Grandchild.Child.Microsoft.com双比 Child.Microsoft.com级别低,道理一样。

域树中的域是通过双向可传递信任关系连接在一起。由于这些信任关系是双向的而且是可传递的,因此在域树或树林中新创建的域可以立即与域树或树林中每个其他的域建立信任关系。这些信任关系允许单一登录过程,在域树或树林中的所有域上对用户进行身份验证,但这不一定意味着经过身份验证的用户在域树的所有域中都拥有相同的权利和权限,

因为域是安全界限,所以必须在每个域的基础上为用户指派相应的权利和权限。

8、域林:域林是指由一个或多个没有形成连续名字空间的域树组成,它与上面所讲的域树最明显的区别就在于这些域树之间没有形成连续的名字空间,而域树则是由一些具有连续名字空间的域组成。但域林中的所有域树仍共享同一个表结构、配置和全局目录。域林中的所有域树通过Kerberos 信任关系建立起来,所以每个域树都知道Kerberos信任关系,不同域树可以交叉引用其他域树中的对象。域林都有根域,域林的根域是域林中创建的第一个域,域林中所有域树的根域与域林的根域建立可传递的信任关系。

9、站点:站点是指包括活动目录域服务器的一个网络位置,通常是一个或多个通过TCP/IP连接起来的子网。站点内部的子网通过可靠、快速的网络连接起来。站点的划分使得管理员可以很方便地配置活动目录的复杂结构,更好地利用物理网络特性,使网络通信处于最优状态。当用户登录到网络时,活动目录客户机在同一个站点内找到活动目录域服务器,由于同一个站点内的网络通信是可靠、快速和高效的,所以对于用户来说,他可以在最快的时间内登录到网络系统中。因为站点是以子网为边界的,所以活动目录在登录时很容易找到用户所在的站点,进而找到活动目录域服务器完成登录工作。

10、域控制器:域控制器是使用活动目录安装向导配置的WIN2K Server 的计算机。活动目录安装向导安装和配置为网络用户和计算机提供活动目录服务的组件供用户选择使用。域控制器存储着目录数据并管理用户域的交互关系,其中包括用户登录过程、身份验证和目录搜索,一个域可有一个或多个域控制器。为了获得高可用性和容错能力,使用单个局域网 (LAN) 的小单位可能只需要一个具有两个域控制器的域。具有多个网络位置的大公司在每个位置都需要一个或多个域控制器以提供高可用性和容错能力。

WIN2K Server 域控制器扩展了 WINNT Server 4.0 的域控制器所提供的能力和特性,WIN2K Server 多宿主复制使每个域控制器上的目录数据同步,以确保随着时间的推移这些信息仍能保持一致,也就是说是动态的,这就是活动目录的作用。多宿主复制是 WINNT Server 4.0 中使用的主域控制器和备份域控制器模型的发展,在 WINNT Server 4.0 中只有一个服务器,即主域控制器,拥有该目录的可读写副本。

三、安装活动目录的意义

我们说WIN2K的成功和创造性之一就是成功的全面引入了活动目录服务,那么到底安装活动目录有什么意义呢?这是我们所有初学WIN2K的人首要要问的一个问题。因为活动目录并不是WIN2K系统必需安装的一种服务,要全面理解它又是非常的不容易,那么安装活动目录的意义在哪里呢?它主要体现在以下几个方面:

1、信息的安全性大大增强

安装活动目录后信息的安全性完全与活动目录集成,用户授权管理和目录进入控制已经整合在活动目录当中了(包括用户的访问和登录权限等),而它们都是WIN2K操作系统的关键安全措施。活动目录集中控制用户授权,目录进入控制不只能在每一个目录中的对象上定义,而且还能在每一个对象的每个属性上定义,这一点是以前任何系统所不能达到的,包括WINNT 4.0。除此之外,活动目录还可以提供存储和应用程序作用域的安全策略,提供安全策略的存储和应用范围。安全策略可包含帐户信息,如域范围内的密码限制或对特定域资源的访问权等。所以从一定程序上可以这么说WIN2K的安全性就是活动目录所体现的安全性,由此可见对于网管来说如何配置好活动目录中对象及属性的安全性是一个网管配置好WIN2K系统的关键。

2、引入基于策略的管理,使系统的管理更加明朗

活动目录服务包括目录对象数据存储和逻辑分层结构(指上面所讲的目录、目录树、域、域树、域林等所组成的层次结构),作为目录,它存储着分配给特定环境的策略,称为组策略对象。作为逻辑结构,它为策略应用程序提供分层的环境。组策略对象表示了一套商务规则,它包括与要应用的环境有关的设置,组策略是用户或计算机初始化时用到的配置设置。所有的组策略设置都包含在应用到活动目录,域,或组织单元的组策略对象(GPOs)中。GPOs设置决定目录对象和域资源的进入权限,什么样的域资源可以被用户使用,以及这些域资源怎样使用等。例如,组策略对象可以决定当用户登录时用户在他们的计算机上看到什么应用程序,当它在服务器上启动时有多少用户可连接至 Server,以及当用户转移到不同的部门或组时他们可访问什么文件或服务。组策略对象使您可以管理少量的策略而不是大量的用户和计算机。通过活动目录,您可将组策略设置应用于适当的环境中,不管它是您的整个单位还是您单位中的特定部门。

3、具有很强的可扩展性

WIN2K的活动目录具有很强的可扩展性,管理员可以在计划中增加新的对象类,或者给现有的对象类增加新的属性。计划包括可以存储在目录中的每一个对象类的定义和对象类的属性。例如,在电子商务上你可以给每一个用户对象增加一个购物授权属性,然后存储每一个用户购买权限作为用户帐号的一部分。

4、具有很强的可伸缩性

活动目录可包含在一个或多个域,每个域具有一个或多个域控制器,以便您可以调整目录的规模以满足任何网络的需要。多个域可组成为域树,多个域树又可组成为树林,活动目录也就随着域的伸缩而伸缩,较好地适应了单位网络的变化。目录将其架构和配置信息分发给目录中所有的域控制器,该信息存储在域的第一个域控制器中,并且复制到域中任何其他域控制器。当该目录配置为单个域时,添加域控制器将改变目录的规模,而不影响其他域的管理开销。将域添加到目录使您可以针对不同策略环境划分目录,并调整目录的规模以容纳大量的资源和对象。

5、智能的信息复制能力

信息复制为目录提供了信息可用性、容错、负载平衡和性能优势,活动目录使用多主机复制,允许您在任何域控制器上而不是单个主域控制器上同步更新目录。多主机模式具有更大容错的优点,因为使用多域控制器,即使任何单独的域控制器停止工作,也可继续复制。由于进行了多主机复制,它们将更新目录的单个副本,在域控制器上创建或修改目录信息后,新创建或更改的信息将发送到域中的所有其他域控制器,所以其目录信息是最新的。域控制器需要最新的目录信息,但是要做到高效率,必须把自身的更新限制在只有新建或更改目录信息的时候,以免在网络高峰期进行同步而影响网络速度。在域控制器之间不加选择地交换目录信息能够迅速搞垮任何网络。通过活动目录就能达到只复制更改的目录信息,而不至于大量增加域控制器的负荷。

6、与 DNS 集成紧密

活动目录使用域名系统 (DNS)来为服务器目录命名,DNS 是将更容易理解的主机名(如 Mike.Mycompany.com)转换为数字 IP 地址的 Internet 标准服务,利于在TCP/IP网络中计算机之间的相互识别和通讯。DNS 的域名基于 DNS 分层命名结构,这是一种倒置的树状结构,单个根域,在它下面可以是父域和子域(分支和叶子)。关于这一点我会在后面以专门的篇章加以详细讲述,在此就仅作简单介绍。

7、与其他目录服务具有互操性

由于活动目录是基于标准的目录访问协议,许多应用程序界面(API)都允许开发者进入这些协议,例如活动目录服务界面(ADSI)、轻型目录访问协议 (LDAP) 第三版和名称服务提供程序接口 (NSPI),因此它可与使用这些协议的其他目录服务相互操作。LDAP 是用于在活动目录中查询和检索信息的目录访问协议。因为它是一种工业标准服务协议,所以可使用 LDAP 开发程序,与同时支持 LDAP 的其他目录服务共享活动目录信息。活动目录支持 Microsoft Exchange 4.0 和 5.x 客户程序所用的 NSPI 协议,以提供与 Exchange 目录的兼容性。

8、具有灵活的查询

任何用户可使用“开始”菜单、“网上邻居”或“活动目录用户和计算机”上的“搜索”命令,通过对象属性快速查找网络上的对象。如您可通过名字、姓氏、电子邮件名、办公室位置或用户帐户的其他属性来查找用户,反之亦然。

篇2:windows 活动目录之应用篇

前几篇我们讲了活动目录的基本原理和安装配置,着重讲了一些活动目录的优越性,但它并不是一个独立的服务,它是在结合以前的一些协议和服务之后才得以成功实现,如DNS、LDAP协议与活动目录的完美结合、站点概念的应用等都是非常突出的明证,下面我们就分别介绍一下这几个应用技术。

一、DNS在活动目录中的应用

WIN2K作为一个崭新的操作系统,它的最大特点就是引入了活动目录,而活动目录的一个最大的特点就是把DNS和活动目录紧密结合在了一起。活动目录使用域名服务DNS 作为它的定位服务,同时对标准的DNS作了扩充。由于DNS 是使用最为广泛的定位服务,所以不仅在Internet 上, 甚至在许多企业内部网络中也使用DNS 作为定位服务。在利用WINNT4.0 构建的网络系统中,对每一台主机的唯一标识信息是它的NetBIOS名,系统是利用WINS服务、信息广播方式及Lmhost文件等多种模式将NetBIOS名解析为相应IP地址,从而实现信息通讯。在内部网络系统中(也就是通常我们所说的局域网中),利用NetBIOS名实现信息通讯是非常方便、快捷的。但是在Internet上对一台主机的唯一标识信息是它的FQDN格式的域名(如www.163.com),在Internet是利用DNS标准来实现将域名解析为相应IP地址。如果WINNT4.0 构建的网络系统同Internet连通,则NT网络中的每一台主机也都有相应域名,其域名的解析是通过WINNT4.0 所支持的DNS 服务来实现的。在WINNT4.0 中配置和实现DNS完全由人为手工来规划、设计和实现,由上述可见,在WINNT4.0 网络系统中,每一台主机既有NetBIOS名又由域名,而实际意义基本相同,这在一定程度上增加了网管人员的管理负担,同时出使整个网络管理显得更加混乱。

在WIN2K的活动目录中,最基本的单位是域(Domain),通过父域和子域的模式将域组织起来形成树,父域和子域之间是完全双向的信任关系,且信任关系传递,其组织结构同DNS系统类似。在活动目录中命名策略基本按照Internet标准来实现,遵照DNS和LDAP3.0两种标准,活动目录中的域和DNS系统中的域采用完全相同的命名方式,即活动目录中的域名就是DNS域名。那么在活动目录中依赖于DNS作为定位服务,实现将名字解析为IP地址。所以当我们利用WIN2K 构建活动目录时,必须同时安装配置相应的DNS,无论用户实现IP地址解析还是登录验证,都利用DNS在活动目录中定位服务器。活动目录与DNS系统的这种紧密集成,意味着活动目录同时非常适合于Internet和Intranet环境,这也是微软创建适用于Internet的网络操作系统的思想的一种体现。企业可以把活动目录直接连接到Internet以简化与客户和合作伙伴之间的信息通讯。另外WIN2K中的DNS服务允许客户使用DNS动态更新协议(RFC 2136)来动态更新资源记录,通过缩短手工管理这些相同记录的时间,提高DNS管理的性能。运行WIN2K的计算机能动态地注册他们的DNS名称和IP地址。

由于活动目录与DNS已经集成在一起,因此在WIN2K中NetBIOS名已经逐渐失去意义,与此相对应的WINS服务也处于慢慢被淘汰的过程中。在WINNT中为了有效的发挥WINS的动态特性,我们通常将DNS与WINS 进行集成,这样能获得更准确的解析结果。但是,WINS并不是Internet标准协议,而DNS解决动态维护机器名与IP地址对照表的方案是动态DNS。动态DNS并不需要用到WINS,因为它允许动态分配IP地址的客户可以直接注册到DNS服务器上,即时更新DNS对照表。

WIN2K支持动态DNS,运行活动目录服务的机器可动态地更新DNS表。WIN2K网络中可以不再需要WINS服务,但是WIN2K仍然支持WINS,这是由于向后兼容的原因。那么如果网络系统不再使用WINS,用户登录到网络时,客户机如何找到域控制器呢?这是因为WIN2K在实现DNS时,对标准的DNS进行了扩展,在DNS表中增加了一种新的记录类型SRV记录,它指向活动目录的域控制器。所以如果网络系统已经全面升级到WIN2K,那么就可以不再使用WINS 服务 了。而在WIN2K中,由于支持动态更新协议(RFC 2136),这种集成也变得没有必要了。DNS这个由一系列解释请求(RFCs)标准组成的在Internet上广泛采用开放的协议,已经成为网络技术中的统一的标准化的规范。WIN2K的目标是在Internet和Intranet环境中得到广泛应用,那么它的名称解析模式就应该完全遵守单一的DNS标准。

上面主要讲了一下DNS在活动目录中的应用情况,但或许有人要问原来在WINNT4.0中没有用活动目录,只用DNS来解析域名,到底活动目录与DNS之间有什么区别,它们之间又是如何结合的呢?下面就来具体讲一下。

1、活动目录与DNS的区别

(1)、存储的对象不同

DNS和活动目录的结合是Windows2000服务器的最主要特点,DNS域和活动目录域对不同的名字空间使用同一样的域名。但它们各自存储不同的数据,因此管理不同的对象。DNS存储它的区域和资源记录,活动目录存储域和域中的对象。对DNS来说,域名是以DNS的层命名结构为基础的,是一种倒树型结构:一个根域,下面的域既是父域又是子域。每一个DNS域中的计算机可以通过完全合格域名(FQDN)进行识别。每一个与因特网连接的WIN2K域都有一个DNS名字,并且每一个WIN2K域中的计算机也都有一个DNS名字。因此,域和计算机即代表活动目录对象,又代表域节点。

(2)、解析所用的数据库不同

DNS是一种名字解析服务,DNS是通过DNS服务器接受请求查询DNS数据库来把域或计算机解析为IP地址的。DNS客户发送DNS名字查询到它们设定的DNS服务器,DNS服务器接受请求后或通过本地DNS数据库解析名字,或查询因特网上的DNS数据库,DNS不需要活动目录就可以起作用。

活动目录是一种目录服务,活动目录通过域控制器接受请求查询活动目录数据库来把域对象名字解析为对象记录。活动目录用户是通过LDAP协议(一种进入目录服务的协议)向活动目录服务器发送请求,为了定位活动目录数据库,需要借助于DNS,也就是说,活动目录把DNS作为定位服务,把活动目录服务器解析为IP地址,活动目录不能没有DNS的帮助。DNS可以独立于活动目录,但是活动目录必须有DNS的帮助才能工作。为了活动目录能够正常的工作,DNS服务器必须支持服务定位(SRV)资源记录,资源记录把服务名字映射为提供服务的服务器名字。活动目录客户和域控制器使用SRV资源记录决定域控制器的IP地址。

除了要求WIN2K网络的DNS服务器支持SRV资源记录外,微软还建议DNS服务器提供对DNS的动态升级。DNS动态升级定义了一个DNS服务器在一定值内自动升级的协议,如果没有此协议,管理员不得不手动配置域控制器产生的新的记录。新的WIN2K的 DNS服务既支持SRV资源记录,又支持动态升级。如果你选择其它的非WIN2K为基础的DNS服务器,那么你必须证实它支持SRV资源记录。对于一个合法的支持SRV资源记录但是不支持动态升级的DNS服务器,在你把WIN2K服务器升级为域控制器时,必须使它的资源记录手动升级。这些可以用Netlogon.dns文件来完成,该文件是由活动目录智能安装向导创建的,存在于文件夹%systemroot%\System32\config中。

2.两者的结合方法

既然DNS和活动目录有如此大的区别,那么它们是怎样结合在一起的呢?主要有以下几种途径:

(1)、活动目录域和DNS域使用一样的层次结构,

虽然功能和目的不一样,一个组织的DNS名字空间和活动目录空间有着一样的结构。

(2)、DNS区可以存储在活动目录中

如果你使用WIN2K DNS服务,那么主域可以存储在活动目录中为其它活动目录域控制器提供复制服务,并且为DNS服务提供增强的安全措施,

(3)、活动目录客户使用DNS定位域控制器

对于一个特定的域,为了定位域控制器,活动目录客户向它们设定的DNS服务器请求资源记录。当一个公司使用WIN2K服务器版作为它们的网络操作系统时,活动目录被认为是注册的法定DNS名字根域下的一个或多个层次结构的WIN2K域。

根据DNS的命名规则,DNS名字的被句点(.)分开的每一部分代表DNS树型层次结构的一个节点,并且代表WIN2K域树型层次结构的一个潜在的活动目录域。DNS的根节点以空白表示(“”),活动目录名字空间的根节点没有父域,它提供活动目录的LDAP进入点。

二、站点(Site)在活动目录中的应用

我们在利用WINNT4.0来规划设计我们的企业网络系统时,要根据企业构建的具体情况设计相应的域模型,如单域、多主域或单主域模型等。我们可以利用这些种类的域模型来规划企业的网络环境,实现对企业网络的组织、管理和控制。当我们去实现这种网络规划时,常常要根据企业内部的组织结构形式,作出符合实际需求的规划设计。如果是一个集团性质的大公司,我们常常需要把某一部门或一些工作关联性较大的部门设计成一个域,以方便组织和管理。这就给我们设计人员提出了一个很棘手的问题,如果这样一个域是由地理上分布在不同位置的计算机通过慢速连接构成的,那么通过慢速连接的PDC和BDC的信息同步就会因占据大量网络流量,影响网络的整体性能,面对这样一个问题,我们只能束手无策,根本没有任何控制方法。

当我接触到WIN2K之后,活动目录的强大功能和人性化设计思想,令我们今后的网络规划设计更加方便和灵活。而WIN2K活动目录中Site概念的提出和实现,为管理和控制DC之间的信息同步提供强大工具,从而有效的解决了我们前面提出的那个曾令我们束手无策的难题。

所谓Site,是指在物理上有较好的线路连接的能实现较快通讯速率的计算机的集合,一般是指一个LAN。而Site之间一般是通过慢速连接来实现信息通讯。可见Site 是对网络上计算机的实际的物理分布的一种客观反映。有了Site这个概念之后,我们就可以将一个域中的计算机根据地理位置的分布分装在几个Site之中。在一个Site当中,活动目录利用复制组件和KCC形成一个DC之间复制同步的双向的环形,每个DC都有两个复制伙伴,它们之间形成完全的信息同步。当一个DC中的目录数据库发生变化,它会等待一段时间间隔后向它的复制伙伴发送变更通知,复制伙伴接到变更通知后,会从发生变化的DC上拷贝目录数据的变化信息。同样复制伙伴还会把变更信息发送给它的复制伙伴,从而实现整个Site内的DC的同步。由于Site内采用快速而可靠的网络连接,因此Site内DC之间的复制数据是不压缩的,这虽然增加了复制信息的要求的带宽,但减少了DC的处理数据的负担。一般情况下Site内DC的信息同步采用RPC协议,使数据复制快速、统一,使DC之间保持了较高的数据一致性。

在Site之间一般是通过慢速连接,只有有限的可用带宽并且数据传输不可靠。为了不影响慢速连接线路上的其它数据通讯,以及确保DC间目录复制的可靠性,Site间的DC的复制不采用Site内DC间复制的变更通知方式,而是采用复制调度的方式。在Site之间可以设定一个时间表和时间间隔,时间表决定在哪些时间允许复制发生,时间间隔指定在允许复制的时间内DC多久检查一次数据变更。这样我们就可以将Site间DC复制同步的时间表设定在网络流量较少的时候(比如午夜)。这时网络不拥挤相对而言也较可靠。而且在Site间DC的目录复制采用压缩的方法,复制信息可以被压缩至10%到15%,这样可以有效地优化网络带宽。

可见,我们通过合理地规划活动目录上的Site,可以有效地控制活动目录中DC的同步,优化网络带宽,提高网络性能。由于在WIN2K的活动目录中,DC之间的同步不但涉及一个域内DC之间大量数据的同步,同时不同域的DC之间也有少量信息需要同步。当我们用Site来实现活动目录中DC之间的复制布局时可以借助于 Site link 和Site link Bridge两种设置来帮助我们实现,从而形成一个更合理、更有效、更可靠的活动目录中DC的复制布局,最大限度优化我们的网络系统。

三、LDAP在活动目录中的应用

LDAP的英文全称是Lightweight Directory Access Protocol,简称为LDAP。它是基于X.500标准的,但是又比它简单许多,并且可以根据需要定制的一种目录服务协议。与X.500不同,LDAP支持TCP/IP,这对访问Internet是必须的。LDAP的核心规范在RFC中都有定义,所有与LDAP相关的RFC都可以在LDAPman RFC网页中找到。

目录服务的工作模型是客户机/服务器模型。1988年,CCITT组织首先创建了X.500标准全面描述了这一模型,包括目录服务器的目录结构、命名方法、搜索机制以及用于客户机与服务器通信的协议DAP(Directory Access Protocol)。此标准很快被ISO组织引用,编号为ISO 9594。但是,在实际应用的过程中,X.500存在着不少障碍。由于DAP这种应用层的协议是严格遵照复杂的ISO七层协议模型制定的,对相关层协议环境要求过多,在许多小系统上无法使用,TCP/IP协议体系的普及更使这种协议越来越不适应需要。在这种情况下,DAP的简化版LDAP应运而生。早期设计的LDAP服务器不是独立的目录服务器,主要扮演LDAP客户机与X.500服务器间网关的角色,既是LDAP的服务器又是X.500的客户机。如今的LDAP服务器可取代X.500服务器而独立提供服务。

LDAP服务器的目录组织以“条目”为基本单位,结构类似树形,每一个条目即是树上的一个分枝节点或叶子。一个条目由多个“属性”组成,每个属性又由一个“类型”和一到多个“值”组成。LDAP协议直接基于面向连接的TCP协议实现,定义了LDAP客户机和LDAP服务器间的通信过程和信息格式。LDAP服务器在服务端口(缺省端口号为389)监听,收到客户机的请求后,建立连接,开始会话。活动目录与DNS协议的结合的意义在于使内部网与外部网命名方式保持一致,这样便于整个网络的管理。LDAP协议是用于查询和检索活动目录信息的目录访问协议。由于它是基于工业标准的目录服务协议,使用 LDAP 的程序可以发展成与其他目录服务共享活动目录信息,这些目录服务同样支持LDAP。活动目录信息活 动目录使用LDAP 目录访问协议作为它与其他应用或者目录服务交换信息的手段。LDAP 已经成为 目录服务的标准,它比X.500 DAP 协议更为简单实用一些。Microsoft 已经在Exchange Server 系统中提供了LDAP v2 和LDAP v3 的支持, 在WIN2K 的活动目录服 务中将提供更为全面的支持。

值得一提的是LDAP 协议中采用的命名格式, 因为我们需要通过名字信息访问目录对象,所以名字格式对于用户或者应用程序非常重要。活动目录支持大多数的名字格式类型。较为常用的格式有以下两种:

(1) RFC822 命 名 法

这种命名法的标准格式为:object_name@domain_name,形式非常类似于电子邮件地址,比如Myname@mydomain.com。活动目录为所有的用户提供了这种式的好名字,所以用户可以直接使用该友好名字当作电子邮件地址,也可以用作登录系统时的账户名。

(2) LDAP URL 和X.500 名 字

任何一个支持LDAP 的客户都可以利用LDAP名通过LDAP 协议访问活动目录,LDAP 名不像普通的Internet URL 名字那么直观,但是LDAP 名往往隐藏在 应用系统的内部,最终用户很少直接使用LDAP 名。LDAP 名使用X.500 命名规 范,也称为属性化命名法,包括活动目录服务所在的服务器以及对象的属性信息。

篇3:windows 活动目录之结构篇

在上一篇对活动目录有个基本了解之后下面我就来接触一下活动目录实质上的一面——活动目录的结构,上篇我们讲到活动目录是包括两方面:目录和目录相关的服务。目录是存储各种对象的一个物理上的容器,与我们平常所说的目录没什么区别,目录管理的基本对象是用户、计算机、文件以及打印机等资源。而目录服务是使目录中所有信息和资源发挥作用的服务,如用户和资源管理、基于目录的网络服务、基于网络的应用管理,它才是WIN2K活动目录的关键和精髓所在。目录服务是WIN2K网络操作系统的核心支柱,也是中心管理机构,所以目录服务的引入对整个操作系统带来了革命性的变化,不仅系统平台上的各基础模块,比如网络安全机制、用户管理模块等发生了变化,而且上层应用的运作方式以及开发模式也有了相应的变化。这样来理解“活动目录”是不是觉得更加容易?

同时活动目录是一个分布式的目录服务,因为信息可以分散在多台不同的计算机上,保证各计算机用户快速访问和容错;同时不管用户从何处访问或信息处在何处,对用户都提供统一的视图,使用户觉得更加容易理解和掌握WIN2K系统的使用。活动目录集成了WIN2K服务器的关键服务,如域名服务(DNS),消息队列服务(MSMQ),事务服务(MTS)等。在应用方面活动目录集成了关键应用,如电子邮件、网络管理、ERP等。要理解活动目录,我们必须从它的逻辑结构和物理结构入手。

一、活动目录的逻辑结构

“逻辑”两个字相信大家平时见的比较多,如我们常说的“逻辑思维、逻辑分析”等,也许大家一讲到“逻辑”两个字就觉得十分抽象,难以理解。其实我们在这里所讲的“逻辑结构”,我觉得还是很好理解的,“逻辑”一般与“物理”是对等的,我们知道“物理上的”是指实实在在的,那么“逻辑上的”不就是指非物理上的,非实体的东西,它是一种抽象的东西,比如讲一种“关系”、一个“空间、范围”等。在第一篇我们讲过活动目录的逻辑结构非常灵活,有目录树、域、域树、域林等,这些名字都不是实实在在的一种实体,只是代表了一种关系,一种范围,如目录树就是由同一名字空间上的目录组成,而域又是由不同的目录树组成,同理域树是由不同的域组成,域林是由多个域树组成。它们是一种完全的树状、层次结构视图,这种关系我们可以看成是一种动态关系。逻辑结构还与前面讨论过的名字空间有直接关系,逻辑结构为用户和管理员在一定的名字空间中查找、定位对象提供了极大方便。活动目录中的逻辑单元主要包括:

1、域、域树、域林

域既是WIN2K网络系统的逻辑组织单元,是对象(如计算机、用户等)的容器,这些对象有相同的安全需求、复制过程和管理,这一点对于网管人员应是相当容易理解的。在WIN2K中域中所有的域控制器都是平等的(这一点与WINNT4.0不一样,没有主、副之分),域是安全边界,域管理员只能管理域的内部,除非其他的域显式地赋予他管理权限,他才能够访问或管理其他的域。每个域都有自己的安全策略,以及它与其他域的安全信任关系。在这里就涉及到了不同域之间的信任关系及传递关系,下面就具体讲一下WIN2K中的域信任关系。

域与域之间具有一定的信任关系,域信任关系使得一个域中的用户可由另一域中的域控制器进行验证,才能使一个域中的用户访问另一个域中的资源。所有域信任关系中只有两种域:信任关系域和被信任关系域。信任关系就是域A信任域B,则域B中的用户可以通过域A中的域控制器进行身份验证后访问域A中的资源,则域A与域B之间的关系就是信任关系。被信任关系就是被一个域信任的关系,在上面的例子中域B就是被域A信任,域B与域A的关系就是被信任关系。信任与被信任关系可以是单向的,也可以是双向的,即域A与域B之间可以单方面的信任关系,也可以是双方面的信任关系。

而在域中传递信任关系不受关系中两个域的约束,是经父域向上传递给域目录树中的下一个域,也就是说如果域A信任域B,则域A也就信任域B下面的子域域B1、域B2……,传递信任关系总是双向的:关系中的两个域互相信任(是指父域与子域之间)。默认情况下,域目录树或目录林(目录林可以看做是同一域中的多个目录树组成)中的所有WiIN2K 信任关系都是传递的。通过大大减少需管理的委托关系数量,这将在很大程度上简化域的管理。

WIN2K中的域传递信任关系一般是系统自动的,但对于相同域目录树或林中的WiIN2K域,也可以显式(手工)地创建传递信任关系。这对于形成交叉链接信任关系是非常重要的。不传递信任关系受关系中两个域的约束,并且不经父域向上传递到域目录树中的下一个域。必须显式地创建不传递信任关系。默认情况下,不传递信任关系是单向的,尽管也可以通过创建两个单向信任关系创建一个双向关系。所有不属于相同域目录树或林中WiIN2K 域间建立的委托关系都是不传递的。所有WiIN2K域和WINNT域之间的委托关系都是不传递的,这一点对于一个企业同时使用WIN2K和WINNT域控制器时应特别注意,当从 WindowsNT升级到WiIN2K时,所有已现有的WindowsNT信任关系都将保持不变。在混合模式的网络中,所有WindowsNT信任关系都是不传递的。WiIN2K 域和WINNT域目录林中的WIN2K域和另一目录林中的WIIN2K域WIN2K域和MITKerberosV5领域单向单向信任关系是单独的委托关系。双向信任关系包括一对单向委托关系,所有传递信任关系都是双向的。为使不传递信任关系成为双向,必须在所涉及的域间创建两个单向信任关系。

2、组织单元(OU)

组织单元(OU)是一个容器对象,它也是活动目录的逻辑结构的一部分,我们可以把域中的对象组织成逻辑组,它可以帮助我们简化管理工作,

OU可以包含各种对象,比如用户账户、用户组、计算机、打印机等,甚至可以包括其他的OU,所以我们可以利用OU把域中的对象形成一个完全逻辑上的层次结构。对于企 业来讲,可以按部门把所有的用户和设备组成一个OU层次结构,也可以按地理位置形成层次结构,还可以按功能和权限分成多个OU层次结构。很明显,通过组织单元的包容,组织单元具有很清楚的层次结构,这种包容结构可以使管理者把组织单元切入到域中以反应出企业的组织结构并且可以委派任务与授权。建立包容结构的组织模型能够帮助我们解决许多问题,同时仍然可以使用大型的域、域树中每个对象都可以显示在全局目录,从而用户就可以利用一个服务功能轻易地找到某个对象而不管它在域树结构中的位置。

由于OU层次结构局限于域的内部,所以一个域中的OU层次结构与另一个域中的OU层次结构没有任何关系。因为活动目录中的域可以比NT4的域容纳更多对象,所以一个企业有可能只用一个域来构造企业网络,这时候我们就可以使用OU 来对对象进行分组,形成多种管理层次结构,从而极大地简化网络管理工作。组织中的不同部门可以成为不同的域,或者一个组织单元,从而采用层次化的命名方法来反映组织结构和进行管理授 权。顺着组织结构进行颗粒化的管理授权可以解决很多管理上的头疼问题,在加强中央管理的同时,又不失机动灵活性。

WINNT4.0中的很多域都可以成为OU,建立起更大的域和更简化的域关系,借助全局目录(GlobalCatalog),用户和管理员仍然能够迅速地找到对象和管理对象。 WIN2K可以在现存的WINNT4.0的环境中工作,保护现有的投资。

二、活动目录的物理结构

进制-活动目录中,物理结构与逻辑结构有很大的不同,它们是彼此独立的两个概念。逻辑结构侧重于网络资源的管理,而物理结构则侧重于网络的配置和优化。活动目录的物理结构主要着眼于活动目录信息的复制和用户登录网络时的性能优化。物理结构的两个重要概念是站点和 域控制器。

1、站点

站点是由一个或多个IP子网组成,这些子网通过高速网络设备连接在一起。站点往往由企业的物理位置分布情况决定,可以依据站点结构配置活动目录的访问和复制拓扑关系,这样能使得网络更有效地连接,并且可使复制策略更合理,用户登录更快速, 活动目录中的站点与域是两个完全独立的概念,一个站点中可以有多个域,多个站点也可以位于同一域中。

活动目录站点和服务可以通过使用站点提高大多数配置目录服务的效率。可以通过使用活动目录站点和服务向活动目录发布站点的方法提供有关网络物理结构的信息,活动目录使用该信息确定如何复制目录信息和处理服务的请求。计算机站点是根据其在子网或一组已连接好子网中的位置指定的,子网提供一种表示网络分组的简单方法,这与我们常见的邮政编码将地址分组类似。将子网格式化成可方便发送有关网络与目录连接物理信息的形式,将计算机置于一个或多个连接好的子网中充分体现了站点所有计算机必须连接良好这一标准,原因是同一子网中计算机的连接情况通常优于网络中任意选取的计算机。使用站点的意义主要在于:

(1)、提高了验证过程的效率

当客户使用域帐户登录时,登录机制首先搜索与客户处于同一站点内的域控制器,使用客户站点内的域控制器首先可以使网络传输本地化,加快了身份验证的速度,提高了验证过程的效率。

(2)、平衡了复制频率

活动目录信息可在站点内部或站点与站点之间进行信息复制,但由于网络的原因,活动目录在站点内部复制信息的频率高于站点间的复制频率。这样做可以平衡对最新目录信息需求和可用网络带宽带来的限制。您可通过站点链接来定制活动目录如何复制信息以指定站点的连接方法,活动目录使用有关站点如何连接的信息生成连接对象以便提供有效的复制和容错。

(3)、可提供有关站点链接信息

活动目录可使用站点链接信息费用,链接使用次数,链接何时可用以及链接使用频度等信息确定应使用哪个站点来复制信息,以及何时使用该站点。定制复制计划使复制在特定时间(诸如网络传输空闲时)进行会使复制更为有效。通常,所有域控制器都可用于站点间信息的交换,但也可以通过指定桥头堡服务器优先发送和接收站间复制信息的方法进一步控制复制行为。当拥有希望用于站间复制的特定服务器时,宁愿建立一个桥头堡服务器而不使用其他可用服务器。或在配置使用代理服务器时建立一个桥头堡服务器,用于通过防火墙发送和接收信息。

2、域控制器

域控制器是指运行WIN2KServer版本的服务器,它保存了活动目录信息的副本。域控制器管理目录信息的变化,并把这些变化复制到同一个域中的其他域控制器上,使各域控制器上的目录信息处于同步。域控制器也负责用户的登录过程以及其他与域有关的操作,比如身份鉴定、目录信息查找等一个域可以有多个域控制器。规模较小的域可以只需要两个域控制器,一个实际使用,另一个用于 容错性检查。规模较大的域可以使用多个域控制器。

WIN2K的域结构与WINNT的域结构不同的是,活动目录中的域控制器没有主次之分,活动目录采用了多主机复制方案,每一个域控制器都有一个可写入的目录副本,这为目录信息 容错带来了无尽的好处。尽管在某一个时刻,不同的域控制器中的目录信息可能有所不同,但一旦 活动目录中的所有域控制器执行同步操作之后,最新的变化信息就会一致。

尽管活动目录支持多主机复制方案,然而由于复制引起的通信流量以及网络潜在的冲 突,变化的传播并不一定能够顺利进行。因此有必要在域控制器中指定全局目录服务器以及操 作主机。--全局目录是一个信息仓库,包含活动目录中所有对象的一部分属性,往往是在查询过 程中访问最为频繁的属性。利用这些信息,可以定位到任何一个对象实际所在的位置,而全局目 录服务器是一个域控制器,它保存了全局目录的一份副本,并执行对全局目录的查询操作。全局 目录服务器可以提高活动目录中大范围内对象检索的性能,比如在域林中查询所有的打印机操 作。如果没有一个全局目录服务器,那么这样的查询操作必须要调动域林中每一个域的查询过 程。如果域中只有一个域控制器,那么它就是全局目录服务器如果有多个域控制器,那么管理员 必须把一个域控制器配置为全局目录控制器。

篇4:windows 活动目录之安装配置篇

理解了活动目录的原理之后,现在我们就可以进行活动目录的安装与配置了,活动目录的安装配置过程并不是很复杂,因为WIN2K中提供了安装向导,只需按照提示一步步按系统要求设定即可,但安装前的准备工作显得比较复杂,只有充分理解了活动目录的前提下才能正确地安装配置活动目录。下面我就详细地介绍一下活动目录的安装与配置及其准备了。

一、活动目录的安装前的准备

在前面我们知道“活动目录”是整个WIN2K系统中的一个关键服务,它不是孤立的,它与许多协议和服务有着非常紧密和关系,还涉及到整个WIN2K系统的系统结构和安全。安装“活动目录”不是安装一般Windows组件那么简单,在安装前要进行一系列的策划和准备。否则轻则根本无法享受到活动目录所带来的优越性,重则不能正确安装“活动目录”这项服务。

1、首先在 安装活动目录之前,必须保证已经有一台机器安装了WIN2K Server 或者Advanced Server,且至少有一个NTFS分区, 而且已经为TCP/IP 配置了DNS协议,并且DNS服务支持SRV记录和动态更新协议。

2、其次是要规划好整个系统的域结构,活动目录它可包含一个或多个域,如果整个系统的目录结构规划得不好,层次不清就不能很好地发挥活动目录的优越性。在这里选择根域(就是一个系统的基本域)是一个关键, 根域名字的选择可以有以下几种方案:

1)可以使用一个已经注册的DNS 域名作为活动目的根域名,这样的好处在于企业的公共网络和私有网络使用同样的DNS名字。

2)我们还可使用一个已经注册的DNS域名的子域名作为活动目录的根域名。

3)为活动目录选择一个与已经注册的DNS域名完全不同 的域名。这样可以使企业网络在内部和互联网上呈现出两种完全不同的命名结构。

4)把企业网络的公共部分用一个已经注册的DNS域名进行命名,而私有网络用另一个内部域名,从名字空间上把两部分分开,这样做就使得每一部分要访问另部时必须使用对方的名字空间来标识对象。

3、再一个就是要进行域和帐户命名策划,因为使用活动目录的意义之一就在于使内、外部网络使用统一的目录服务,采用统一的命名方案,以方便网络管理和商务往来。活动目录域名通常是该域的完整DNS名称,但是为确保向下兼容,每个域最好还有一个WIN2K以前版本的名称,以便在运行WIN2K以前版本的操作系统的计算机上使用。用户帐户在活动目录中,每个用户帐户都有一个用户登录名、一个WIN2K以前版本的用户登录名(安全帐户管理器的帐户名)和一个用户主要名称后缀。在创建用户帐户时,管理员输入其登录名并选择用户主要名称,活动目录建议 WIN2K 以前版本的用户登录名使用此用户登录名的前 20 个字节。活动目录命名策略是企业规划网络系统的第一个步骤,命名策略直接影 响到网络的基本结构,甚至影响网络的性能和可扩展性。活动目录为现代企业提供了很好的参考模型,既考虑到了企业的多层次结构,也考虑到了企业的分布式特性,甚至为直接接入Internet提供完全一致的命名模型。

所谓用户主要名称是指由用户账户名称和表示用户账户所在的域的域名组成。这是登录到 WIN2K 域的标准用法。标准格式为:user@domain.com (象个人的电子邮件地址)。但不要在用户登录名或用户主要名称中加入 @ 号。活动目录 在创建用户主要名称时自动添加此符号。包含多个 @ 号的用户主要名称是无效的。

在活动目录中,默认的用户主要名称后缀是域树中根域的 DNS名,

如果用户的单位使用由部门和区域组成的多层域树,则对于底层用户的域名可能很长。对于该域中的用户,默认的用户主要名称可能是 grandchild.child.root.com。该域中用户默认的登录名可能是 user@grandchild.child.root.com 。这要一来用户登录时就要输入的用户名可能太长,输入起来就非常不方便,WIN2K为了解决这一问题,规定在创建主要名称后用户只要在根域后加上相应的用户名, 使同一用户使用更简单的登录名 user@root.com 就可以登录,而不是前面所提到的那一长串。

4、最后就是要注意设置规划好域间的信任关系,对于WIN2K计算机,通过基于 Kerberos V5 安全协议的双向、可传递信任关系启用域之间的帐户验证。在域树中创建域时,相邻域(父域和子域)之间自动建立信任关系。在域林中,在树林根域和添加到树林的每个域树的根域之间自动建立信任关系。如果这些信任关系是可传递的,则可以在域树或域林中的任何域之间进行用户和计算机的身份验证。

如果将 WIN2K 以前版本的 Windows域升级为WIN2K域时,WIN2K域将自动保留域和任何其他域之间现有的单向信任关系。包括WIN2K以前版本的Windows域的所有信任关系。如果用户要安装新的WIN2K域并且希望与任何WIN2K以前版本的域建立信任关系,则必须创建与那些域的外部信任关系。

二、活动目录的安装

所有的新安装都是安装成为Member Server,如果您在新安装WIN2K SERVER时选择安装了“活动目录”选项,则系统就会出现类似于“如果您此时安装活动目录则系统中的所有域名就不能再次改变……”之类的提示。一般情况下我们在新安装系统时不选择安装活动目录,以便我们有时间来具体规划与活动目录有关的协议和系统结构。目录服务都需要事后用 Dcprom o的命令特别安装。目录服务还可以卸载,而不用象在安装Windows NT 4.0那样,一开始就要定终身,系统会区分域控制器还是Member Server,两者之间不可转换。

Dcpromo是一个图形化的向导程序,引导用户一步一步地建立域控制器,可以新建一 个域森林,一棵域树,或者仅仅是域控制器的另一个备份,非常方便。很多其他的网络服 务,比如DNS Server、DHCP Server和 Certificate Server等,都可以在以后与活动目录 集成安装,便于实施策略管理等。 这个图形化界面向导程序也没有什么特别之处,只要我们在前面理解好了活动目录的含义,并进行了安装前的一系列规划,则可以很容易完成所有的安装任务。

在活动目录安装之后,主要有三个活动目录的微软管理界面(MMC),一个是活动目 录用户和计算机管理,主要用于实施对域的管理;一个是活动目录的域和域信任关系的管 理,主要用于管理多域的关系;还有一个是活动目录的站点管理,可以把域控制器置于不 同的站点。一般局域网的范围内,为一个站点,站点内的域控制器之间的复制是自动进行 的;站点间的域控制器之间的复制,需要管理员设定,以优化复制流量,提高可伸缩性。 从活动目录管理界面,还可以在站点、域和组织单元中用鼠标右键点击,启动组策略 (Group Policy)的管理界面,实施对对象的细致管理。

对于站点、域和组织单元,管理员还可以方便地进行管理授权。右键点击它们就可以启动“管理授权 向导”,一步一步地设定哪些管理员对于哪些对象有什么样的管理权限。比如说企业内部 技术支持中心的管理员,只有复位用户口令的权限,没有创建和删除用户账号的权限。这 种更细致的管理方法,成为“颗粒化”。

另外,活动目录还充分地考虑到了备份和恢复目录服务的需要,WIN2K备份工具中有专门备份活动目录的选项,在出现意外事故的时候,可以在机器启动时按F8进入安全恢复模式,保证减少灾难的恶性影响。

篇5:Windows Server 活动目录解析

在Windows Server 2008中,活动目录域服务(Active Directory Domain Services缩写AD DS)相比前一代操作系统又有了重大的提升和改进,本文简要介绍一下其新特性,

一、审核策略

在Windows Server 2008中,你现在能够通过使用新的审核策略的子类(目录服务更改)来建立AD DS审核策略。当活动目录对象及它们的属性发生变化时,新的审核策略可以记录新旧属性值。

AD DS审核能干什么?

我们定义本策略设置(通过修改默认域控制器策略),能够指定审核成功的事件,失败的事件,或者什么也不审核。能够在AD DS对象的属性对话框中的安全选项卡中设置系统访问控制列表。”审核目录服务访问“在应用上同审核对象访问一致。但只适用与AD DS对象上而不是文件对象或注册表对象。

审核AD DS访问

在AD DS中新的审核策略子类(目录服务更改)增加了以下的功能:

当对对像的属性修改成功时,AD DS会纪录先前的属性值以及现在的属性值。如果属性含有一个以上的值时,只有作为修改操作结果变化的值才会被记录。

如果新的对像被创建,属性被赋予的时间将会被记录,属性值也会被记录,在多数情景中,AD DS分配缺省属性给诸如sAMAccountName等系统属性,这些系统属性值将不被记录。

如果一个对像被移动到同一个域中,那么先前的以及新的位置(以distinguished name 形式)将被记录。当对象被移动到不同域时,一个创建事件将会在目标域的域控制器上生成。

如果一个对象被反删除,那么这个对象被移动到的位置将会被记录。另外如果在反删除操作中属性被增加,修改或者删除,那么这些属性的值也会被记录。

当“目录服务更改”审核子类别启用以后,AD DS会在安全日志中记录事件当对象属相的变化满足管理员指定的审核条件。下面的这张表格描述了这些事件。

事件号 事件类型 事件描述

5136 修改 这个事件产生于成功的修改目录对象属性。

5137 创建 这个事件产生于新的目录对象被创建。

5138 反删除 这个事件产生于目录对象被反删除时。

5139 移动 这个时间产生于对象在同一域内移动时。

二、密码策略

Windows Server 2008 为组织提供了一种方法,使得组织能在某一域中针对不同的用户集来定义不同的密码和账号锁定策略。

细致灵活的密码策略能干什么?

你能够使用细致灵活的密码策略在同一个域内指定多样化的密码策略。同时你也你能够使用细致灵活的密码策略对同一域内的不同用户集应用不同的密码和账号锁定策略限制。

这项特性提供了什么新功能?

密码设置容器默认被创建在域的系统(System)容器下。你能够通过使用活动目录用户与计算机管理单元并启用高级特性来查看。它为域储存了密码设置对象(Password Settings objects 一下简称PSOs)。

你不能够重命名,移动,或者删除这个容器。尽管你能够创建额外的自定义的密码设置容器,它们不被针对一个对象计算的组策略结果集计算在内。因此创建额外的自定义的密码设置容器不被推荐。

密码设置对像包含了能在默认域策略中定义的所有属性设置(除了Kerberos设置),

这些设置包含了以下密码设置属性:

强制密码历史

密码最长使用期限

密码最短使用期限

密码长度最小值

密码必须符合复杂性要求

用可还原的加密来储存密码

这些设定也包含了以下的账户锁定设置

账户锁定时间

账户锁定阈值

复位账户锁定计数器

另外,PSO也包含了以下两个新属性:

PSO链接(PSO Link):这是链接到用户或者组对象的多值属性

优先(Precedence):这是一个用来解决多个PSO被应用到单个用户或组对象产生冲突时的整数值

这九个属性值必须被定义,缺一不可。来自多个PSO的设置不能被合并。

使用图形界面(adsiedit.msc)建立PSO

1. 单击开始按钮,单击运行,输入 adsiedit.msc ,单击确定。

*如果你是在DC上第一次运行adsiedit.msc,请继续看第二步,不是的话跳到第四步。

2. 在ADSI EDIT界面中,右击ADSI Edit,再单击连接到。

3. 在Name属性框中输入你想要创建PSO的域的完全合格域名(FQDN),然后单击确定。

4. 双击域。

5. 双击DC=<域名>。

6. 双击CN=System 。

7. 右击 CN=Password Settings Container,单击新建,再单击对象 。

8. 在创建对象对话框中,选择msDS-PasswordSettings,单击下一步 。

9. 输入PSO的名称,单击下一步,根据向导,输入必备属性。

10. 在向导的最后一页,单击更多属性。

11. 在选择查看何种属性菜单中,单击可选或者两者 。

12. 在选择一种属性进行查看的下拉菜单中,选择msDS-PSOAppliesTo。

13. 在编辑属性中,添加需要应用PSO的用户和全局安全组的相对可分辨名称 。

14. 重复第13步,如果你需要将PSO应用到多个用户和全局安全组。

15. 单击完成 。

三、RODC及身份验证

只读域控制器(RODC)是在Windows Server 2008操作系统中一种新的域控制器类型。有了只读域控制器,组织能够容易地的物理安全得不到保证的地区部署域控制器。一台RODC包含了活动目录数据库的只读部分。

RODC可以做什么?

在考虑部署RODC时,物理安全的不足是最为寻常的理由。RODC给那些需要快速可靠的身份验证,同时对可写域控制器而言物理安全无法得到确保的地方部署域控制器提供了新的方法。

然而你的组织也可以为了特殊的管理需要选择部署RODC。比如,业务线应用程序(line-of-business,LOB)只能被安装到域控制器上并才能得以成功运行。或者,域控制器是分支机构仅有的服务器,而不得不运行服务器应用。

在这些例子中,业务线应用程序所有者必须经常交互式登录到域控制器或者使用终端服务来配置和管理程序。这种环境引起了在可写域控制器上不被接受的安全风险。

RODC为在这些场景中部署域控制器提供了更安全的机械结构。你能够将登录到RODC的权利转让给没有管理权限的域用户同时最小化给活动目录森林带来的安全风险。

你也可以在其它场景中部署RODC,比如在外延网(extranets)中本地储存的所有域密码被认为是主要威胁。

篇6:Windows 活动目录的复制

在Windows 2000 活动目录(AD)环境里,你可以使用站点(Site)把网络物理地划分开,从而优化AD复制,通过理解微软是如何在你的域里实现AD复制,你能够更有效地对把你的网络划分成AD站点,从而减少通过低速网络连接的网络流。这篇文章是关于活动目录站点的两篇系列文章的第一部分,在这篇文章里,我们要研究缺省的AD站点内(intra-site)复制的配置,以及信息如何被复制。

活动目录复制

在活动目录(AD) 域控制器(DC)安装到域里时,活动目录会建立缺省的复制模板,并且在活动目录之间自动建立起一个环形的复制拓扑,建立的依据是确保复制流量沿着最有效的路径进行。你可以沿着环的任意方向把变化复制到AD。

因为在AD里所有的DC的地位都相等,都包含可以写入的AD数据库备份,因此在实现多主机复制系统时,有一些潜在的挑战面对着微软。在你可能考虑到的问题里,有些是:

DC如何把复制流量控制在最小?

DC如何保持所有的数据库拷贝同步?

如果DC从两个复制伙伴得到相同的修改,会怎么样?

如果两个修改同时发生,会怎么样?

那么就让我们按顺序来看看这些问题。

DC如何把复制流量控制在最小?

为了把网络流保持在最小,AD的复制在每-属性(per-attribute )的基础上进行。简单地说,这就是指如果一个属性发生了变化(比如,用户的电话号码),那么只有这个小小的变化被复制到你的域里的其它DC上。你可以想象,AD的每属性复制,和把整个数据库拷贝都通过网络传递比起来,更加有效率,需要网络带宽也更少。

DC如何保持所有的数据库拷贝同步?

AD DC 使用一套更新顺序数字(USN)系统对彼此间流动的AD数据库的不同版本进行校验和同步。每当一个DC对它的数据库做了修改,它就用一个USN来标识这个修改。在它通知其它DC它有一个修改需要复制时,它还把与被修改的属性相关联的USN通知给其它DC。

每个DC都维护了一个表格,里面保存着它从环里它的每个复制伙伴那里收到的最高的USN数字。如果一个DC收到了一个修改的通知,而与修改相关联的USN值要比在它的表里的记载的USN值高,那么它就向复制伙伴请求所有插入的修改。你可以在图 A 和 图B 里看到这个过程。

图 A: 活动目录变化通知里包括更新顺序数字USN。

图 B: AD 数据库使用USN在多主机环境里控制同步。

更多问题

如果DC从两个复制伙伴得到相同的修改,会怎么样?

就象我们前面讲过的,在一个域里的AD 的DC使用环形拓扑进行复制。您能会想,有没有可能,一个DC从不止一个复制伙伴那里接收到相同的目录修改呢?为了能区别开这些重复,防止修改在复制环里传播得没完没了,AD不但使用USN对不同数据库版本进行同步,而且还用它来确定“源头写”。“源头写”是在一台DC本地进行的修改,通过复制得到的个性不是源头写。源头写的USN被写入属性,和属性一起被复制。

为了说明这个机制是如何作用的,让我们来看一个简单的例子:假如名为 Astro的DC对某个属性做了修改。它就把新的USN给了这个修改。在这个例子里,我们假设USN为516。然后它把新值写到属性里,同时给属性值把USN代码写到叫做最新状态矢量的一个东西里。Astro这个DC把修改复制给它的两个复制伙伴:名为George 和 Elroy的DC。

为了简化,我们假设在我们的域里只有Astro、George、和 Elroy 这三个DC。因为它们使用环形的拓扑,Elroy并不知道 Astro 已经把相同的个性给了George,所以它还想把修改复制到George。但是,在复制发生之前,George 和 Elroy 要比较属性里的最新状态矢量,看到它们都被标记成来自Astro,所以就阻止George 从Elroy拉修改。虽然不拉修改, George 仍用Elroy当前的USN来修改自己当前的USN表,好让Elroy在下一个复制周期里,不再把变化传给George。

如果两个修改同时发生,会怎么样?

您可能已经想到,如果两个管理员,在不同的DC上,同时对同一个对象的同一个属性做了修改,这怎么办?微软也想到了这个问题。为了分开这些修改冲突,AD数据库使用了一套属性版本号系统。AD数据库里的每个属性都有一个版号,每次属性被修改时,版本号都更新。属性版本号在域里的所有DC上都应当相同。如果DC通过复制接收到属性的修改,它对打在修改上的属性版本号和它的数据库里的版本号进行比较,

然后进行下面的处理:

如果属性版本号比DC数据库里的版本号低,DC就忽略修改。

如果版本号相同(称为修改冲突),但是两个版本的属性值不同,DC就会用具有最后时间标签的属性值来打破这个约束。这样的修改冲突如图图 C 所示,而它的解决办法如图 D所示。 但是不用担心,AD服务会给管理员用户发送一条通知,让他知道发生了冲突。

更极端的可能性是属性版本号和时间标签都相同。这种情况下,微软选择按DC的GUID级别高低选出获胜的修改。因为GUID是绝对唯一的,所以AD使用最高GUID,就打破了限制。

就象您会想到的,微软在AD时集成了时间同步服务,这样所有的DC在给它们的目录修改做标记时,就会使用相同的时间。

图 C: 在用户的电话号码属性上,发生了修改冲突。

图 D: 根据两个属性值的时间标签,冲突得到解决。

站点

下面,让我们就站点(Site)稍做讨论。如你所知,你利用活动目录域和组织单元(OU)来定义你公司的逻辑结构。站点被用来定义你的底层网络逻辑结构-而且,对于在公司里通过低速网络连接进行的域内DC之间的复制,站点可以让你对流量做一些控制。

活动目录站点被定义成一个或多个连接好的IP子网的集合。在站点里的全部子网都要有可靠的、高速的网络连接,而不能由远远分隔,通过低速、不可靠的WAN连接连接起来。你会发现,高速是个相对概念。如果你是一个小型网络的管理员,那么对于用128Kbps速率传输数据的两个子网,你可以认为它们之间的连接很好。另一方面,如果你是一个非常大的网络的管理员,那么你可能会把所有低于1.5Mbps的连当作是低速连接。

定义站点(Site)

你可能还不知道,在你的企业里,第一个站点是在你安装第一个AD DC时,自动建立的。这个站点被赋予缺省名称Default-First-Site-Name(缺省第一个站点名称)。对于你的网络,这可能不是一个非常有说明性的名称,所以只要你愿望,你可以随时可以给它改名。缺省情况下,你的全部IP子网都包含在这个站点里。站点的主要用途是对通过低速网络连接进行的复制流量进行优化,并且帮助客户查找离他们最近的DC来处理服务请求。

使用预定义的MMC控制台活动目录站点和服务管理器(Active Directory Sites and Services),你可以在你的企业里建立附加的站点。下个月,我们会具体研究建立站点和站点对象。站点在活动目录(AD)里进行维护,但并不是名称空间的部分。所以,用户不能按站点浏览活动目录(AD)。站点结构只能用于复制。

站点成员

在你把一个 Windows 2000 活动目录(AD)域控制器(DC)提升到域控制器状态时,AD DC就被分配了它的站点信息。缺省情况下,它成为你运行Dcpromo.exe时,AD DC连接的子网所对应的站点的成员。以后,你可以使用活动目录站点和服务管理器(Active Directory Sites And Services)控制台,修改AD DC的站点成员身份。AD DC的站点所在地决定了它在复制拓扑里的位置。

AD 客户计算机从DC取得站点信息。在计算机启动时,它查询DNS,获取它域里的DC的IP地址。然后它与某个DC联系。如果DC不在客户的本地站点里(根据子网地址),DC会把正确的站点信息传递给客户,这样客户就可以对它的站点里的DC做更有效的DNS查询。然后,客户能够完成与本地DC的认证过程,还可以向本地DC请求服务。因为客户把这个信息缓存在它的注册表的这个值下面:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControSet\ Services\Netlogon\Parameter\ DynamicSiteName

所以,只有当客户的子网发生变化时,才必须重复站点发现过程。

你可以想象得到,这个过程极大地改善了客户和DC之间的通信,还能减少通过站点间低速的WAN连接进行的与AD有关的流量。你对AD站点的正确规划,能够给客户提供来自离它最近的DC的最新AD资源,而且可以保证站点间复制避开高峰时段,从而保证你的网络连接不会因为复制流量而饱和。

理解站点间复制

你可以把域的DC放在不同的站点里,以便对通过低速网络连接进行的AD复制进行控制。当你在一个新的站点里安装第一个DC时,它会自动建立复制连接。叫做站点间连接(intersite link),连接指向域里已有站点中的现存DC。在图 E里,你可以看到一个例子。你在第二个站点里安装的其它DC,会在第二个站点里构成环形拓扑。在一个站点里做的所有修改都会通过站点间连接复制到其它站点。

因为每个DC都有一份可以写入的AD数据库拷贝,所以如果站点间连接中断,它是无法防止你对你站点里的DC的AD做修改。只要计算机通信重新建立,在不同站点里的DC就会通过正常的复制过程进行同步。

图 E: 在新站里的第一个DC自动建立复制连接,连接指向域里其它站点的现存DC。

篇7:Windows Server 部署活动目录

1 安装环境

1、域:itchenyi.com,域功能级别和林功能级别为Windows server 模式,(关于win 2012 和 活动目录,,,,想必不用介绍了。。。)

2 安装域

1、以本地管理员身份登录服务器

2、打开服务器管理器(仪表板)

3、添加角色和功能---选择AD域服务

4、下一步就好

5、依旧下一步

6、选择安装。。

7、点击关闭

3 安装后的任务

1. 选择通知(黄色叹号)---将此服务器提升为域控制器

2. 选择添加新林

3. 选择域和林功能级别,并输入还原模式密码

4. 保持默认,下一步

5. 下一步

6. 下一步

7. 下一步

8. 选择安装

9. 重启后完毕….

本文出自 “IT辰逸” 博客,请务必保留此出处itchenyi.blog.51cto.com/4745638/1144454

篇8:PHP之文件目录基础操作

我们知道,临时声明的变量是保存在内存中的,即便是静态变量,在脚本运行完毕后也会被释放掉,so,想长久保存一个变量的内容,方法之一就是写到文件中,放到硬盘或服务器上,为此文件操作就必须很熟悉,

1.文件的属性信息获取

首先文件具有类型,在Linux下边,有block(块设备,如磁盘分区、CD-ROM)、char(以字符为输入的设备,如键盘、打印机)、dir(目录类型,目录也是文件的一种)、fifo(命名管道,解释是将信息从一个进程传到另一个进程)、file(普通的文件)、link(链接,类似win下边的快捷方式)、unknow(未知类型)7大类,在win下边,只有3类:file、dir和unknown。Linux渣表示一定要好好搞一下Linux-_-,人家完全是为Linux而生。

关于类型的获取有这么几个函数:filetype:获取类型; is_file:判断为是否是正常文件; is_link:判断是否是链接。

关于属性的获取有这么几个函数:

file_exists:判断文件或目录是否存在;

filesize:获取文件大小;

is_readable、is_writable、is_executable :是否可读、可写、可执行;

filectime、filemtime、fileatime:获取文件的创建时间(create)、修改时间(modify)、访问时间(access),均返回时间戳;

stat:获取文件的一些基本信息,返回一个索引与关联混合数组。

比如,可以这样判断文件类型:

复制代码

function getFileType($path){ // 获取文件类型

switch(filetype($path)){

case 'file': return 'ordinary file';

case 'dir': return 'directory';

case 'block': return 'block device file';

case 'char': return 'transfer device base on char';

case 'fifo': return 'named pipes';

case 'link': return 'symbol link';

default: return 'unknown type';

}

}

复制代码

filesize返回的是以字节为单位的数据,如果是大文件数字或很大,可以对数字先处理一下,代码如下

复制代码

// 处理文件大小

function getSize($path = '', $size = -1){

if($path !== null && $size == -1){  // 只传路径就计算大小,也可以使之只处理数字

$size = filesize($path);

}

if($size >= pow(2, 40)){

return round($size/pow(2, 40), 2).'TB';

}

else if($size >= pow(2, 30)){

return round($size/pow(2, 30), 2).'GB';

}

else if($size >= pow(2, 20)){

return round($size/pow(2, 20), 2).'MB';

}

else if($size >= pow(2, 10)){

return round($size/pow(2, 10), 2).'KB';

}

else{

return round($size, 2).'Byte';

}

}

复制代码

现在综合来获取一下文件信息,代码如下:

复制代码

function getFileInfo($path){

if(!file_exists($path)){  // 判断文件是否存在

echo 'file not exists!

';

return;

}

if(is_file($path)){  // 是文件,打印基础文件名

echo basename($path).' is a file

';

}

if(is_dir($path)){  // 是目录 ,返回目录

echo dirname($path).' is a directory

';

}

echo 'file type:'.getFileType($path).'

'; // 获取文件类型

echo 'file size:'.getSize($path).'

'; // 获取文件大小

if(is_readable($path)){ // 是否可读

echo basename($path).' is readable

';

}

if(is_writeable($path)){ // 是否可写

echo basename($path).' is writeable

';

}

if(is_executable($path)){ // 是否可执行

echo basename($path).' is executable

';

}

// touch函数可以修改这些时间

echo 'file create time: '.date('Y-m-d H:i:s', filectime($path)).'

'; // 创建时间

echo 'file modify time: '.date('Y-m-d H:i:s', filemtime($path)).'

'; // 修改时间

echo 'last access time: '.date('Y-m-d H:i:s', fileatime($path)).'

'; // 上次访问时间

echo 'file owner: '.fileowner($path).'

'; // 文件拥有者

echo 'file permission: '.substr(sprintf('%o', (fileperms($path))), -4).'

'; // 文件权限,八进制输出

echo 'file group: '.filegroup($path).'

'; // 文件所在的组

}

复制代码

效果如下:

代码中还用到了文件权限、所在组等函数,有必要解释下(说的不对请修正)。一个文件的权限分为可读可写可执行,一般这样表示:rwx,字母对应的表示可读可写可执行,从前往后规定值为4、2、1,三个值相加的结果最大为7,因此0666用的是八进制表示,这样看起来就很方便。为7则表示这个文件具备这三个权限,那为什么打印的是0666呢?我们都知道,进入windows下面是有一个用户的,在Linux下边,与windows类似,也是有一个用户登录进去,因此一个文件可能为该用户所有,一个用户它还有自己所在的组,以及该系统中还有其他组(猜想这样分应该是管理上的需要),因此对于0666,对于第一个6,表示该用户对该文件的权限,第二个6表示该用户所在的组对该文件的权限,第三个6表示其他的组所具有的权限(这样就不用一一去区分除本组外其他的用户了),6就知道该文件是可读可写的(win下可执行都知道是.exe文件)。

2.目录操作

目录的读取,opendir:打开一个目录,返回一个句柄,指向该目录中的内容,如果把目录中的内容看成一个有顺序的数据,比如按顺序的排列的数组,这个句柄就指向这个数组的开头,事实上,系统会把该目录中的内容按照字典排序,无论是文件还是子目录。readdir:读取下一个目录内容,返回文件名,并自动指向该目录中的下一个文件/目录,所以读取一个目录中的内容,不包括子目录中的内容,需要一个循环来控制,在读取完后,还要关闭句柄变量,C语言读取文件时也是这样,打开就有关闭。以我的机子举例:

复制代码

// 目录的读取

$dir = 'F:/';

echo 'details in '.$dir.'

';

if(is_dir($dir)){

if(($handle = opendir($dir)) == false){   // 获取目录句柄

echo 'open dir failed';

return;

}

while(($name = readdir($handle)) != false){ // 循环读取该目录下内容

$filepath = $dir.'/'.$name;

echo 'name: '.$name.' type: '.filetype($filepath).'

';

}

closedir($handle);             // 关闭目录句柄

}

else{

echo $dir.' is not a directory';

}

复制代码

效果如下:

可以看到实际上,系统给目录中内容进行了忽略大小写的字典排序。

目录的大小计算,我们知道文件的大小可以由filesize取得,但是php中没有专门计算目录大小的函数。当然php中有计算硬盘大小的函数disk_total_space(计算硬盘总空间)、disk_free_space(计算硬盘可用空间),但是我试了下disk_free_space,貌似计算得不对。正因为有filesize计算文件的大小,因此,需要用到递归,当是目录时,进去继续计算子目录的大小,如果是文件,获取到文件大小并加上返回,代码如下:

复制代码

// 目录大小计算

function getDirSize($dirpath){

$size = 0;

if(false != ($handle = opendir($dirpath))){

while(false != ($file = readdir($handle))){

if($file == '.' || $file == '..')    //注意过滤目录中自带的点和点点

continue;

$filepath = $dirpath.'/'.$file;     // 前面要接上路径

if(is_file($filepath)){         // 是文件计算大小

$size += filesize($filepath);

}

else if(is_dir($filepath)){       // 是目录继续计算该目录下的文件

$size += getDirSize($filepath);

}

else{

$size += 0;

}

}

closedir($handle);

}

return $size;

}

$dirsize = 'F:/size';

$size = getDirSize($dirsize);

echo 'dir size: '.getSize(null, $size).'

'; // 调用前面的数据处理函数

复制代码

我在F盘建了个size文件,随便弄了点子目录和文档,效果如下,左边是程序求得,右边是右键查看文件夹属性得到的,用以对比,

目录的新建和删除,主要用到,mkdir:新建一个目录,rmdir:删除一个非空目录,注意只能是非空,代码如下:

复制代码

// 目录的新建和删除

$newDirPath = 'F:/newDir';

if(true == @mkdir($newDirPath, 0777, true)){   // 加@是因为文件已存在时php本身可能会抛出一个warning

echo 'create directory '.$newDirPath.' successfully

';

}

else{

if(file_exists($newDirPath))

echo 'directory '.$newDirPath.' has existed

';

else

echo 'create directory '.$newDirPath.' failed

';

}

if(true == @rmdir('F:/aaa'))    //只能删除非空目录,如果删除不存在的目录自动抛出warning

echo 'remove successfully

';

复制代码

那么问题来了,如果要删除一个非空目录咋办,又得自己写了,思想仍然是递归,因为php只提供了删除文件函数unlink,所以在删除一个目录时,先opendir,再进入,如果是文件直接删除,如果是目录,继续进入使用该方法处理,当然还可已返回一个bool变量表示删除是否成功,代码如下:

复制代码

// 删除文件 unlink

// 删除目录中的内容,然后删除该目录

function clearDir($dirpath){

if(file_exists($dirpath)){

if(false != ($handle = opendir($dirpath))){

while(false != ($name = readdir($handle))){

if($name == '.' || $name == '..')

continue;

$filename = $dirpath.'/'.$name;

if(is_dir($filename))

clearDir($filename);

if(is_file($filename))

@unlink($filename);

}

closedir($handle);

rmdir($dirpath);

}

else{

return false;

}

}

else{

return false;

}

return true;

}

复制代码

在这里不得不说遇到的一个大坑,就是 . 和 .. 这两个鬼玩意儿(点和点点),在操作系统中的每一个文件夹下边,都会有 . 和 .. ,它们表示当前目录和当前目录的上级目录,可恶的是前面在读取目录时居然没显示,导致递归函数成了死循环,因为 . 和 .. 在每一个目录的最前面,必然会先读到它俩,若不过滤,首先读到 . ,它表示本目录,然后又递归进入本目录...这俩是操作系统下面的默认有的,它们是本目录与上级目录的连接符。

通过计算目录的大小和删除非空目录的代码,写复制和剪切目录就非常容易,非常相似的递归思想,需要用到复制文件函数copy,文件移动函数rename,这个挺有趣,rename,字面上是重命名,但是重命名到另一个目录中不就是剪切了么-_-

3.文件读写

php的某些文件读取操作跟C语言非常像,所以也比较简单,步骤就是先打开文件获取句柄,检查错误,然后读写处理,然后关闭,养成打开处理完后就关闭的好习惯,记得在C语言中的文件不关闭的话,打开两次是会报错滴,不知道记错没,所以严格点的程序都有非常多的处理,比如先验证文件存在,然后验证可读可写性,然后先关闭一下,然后再打开,打开时还得再检查打开错了没......在打开文件时,就要选择打开文件的模式,它决定了我们读还是写文件,当然是对需要这样操作的函数有用。

写文件,写文件函数只有fwrite、fputs、file_put_contents少数几个,其中fwrite与fputs效果一样,file_put_contents是一次性向文件写入一些内容,它就不需要指定打开模式,同时它也可以是附加或者覆盖现有文件内容,比如:

复制代码

// 写 fwrite(别名fputs)

$filepath = 'F:/10m.txt';

function writeSome($filepath){

if(($handle = fopen($filepath, 'r+')) == true){

for($i=0; $i<10; $i++)

fwrite($handle, $i.“ write something\r\n”); // windws以\r\n作为换行符

fclose($handle);

}

}

file_put_contents($filepath, 'use file_put_contents function', FILE_APPEND); // 附加内容

复制代码

读文件,读文件的函数多些,有fread(读取指定个字节)、fgetc(读取一个)、fgets(读取一行)、file(全部读取,按行分配到一个数组中返回)、file_get_contents(默认读取全部返回字符串)、readfile(直接将文件中内容输出到缓存,效果就是直接在浏览器上输出),伴随着fread、fget、fgets运行,文件指针会自动往后走。因此连续读最好是循环控制。读到文件末尾怎么办,EOF标识指示到达文件末尾,最好用feof检测是否到文件末尾。不多说,看代码:

复制代码

// fread读取

function readSome($filepath){

if(($handle = @fopen($filepath, 'r')) == true){

while(!feof($handle)){      // 判断是否到达文件末尾

$str = fread($handle, 10);  // fread读取时,文件指针自动向后移动

echo $str.'

';

}

}

}

复制代码

如果想要读取方式更灵活,就要配合fseek、rewind使用,它们可以移动文件指针到具体位置,fseek十分灵活,可以直接移到开头或末尾,或从当前位置往前或后移动,读取想要的内容,ftell还可告知当前位置,比如:

复制代码

function readFun($filepath){

if(($handle = @fopen($filepath, 'r')) != false){

echo 'current position: '.ftell($handle).'

'; // 输出文件当前文件指针位置,以字节算,0表示开头

$str = fread($handle, 3); // 读取3个字节,同时指针自动后移3个字节

echo 'read content: '.$str.'

';

echo 'current position: '.ftell($handle).'

';

fseek($handle, 5, SEEK_CUR); // 将文件指针从当前位置后移5个字节

echo 'current position: '.ftell($handle).'

';

$str = fread($handle, 5);

echo 'read content: '.$str.'

';

echo 'current position: '.ftell($handle).'

';

rewind($handle); // 返回文件开头

echo 'current position: '.ftell($handle).'

';

fseek($handle, 0, SEEK_END); // 移到文件末尾

echo 'current position: '.ftell($handle).'

';

fclose($handle); // 关闭文件

}

}

篇9:Windows Server 活动目录之域重命名一网络服务器

关于域的重命名也是很多 网络 管理人员近几年遇到的比较多的一个现象,往往是由于公司内部或外部的一些原因而导致公司的名称发生变化,那么公司的域名也要发生相应的变化,但是由于域构架的特殊性,所以对域进行重命名可不像对修改计算机的主机名这么简单,

关于域的重命名也是很多网络管理人员近几年遇到的比较多的一个现象,往往是由于公司内部或外部的一些原因而导致公司的名称发生变化,那么公司的域名也要发生相应的变化,但是由于域构架的特殊性,所以对域进行重命名可不像对修改计算机的主机名这么简单,那么接下来我将为大家详细说一下域的重命名的操作流程,

先给大家罗列一下实验环境:

原域域名:demo.com

域控制器:server.demo.com

IP:192.168.5.1

子网掩码:255.255.255.0

DNS:192.168.5.1

其中还有一台域外额控制器,名为:test20031.demo.com,一个子域:test.demo.com

实验目的:把demo.com重命名为try.com

一、前提条件:

1、所有的域控制器必须全部是WindowsServer 2003,这是一个必备条件,因为Windows 域并不支持域重命名。如果你是Windows 2000域的话,那么你只能用ADMT进行活动目录迁移,具体操作请参见我的上一篇文章。

2、由于域的重命名操作并不是在域控制器上完成的,(这一点出乎很多人的意料之外吧),所以除了域控制器外,还要有一台装着Windows Server 2003的成员服务器,而且必须已经加入到该域。本实验环境中这台计算机的配置如下:

计算机名:ren2003.demo.com

IP:192.168.5.6

子网掩码:255.255.255.0

DNS:192.168.5.1

二、准备工作:

1、在进行域的重命名操作以前,请一定要用Ntbackup工具备份现在所有域控制器的系统状态数据数据,以防万一,

我在前面的文章――“活动目录之备份与恢复”上已经详细讲过了,这里就不重复了。

2、要进行域的重命名操作,所有的域控制器一定要是Windows Server 2003,并且提升域和森林的功能级别到Windows 2003纯模式,因为默认是Windows 2000混合模式;关于提升域功能级别我已要在“活动目录之迁移”是提到了,这里我只是提一下提升森林的功能级别:

点击“开始-设置-控制面板-管理工具-Active Directory域和信任关系”:

在“Active Directory域和信任关系”上击右键:

选择“提升林功能级别”:

点击“提升”就可以了,只是这个操作也是不可逆的。之前一定要保证域级别在Windows Server 2003,包括子域的域级别哟!

提升完成后,大家要注意复制的时间,最好等一会,至于具体要等多久就要取决于你的网络规模大小了。

3、新建一个新的DNS区域,域名要和新建域的域名一致;

点击“开始-设置-控制面板-管理工具-DNS”:

在“正向查找区域”上击右键:

选择“新建区域”:

点“下一步”:

选“主要区域”,其它保持默认,点“下一步”:

选“至Active Directory林demo.com中的所有域控制器”,然后点“下一步”:

这里要输入新域的域名,实验中是“try.com”,继续“下一步”:

点“下一步”:

确认没有问题后点“完成”:

建立完成。

原文转自:www.ltesting.net

篇10:Windows 2000活动目录的修理和恢复

Windows2000的使用过程中,我们会遇到AD由于意外被损坏的 情况,那么我们用什么方法来恢复呢?下面我们就来讨论Active Directory修理和恢复,

一、使用Ntdsutil来修理Active Directory

根据系统的报错信息、系统日志或者应用程序的报错,你怀疑出错原因是域控制器上的Active Directory,这时候可能最先想到的是使用Ntdsutil来修复。但是,我建议最好把他作为最后一个也是最为有用的一个方案。如果你有一个系统的备份,最好使用备份来恢复系统,应该始终把使用备份恢复作为你首选的方案。

对目录服务数据库使用修复功能并不总能够达到预期的结果。比如,如果真的数据库文件损坏了,即使使用Ntdsutil也是没有办法恢复所有的对象及其属性。实际上,在某些情况下使用修复工具反而会造成更多的数据丢失,所以在尝试使用这种修复工具之前,注意把这个服务从网络中隔离开来,以避免影响到其他的域控制器的Active Directory复制。在你确认修复后的服务器一切正常以后再连接到网络中来。

使用ntdsutil修复AD数据库。

(1)打开命令行提示符窗口,输入下面命令:Ntdsutil

(2)出现Ntdsutil以后,输入以下命令:repair

二、恢复Active Directory

当其他一切努力都失败时,你可能会发现从AD的备份中恢复一个Win2000 DC(域控制器)是最有效的。虽然要把Active Directory从一个备份恢复到一个域控制器上不是一件难事,但是在你进行任何恢复之前,你需要对你的网络体系和逻辑关系仔细考虑。你应该考虑以下几个问题:

是否本地的Active Directory 数据库损坏了,其他复制的域控制器是否也损坏了。

一个域控制器从你的备份中恢复,是否要覆盖其他的域控制器的Active Directory数据库信息。如果要覆盖,那么以前修改过的信息就会全部丢失(如:修改的帐户与属性等)。

或者你将要修复的Active Directory要从其他的域控制器上复制原有的信息(如:帐户和属性等)。

因为上面的问题在于选择使用那一种恢复模式。在 Active Directory恢复模式中有两种:非授权(No authoritative)和授权(authoritative).

非授权(No authoritative)模式:大多数的恢复操作都是此种模式。要恢复Active Directory的这一台域控制器从其他的域控制器上复制信息,这是依靠一个叫“版本号 (USN)”的参数。Active Directory在同一个域中,是通过这个参数去更新复制的,谁的版本号高,就找谁复制。

授权(authoritative)模式:当其他的域控制器包含无效的信息时,或我们有特定的要求以某一台域控制器为准做复制,此时可采用授权的恢复复制模式。在这种情况下,你可以手工指定你要恢复的整个Active Directory的数据库。指定本地恢复的数据库是授权的(也就是在与其他域控制器复制时,以本地恢复的版本号为准)。此时就要修改Active Directory的版本号,这样一来他的版本号就高于其他域控制器的Active Directory数据库的版本号,从而以本地数据库的内容为主进行复制。

如果你使用Windows 2000自带的备份工具 (Ntbackup.exe),要想成功恢复系统状态(包括Active Directory),就必需有以下特点:

服务器的名称必须相同,

“%systemroot%”文件夹所在的驱动器的字符必须和备份服务器的驱动器字符相同。

“%systemroot%”文件夹所在的目录必须和备份服务器所在目录相同。(例如都在“c:winnt”目录下)。

三、使用非授权模式恢复Active Directory

要使用非授权模式,必须先停掉目录服务,我们应该按照以下步骤进行:

在Windows 2000启动时按下F8,选择“目录服务恢复模式”,然后选择启动,然后Windows 2000进入安全模式。

以系统管理员或者备份操作员的身份登陆。

运行备份工具,从“欢迎菜单”中选择“还原向导”,选择“还原项目”,然后选中“系统状态”。在系统状态就包括了注册表、Active Directory和其他系统的关键组件。

在完成恢复操作以后,就可以重启这台域控制器了。

重启之后,这台域控制器将会参与Active Directory的复制会直接从其他的域控制器上接受最新的更新。

四、使用授权模式恢复Active Directory

通过授权恢复模式,你可以把所有的域控制器恢复到以前的某一时刻的状态。比如,当系统管理员误删除了一个组织单元(OU),而且此组织单元中包含了非常重要的用户帐户信息。,那我们怎么办呢,此时我们可以通过使用授权的模式恢复丢失的信息,这样一来我们可以达到两个目的:一是恢复本地Active Directory的信息;二是恢复由于复制导致其他域控制器丢失信息的Active Directory。

授权模式就是要修改Active Directory对象的版本号,一般情况下,授权模式会在原来版本号的基础上加一万,以达到比所有其他的Active Directory数据库的版本号都高,那么低版本的数据库就会以高版本的数据库为标准而复制,以达到授权恢复的目的,当然,增加的数值可以自定义。

要使用授权模式,必须要使用Ntdsutil工具:

在命令提示符输入“cmd”,然后输入:Ntdsutil

在Ntdsutil提示符下,输入:authoritative restore.

此命令意味着将进入授权恢复模式。在授权恢复模式提示符下,输入:restore database

当系统提示需要确认进行授权恢复操作时,回答:yes,然后输入:Quit。回车两次,就可以关闭此窗口了。

在Active Directory 恢复完成以后,系统会自动弹出消息框是否要重启服务器,一定要选择“NO”,这点一定要注意。

最后,我们要知道每次的授权模式恢复以后,Sysvol文件夹也一同被恢复了,这样一来,保证了Sysvol和Active Directory的一致。

以下是授权模式的一些命令:

authoritative restore: 列出授权模式命令列表。

Restore database: 授权模式恢复整个数据库

Restore database verinc %: 增加版本号

等等,详细命令可以查看Win2000帮助文件。

【windows 活动目录之基础篇】相关文章:

1.Windows Server活动目录之迁移三(组图)网络服务器

2.Windows Server 活动目录的域重命名一

3.Windows 的安全配置教程之高级篇

4.活动目录方案

5.局域网技术基础之局域网分段

6.Windows服务器安全设置之组件安全设置篇

7.Windows秘密武器之诊断工具几个问题解释

8.规章制度目录

9.目录范本

10.论文目录

下载word文档
《windows 活动目录之基础篇.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度: 评级1星 评级2星 评级3星 评级4星 评级5星
点击下载文档

文档为doc格式

  • 返回顶部