博客地址:http://www.moonxy.comhtml
1、前言前端
1.1 AD 域服务数据库
什么是目录(directory)呢?windows
平常生活中使用的电话薄内记录着亲朋好友的姓名、电话与地址等数据,它就是 telephone directory(电话目录);计算机中的文件系统(file system)内记录着文件的文件名、大小与日期等数据,它就是 file directory(文件目录)。安全
若是这些目录内的数据可以由系统加以整理,用户就可以容易且迅速地查找到所需的数据,而 directory service(目录服务)提供的服务,就是要达到此目的。在现实生活中,查号台也是一种目录;在 Internet 上,百度和谷歌提供的搜索功能也是一种目录服务。服务器
Active Directory 域内的 directory database(目录数据库)被用来存储用户帐户、计算机帐户、打印机和共享文件夹等对象,而提供目录服务的组件就是 Active Directory (活动目录)域服务(Active Directory Domain Service,AD DS),它负责目录数据库的存储、添加、删除、修改与查询等操做。通常适用于一个局域网内。网络
在 AD 域服务(AD DS)内,AD 就是一个命名空间(Namespace)。利用 AD,咱们能够经过对象名称来找到与这个对象有关的全部信息。架构
在 TCP/IP 网络环境内利用 Domain Name System(DNS)来解析主机名与 IP 地址的对应关系,也就是利用 DNS 来解析来获得主机的 IP 地址。除此以外,AD 域服务也与 DNS 紧密结合在一块儿,它的域命名空间也是采用 DNS 架构,所以域名采用 DNS 格式来命名,例如能够将 AD 域的域名命名为 moonxy.com。tcp
1.2 AD域对象与属性工具
AD 域内的资源以对象(Object)的形式存在,例如用户、计算机与打印机等都是对象,而对象则经过属性(Attriburte)来描述其特征,也就是说对象自己是一些属性的集合。例如,建立一个帐户张三,则必须添加一个对象类型(object class)为用户的对象(也就是用户帐户),而后在这个用户帐户内输入张三的姓名、登陆帐户、电话号码和电子邮件等信息,这其中的用户帐户就是对象,而姓名、登陆帐户等数据就是该对象的属性,张三就是对象类型为用户(user)的对象。
1.3 AD 域控制器 DC
AD 域服务(AD DS)的目录数据存储在域控制器(Domain Controller,DC)内。一个域内能够有多台域控制器,每台域控制器的地位几乎是平等的,它们各自存储着一份几乎彻底相同的 Active Directory。当在任何一台域控制器内添加了一个用户帐户后,此帐户默认被建立在此域控制器的 Active Directory,以后会自动被复制(replicate)到其余域控制器的 Active Directory,以便让全部域控制器内的 Active Directory 数据都可以同步(synchronize)。
当用户在域内某台计算机登陆时,会由其中一台域控制器根据其 Active Directory 内的帐户数据,来审核用户输入的帐户与密码是否正确。若是是正确的,用户就能够登陆成功;反之,会被拒绝登陆。域控制器是由服务器级别的额计算机来扮演的,例如 Windows Server 2012 和 Windows Server 2008 R2 等。
一般,域控制器的 Active Directory 数据库是能够被读写的,除此以外,还有 Active Directory 数据库是只能够读取、不能够被修改的只读域控制器(Read-Only Domain Controller,RODC)。例如,某子公司位于远程网络,若是安全措施并不像总公司同样完备,则可使用 RODC。
1.4 LDAP
LDAP(Lightweight Directory Access Protocol),轻量目录访问协议,是一种用来查询与更新 Active Directory 的目录服务通讯协议。AD 域服务利用 LDAP 命名路径(LDAP naming path)来表示对象在 AD 内的位置,以便用它来访问 AD 内的对象。
LDAP 数据的组织方式:
LDAP 名称路径以下:
标识名称(distinguished Name,DN):它是对象在 Active Directory 内的完整路径,DN 有三个属性,分别是 CN,OU,DC。
DC (Domain Component):域名组件;
CN (Common Name):通用名称,通常为用户名或计算机名;
OU (Organizational Unit):组织单位;
例如,如上用户帐户,其 DN 为:
CN=张三,OU=Web前端组,OU=软件开发部,DC=moonxy,DC=com
其中 DC(Domain Component)表示 DNS 域名中的组件,例如 moonxy.com 中的 moonxy 与 com;OU为组织单位(Organization Unit);CN为通用名称(Common Name),通常为用户名或服务器名。除了DC与OU以外,其余都利用CN来表示,例如用户与计算机对象都属于CN。上述DN表示法中的 moonxy.com 为域名,软件研发部、Web前端组都是组织单位。此 DN 表示帐户张三存储在 moonxy.com\软件研发部\Web前端组路径中。
相对标识名称(Relative Distinguished Name,RDN):RDN用来表明DN完整路径中的部分路径,例如上面路径中的 CN=张三与 OU=Web前端组等都是 RDN。
Base DN:LDAP 目录树的最顶部就是根,也就是所谓的 "Base DN",如 "DC=moonxy,DC=com"。
除了 DN 与 RDN 这两个对象名称外,另外还有以下两个名称:
全局惟一标识符(Global Unique Identifier,GUID):GUID 是一个128位的数值,系统会自动为每一个对象指定一个惟一的GUID。虽然能够改变对象的名称,可是其GUID永远不会改变。
用户主体名称(User Principal Name,UPN):每一个用户还能够有一个比DN更短、更容易记忆的 UPN,例如上面的张三隶属于 moonxy.com,则其 UPN 能够为 zhangsan@moonxy.com。用户登陆时所输入的帐户名最好是 UPN,由于不管此用户的帐户被移动到哪个域,其 UPN 都不会改变,所以用户能够一直使用同一个名称来登陆。
AD 与 LDAP 的关系:LDAP 是一种用来访问 AD 数据库的目录服务协议,AD DS 会经过 LDAP 名称路径来表示对象在 AD 数据库中的位置,以便用它来访问 AD 数据库内的对象。LDAP 的名称路径包括有 DN、RDN。
openLDAP(Linux),Active Directory(Microsoft)等是对 LDAP 目录访问协议的具体实现,除了实现协议的功能,还对它进行了扩展。
1.5 全局编录
虽然在域树内的全部域共享一个 Active Directory,可是 Active Directory 数据却分散在各个域内,而每一个域仅存储该域自己的数据。所以,为了让用户、应用程序可以快速找到位于其余域内的资源,在 AD 域服务器内设计了全局编录(Global Catalog,GC)。
全局编录的数据存储在域控制器内,这台域控制器被称为全局编录服务器,它存储着林内全部域的 AD 内的每一个对象。不过只存储对象的部分属性,这些属性都是经常使用来搜索的属性,例如用户的电话号码、登陆帐户名等。全局编录让用户即便不知道对象位于哪个域内,仍然能够快速的找到所需的对象。
用户登陆时,全局编录服务器还负责提供该用户所属的通用组的信息;用户利用 UPN 登陆时,它会负责提供该用户隶属于哪个域的信息。
一个林内的全部域树共享相同的全局编录,而林内的第一台域控制器默认就是全局编录服务器。必要时,也能够另外指派其余域控制器来当作全局编录服务器。
2、安装 DNS 和 AD 域服务
Windows 版本:Windows Server 2008 Enterprise Service Pack 1
系统类型: 64 位操做系统
2.1 安装 DNS 服务器
这一步不是必须的,在安装 Active Directory 域服务时能够同时装上 DNS 服务器:Active Directory 域服务安装向导 -> 其它域控制服务器,勾上 DNS 服务器也有一样效果。可是鉴于服务器配置容易出现一些未知错误,因此仍是推荐提早安装 DNS 服务比较好。
首先应该配置 DNS 服务器的静态 IP(推荐),不然安装时会出现以下提示:
而且 DNS 服务器的地址设置为本身的地址 127.0.0.1:
开始菜单 -> 管理工具 -> 服务器管理器,或者直接点击开始菜单旁边的快捷图标:
选择左侧树形菜单 "角色" 节点,右键 "添加角色",此处的 "角色" 表示此服务器要被配置为何功能的服务器,即提供什么样的服务:
进入 "添加角色向导",点击 "下一步" 按钮:
进入选择 "角色" 页面:
勾选 "DNS 服务器" 角色,并点击 "下一步" 按钮:
进入 DNS 服务器简介页面,点击 "下一步" 按钮:
进入确认安装页面,点击 "安装" 按钮:
出现以下进度条:
点击 "关闭" 按钮,并重启服务器:
此时,DNS 服务已经安装完成。
2.2 安装 Active Directory 域服务
进入 "服务器管理器" 中添加 AD 域服务角色:
或者点击开始菜单 -> 运行 -> 输入命令 "dcpromo" ,而后回车:
备注:
dcpromo 命令是一个 "开关" 命令。若是 Windows Server 2008 计算机是成员服务器,则 运行 dcpromo 命令会安装 AD 活动目录,将其升级为域控制器;若是Windows Server 2008 计算机已是域控制器,则运行 dcpromo 命令会卸载 AD 活动目录,将其降级为成员服务器。
进入安装界面界面:
弹出 Active Direcotry 域服务安装向导,点击 "下一步" 按钮:
进入兼容性提醒页面,不用理会,点击 "下一步" 按钮:
注意:若是是第一次搭建也是你整个内网中的第一台域控制器,那么须要选择第二项 "在新林中新建域",第一项是内网中已经存在 AD 环境再想搭建额外域控制器的时候使用的。
选择 "在新林中新建域”并点击",点击 "下一步" 按钮:
输入域名,这个要慎重,由于这个配置完毕以后要修改很麻烦且有风险,并点击 "下一步" 按钮:
进入林功能级别设置界面,选择 "Windows Server 2008",而后点击 "下一步":
注意:
这里须要强调的是,若是你的 AD 中之后可能会出现 Windows Server 2003 系统的域控制器,请务必选择 Windows Server 2003 的域功能级别,要不之后那些 Windows Server 2003 的服务器就作不了域控制器了,因此安装第一台 DC 的时候,都选择的低级别的林功能,之后要升到 Windows Server 2008 的域功能级别是没问题的,如果选了 Windows Server 2008 的功能级别,之后要降级就难了。
点击 "下一步" 按钮:
若是最初没有安装 DNS 服务器,此处能够勾选并安装:
若是已经安装,此处即为灰色:
弹出 DNS 提示框,不用理会,点击 "是" 按钮,继续安装:
进入AD 域的数据库文件、日志文件和共享文件位置设置页面,此处保持默认设置,点击 "下一步" 按钮:
进入 "域还原密码" 设置界面,此密码至关的重要,后续作数据库迁移、备份、整理、恢复的时候均可能用到,务必要牢记:
填入密码以后,点击 "下一步" 按钮:
进入 "摘要" 界面,显示以前设置的摘要信息,点击 "下一步" 按钮:
此处能够点击 "导出设置" 到一个位置保持起来,以便后续排错时查阅,也能够做为 DC 安装时的无人值守安装的脚本。
安装向导进入配置过程
点击 "完成" 按钮,重启服务器:
此时,AD 域服务已经安装完成。ADDS域控制器已经安装完成,在完成域控制器的安装后,系统会自动的将该服务器的用户帐号转移到 AD 数据库中。
2.3 检查 DC 是否已经注册到 DNS
域控制器 DC 会将本身扮演的角色注册到 DNS 服务器内,以便让其余计算机可以经过 DNS 服务器来找到这台域控制器,所以先检查 DNS 服务器内是否已经存在这些记录。利用与系统管理员(MOONXY/Administrator)登陆。
检查主机记录
首先检查域控制器是否已经将其主机名与 IP 地址注册到 DNS 服务器内。请到扮演 DNS 服务器角色的计算机 WIN-NHLP41A04F6.moonxy.com 上点击 "DNS" 菜单:
此处应该会有一个名称为 moonxy.com 的区域,图中的主机(A)记录表示域控制器 WIN-NHLP41A04F6.moonxy.com 已经正确地将其主机名与 IP 地址注册到 DNS 服务器内。DNS 客户端所提出的请求大可能是正向解析,即经过 hostname 来解析 IP 地址对应与此处的正向查找区域;经过 IP 来查找 hostname 即为反向解析,对应于此处的反向查找区域。
若是域控制器已经正确地将其扮演的角色注册到 DNS 服务器,则还应该有对应的 _tcp、_udp 等文件夹。在单击 _tcp 文件夹后能够看到以下所示的界面,其中数据类型为服务位置(SRV)的 _ldap 记录,表示 WIN-NHLP41A04F6.moonxy.com 已经正确地注册为域控制器。其中的 _gc 记录还能够看出全局编录服务器的角色也是由 WIN-NHLP41A04F6.moonxy.com 扮演的。
DNS 区域内包含这些数据后,其余要加入域的计算机就能够经过经过此区域来得知域控制器为 WIN-NHLP41A04F6.moonxy.com。这些加入域的成员(域控制器、成员服务器、Windows 八、Windows 七、Windows Vista、Windows XP Professional 等)也会将其主机与 IP 地址数据注册到此区域内。
3、管理 AD 域用户帐户
3.1 域用户管理工具
可使用以下两个工具来管理域帐户,以下:
Active Directory 用户和计算机:这是以前 Windows Server 200八、Windows Server 2003 等系统就已经提供的工具;
Active Directory 管理中心:这是从 Windows Server 2008 R2 开始提供的工具,用来取代 Active Directory 用户和计算机。
3.2 建立组织单位与域用户帐户
经过使用 Active Directory 用户和计算机进行说明:
能够将用户帐户建立到任何一个容器或组织单位(OU)内。如下建立一个名为软件研发部的组织单位。而后再建子组织单位,最后在此子组织单位内建立域用户帐户。
建立组织单位:
输入软件研发部的组织单位,而后点击 "肯定" 按钮:
建立以后,在该组织下面继续建立两个子组织单位:Web 前端组和 Java 开发组。
Web 前端组:
Java开发组:
建立用户:
进入建立用户界面,填入用户信息,好比此处建立用户:张三,而后点击 "下一步" 按钮:
注意:
用户 UPN 登陆:用户能够利用这个与电子邮箱格式相同的名称(zhangsan@moonxy.com)来登陆域,此名称被称为 User Principal Name(UPN)。在整个林内,此名称必须是惟一的。
用户 SamAccountName 登陆:用户也能够利用此名称(MOONXY\zhangsan)来登陆域,其中 MOONXY 为 NetBIOS 域名。同一个域内,此登陆名称必须是惟一的。Windows NT、Windows 98 等旧版系统并不支持 UPN,所以在这些计算机上登陆时,只能使用此处的登陆名。
进入建立密码界面,域用户的密码默认必须至少7个字符,且至少包含大写字母、小写字母、数字、非字母数字等4组中的3组,点击 "下一步" 按钮:
进入完成页面:
点击上面的 "完成" 按钮,便可看到新增的用户:张三
同理,在 "Web 前端组" 子组织单位下继续建立用户:李四,在 "Java开发组" 组组织机构下建立两个用户:王5、赵六。结果以下:
Web 前端组用户:
Java 开发组用户:
建立好上面的域用户帐户以后,就能够用来测试登陆域的操做。直接到域内任何一台非域控制器的计算机上登陆域,例如 Windows Server 2012 成员服务器或已加入域的 Windows 8 计算机。通常用户帐户默认没法在域控制器上登陆,除非另外开放。
备注:
以上是 Windows Server 2008 AD 域服务器搭建的过程和简介,此过程也适用于 Windows Server 2008 R2 版本的 AD域搭建。此外也能够参考以下博友不一样版本的搭建过程:
Windows Server 2008 R2 AD服务器搭建
Windows 08 R2_建立AD DS域服务(图文详解)