1 / 57

第 13 章 LDAP 服务的配置与应用

第 13 章 LDAP 服务的配置与应用. 本章导读 目录服务概述 LDAP 基础 LDAP 服务的安装 初始化 OpenLDAP phpLDAPadmin 的安装 配置 phpLDAPadmin 使用 phpLDAPadmin 管理目录树 LDAP 服务的身份验证实例. 13.1 目录服务概述. X.500 简介 LDAP 简介 LDAP 与 X.500 的比较 流行的目录服务产品. X.500 简介. X.500 由 ITU-T 和 ISO 定义,它实际上不是一个协议,它是由一个协议族组成

kellan
Download Presentation

第 13 章 LDAP 服务的配置与应用

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 第13章 LDAP服务的配置与应用 本章导读 • 目录服务概述 • LDAP基础 • LDAP服务的安装 • 初始化OpenLDAP • phpLDAPadmin的安装 • 配置phpLDAPadmin • 使用phpLDAPadmin管理目录树 • LDAP服务的身份验证实例

  2. 13.1目录服务概述 • X.500简介 • LDAP简介 • LDAP与X.500的比较 • 流行的目录服务产品

  3. X.500简介 X.500由ITU-T和ISO定义,它实际上不是一个协议,它是由一个协议族组成 的,包括了从X.501到X.525等一系列非常完整的目录服务。 X.500主要具备以下特征。  分散维护:运行X.500的每个站点只负责其本地目录部分,所以可以立即进行更新和维护操作。  强大的搜索性能:X.500具有强大的搜索功能,支持用户建立的任意复杂查询。  单一全局命名空间:类似于DNS,X.500为用户提供单一同性命名空间(Single Homogeneous Namespace)。与DNS相比,X.500的命名空间更灵活且易于扩展。  结构化信息结构:X.500目录中定义了信息结构,允许本地扩展。  基于标准的目录服务:由于X.500可以被用于建立一个基于标准的目录,因此在某种意义上,请求应用目录信息(电子邮件、资源自动分配器、特定目录工具)的应用程序就能访问重要且有价值的信息。

  4. LDAP简介 LDAP是X.500标准中的目录访问协议DAP的一个子集,可用于建立 X.500目录。因此这两个目录服务技术标准有着许多的共同之处,即在 平台上,都实现了一个通用的平台结构,提供了一个操作系统和应用程 序需要的信息服务类型,可以被许多平台和应用程序接收和实现;在信 息模型上,都使用了项、对象类、属性等概念和模式来描述信息;在命 名空间方面,都使用了目录信息树结构和层次命名模型;在功能模型 上,都使用了相似的操作命令来管理目录信息;在认证框架方面,都可 以实现用户名称和密码,或者基于安全加密方式的认证机制;在灵活性 上,它们的目录规模都可大可小,大到全球目录树,小到只有一台目录 服务器;在分布性方面,目录信息都可以分布在多个目录服务器中,这 些服务器可以由各组织管理,既保证了目录信息总体结构的一致性,又 满足了分级管理的需要。

  5. LDAP简介 LDAP具有下列特点: LDAP是一个跨平台的、标准的协议,得到了业界广泛的认可; LDAP服务器可以使用基于“推”或“拉”的技术,用简单的或基于安全证书的安全认证,复制部分或全部数据,既保证了数据的安全性,又提高了数据的访问效率; LDAP是一个安全的协议,LDAP v3支持SASL(Simple Authentication and Security Layer)、SSL(Secure Socket Layer)和TLS(Transport Layer Security),使用认证来确保事务的安全,另外,LDAP提供了不同层次的访问控制,以限制不同用户的访问权限;  支持异类数据存储,LDAP存储的数据可以是文本资料、二进制图片等;  大多数的LDAP服务器安装简单,也容易维护和优化。

  6. LDAP简介

  7. LDAP与X.500的比较  LDAP基于Internet协议,X.500基于OSI(开放式系统互联)协议,建立在应用层上的X.500目录访问协议DAP,需要在OSI会话层和表示层上进行许多的建立连接和包处理的任务,需要特殊的网络软件实现对网络的访问;LDAP则直接运行在更简单和更通用的TCP/IP或其他可靠的传输协议层上,避免了在OSI会话和表示层的开销,使连接的建立和包的处理更简单、更快,对于互联网和企业网应用更理想。 LDAP协议更为简单,LDAP继承了X.500最好的特性,同时去掉了它的复杂性。LDAP通过使用查找操作实现列表操作和读操作,另一方面省去了X.500中深奥的和很少使用的服务控制和安全特性,只保留常用的特性,简化了LDAP的实现。 LDAP通过引用机制实现分布式访问,X.500 DSA通过服务器之间的链操作实现分布式的访问,这样查询的压力集中于服务器端;而LDAP通过客户端API实现分布式操作(对于应用透明)平衡了负载。 LDAP实现具有低费用、易配置和易管理的特点。经过性能测试,LDAP比X.500具有更少的响应时间;LDAP提供了满足应用程序对目录服务所需求的特性。

  8. 流行的目录服务产品 1.NDS(Novell Directory Services) 2.Microsoft Active Directory(活动目录) 3.OpenLDAP

  9. 13.2LDAP基础 • LDAP的4种基本模型 • LDAP存储结构 • LDAP的基本概念 • 规划目录树 • LDAP服务的应用领域

  10. LDAP的4种基本模型 1.信息模型 2.命名模型 3.功能模型 在LDAP中共有4类操作(共10种): (1)查询类操作,如搜索、比较; (2)更新类操作,如添加条目、删除条目、修改条目和修改条目名; (3)认证类操作,如绑定、解绑定; (4)其他操作,如放弃和扩展操作。 4.安全模型 (1)无认证 (2)基本认证 (3)SASL认证

  11. LDAP存储结构 一棵目录信息树由若干条目(Entry)组成,每个条目有惟一的标识名DN (Distinguished Name),条目可以描述用户账号、打印机和计算机等对象。 一个条目是一个对象,每个条目由多个“属性(Attribute)”组成,每个属性由一 个类型和一个到多个值组成 ,每个属性可以对应一个或多个“值(Value)”,如 联系电话属性可以包含有多个值 。

  12. LDAP的基本概念 LDAP目录服务器是通过目录数 据库来存储网络信息以提供目录服 务的。为了方便用户迅速查找和定 位信息,目录数据库是以目录信息 树(Directory nformation Tree,缩 写为DIT)为存储方式的树型存储 结构,目录信息树及其相关概念构 成了LDAP协议的信息模型 。

  13. LDAP的基本概念 常用关键字及其对应的含义

  14. 规划目录树 要实现LDAP,第一步就是规划目录树,规划一个灵 活且易于扩展的目录树非常重要,它可以减少后期维 护目录树的工作量。

  15. LDAP服务的应用领域 LDAP的应用主要涉及以下几种类型。  信息安全类:数字证书管理、授权管理、单点登录。  科学计算类:DCE(Distributed Computing Environment,分布式计算环境)、UDDI(Universal Description,Discovery and Integration,统一描述、发现和集成协议)。  网络资源管理类:MAIL系统、DNS系统、网络用户管理、电话号码簿。  电子政务资源管理类:内网组织信息服务、电子政务目录体系、人口基础库、法人基础库。

  16. 13.3 LDAP服务的安装 • Berkeley DB数据库的安装 • OpenLDAP的安装

  17. Berkeley DB数据库的安装 1.下载BDB 2.安装BDB (1)编译安装BDB BDB的安装方法比较简单,使用以下命令编译安装。 tar zxvf db-4.6.18.tar.gz cd db-4.6.18/build_unix ../dist/configure make make install (2)配置系统动态链接库的路径 ① 编辑系统动态链接库的配置文件/etc/ld.so.conf,在文件的末尾加入如下语句。 /usr/local/BerkeleyDB.4.6/lib ②使用以下命令刷新系统动态链接库缓存,如图13-11所示。 /sbin/ldconfig

  18. OpenLDAP的安装 1.下载OpenLDAP 2.安装OpenLDAP OpenLDAP的安装方法比较简单,可使用以下命令编译安装。 tar zxvf openldap-stable-20070110.tgz cd openldap-2.3.32 env CPPFLAGS="-I/usr/local/BerkeleyDB.4.6/include" LDFLAGS="-L/usr/local/BerkeleyDB.4.6/lib" ./configure --prefix=/usr/local/openldap --enable-bdb make depend make make test make install

  19. 13.4初始化OpenLDAP • OpenLDAP的基本配置 • 启动OpenLDAP服务器 • 建立初始化数据

  20. OpenLDAP的基本配置 1.设置LDAP使用的Schema Schema(模式)定义了LDAP中的对象类型、属性、语法和匹配规则等,如用户的电子邮件、联系地址和联系电话等属性,它类似于关系数据库中的表结构。 找到语句: include /usr/local/openldap/etc/openldap/schema/core.schema 在该语句的后面添加以下语句。 include /usr/local/openldap/etc/openldap/schema/corba.schema include /usr/local/openldap/etc/openldap/schema/cosine.schema include /usr/local/openldap/etc/openldap/schema/dyngroup.schema include /usr/local/openldap/etc/openldap/schema/inetorgperson.schema include /usr/local/openldap/etc/openldap/schema/java.schema include /usr/local/openldap/etc/openldap/schema/misc.schema include /usr/local/openldap/etc/openldap/schema/nis.schema include /usr/local/openldap/etc/openldap/schema/openldap.schema

  21. OpenLDAP的基本配置 2.设置目录树的后缀 找到语句: suffix "dc=my-domain,dc=com" 将其改为: suffix "dc=example,dc=com" 3.该语句设置LDAP管理员的DN 找到语句: rootdn "cn=Manager,dc=my-domain,dc=com" 将其改为: rootdn "cn=Manager,dc=example,dc=com" 4.设置LDAP管理员的口令 找到语句: rootpw secret 将其改为: rootpw {SSHA}NXV9Fl28qCHMmA6P sjhVX0uejTKE6OYr

  22. 启动OpenLDAP服务器 启动OpenLDAP服务器,应执行以下命令: /usr/local/openldap/libexec/slapd 为了确保slapd进程已经启动,应执行以下命令: pstree|grep "slapd" 如果出现“|-slapd”,则表示slapd进程已经成功启动

  23. 建立初始化数据 ① 建立LDIF文件。使用vi等文本编辑工具建立名为example.ldif的文件,内容如下: dn:dc=example,dc=com objectclass:dcObject objectclass:organization o:Example, Inc. dc:example dn:cn=Manager,dc=example,dc=com objectclass:organizationalRole cn:Manager

  24. 建立初始化数据 ② 执行以下命令导入数据。 /usr/local/openldap/bin/ldapadd -x -W -D "cn=Manager,dc=example,dc=com" -f example.ldif 命令执行输入LDAP管理员的口令

  25. 13.5 phpLDAPadmin的安装 • 安装Apache服务 • 下载phpLDAPadmin • 安装phpLDAPadmin • 配置Apache服务

  26. 安装Apache服务 由于基于Web界面的LDAP客户端软件 phpLDAPadmin使用PHP编写而成,因此在使用前 应安装Apache服务器并建立好PHP的运行环境。 由于phpLDAPadmin支持中文管理界面,因此还要 将Apache的默认字符集设置为中文(Apache服务 具体的安装和配置方法参见本书第7章Web服务的 配置与应用)。

  27. 下载phpLDAPadmin 使用Web浏览器访问http://prdownloads.sourceforge.net/phpld apadmin/处下载 phpLDAPadmin最新的稳定 版 。

  28. 安装phpLDAPadmin 安装phpLDAPadmin的具体步骤如下。 ① 使用下面的命令解压安装包。 tar zxvf phpldapadmin-0.9.8.4.tar.gz ② 使用下面的命令进入解压目录。 cp -a phpldapadmin-0.9.8.4 /usr/local/phpldapadmin

  29. 配置Apache服务 1.加入用户认证功能 2.建立虚拟目录 在Apache的主配置文件httpd.conf中加入以下语句建立虚拟目录。 Alias /phpldapadmin "/usr/local/phpldapadmin" <Directory "/usr/local/phpldapadmin"> AuthType Basic AuthName "Please Login to phpldapadmin" AuthUserFile /etc/httpd/php_ldap_admin_pwd Require user admin </Directory>

  30. 13.6配置phpLDAPadmin • 生成phpLDAPadmin主配置文件 • 配置phpLDAPadmin使用中文 • 配置phpLDAPadmin

  31. 生成phpLDAPadmin主配置文件 phpLDAPadmin的主配置文件是/usr/local/phpldapadmin/config/config.php.example,phpLDAPadmin提供了一个默认的例子文件config.php.example,使用以下的命令可生成phpLDAPadmin主配置文件。 cp /usr/local/phpldapadmin/config/config.php.example /usr/local/phpldapadmin/config/config.php

  32. 配置phpLDAPadmin使用中文 ① 编辑文件/usr/local/phpldapadmin/config/config.php,修改语句: // $config->custom->appearance['language'] = 'auto'; 将“//”注释符号去处,并将语句改为: $config-> custom->appearance['language'] = 'zh_CN'; ② 使用下列的命令转换phpLDAPadmin语言文件的编码。 iconv -f gbk -t utf8 /usr/local/phpldapadmin/locale/zh_CN/LC_MESSAGES/messages.po > /usr/local/phpldapadmin/locale/zh_CN/LC_MESSAGES/messages.new.po msgfmt -o /usr/local/phpldapadmin/locale/zh_CN/LC_MESSAGES/messages.mo /usr/ local/phpldapadmin/locale/zh_CN/LC_MESSAGES/messages.new.po

  33. 配置phpLDAPadmin (1)设置口令加密字符串 找到语句: $config->custom->session['blowfish'] = ' '; 将其改为: $config->custom- >session['blowfish'] = 'welcome'; (2)设置LDAP服务器的地址 找到语句: $ldapservers->SetValue($i,'server','host','127.0.0.1'); 将其改为LDAP服务器对应的名称和IP地址。 (3)设置目录树的基准DN 找到语句: $queries[$q]['base'] = 'dc=example,dc=com'; 根据实际将其改为目录树的基准DN。 (4)设置LDAP服务器管理员的DN 找到语句: $ldapservers->SetValue($i,'login','dn','cn=Manager,dc=example,dc=com'); 根据实际将其改为LDAP服务器管理员的DN。

  34. 配置phpLDAPadmin (5)设置LDAP服务器管理员的口令 找到语句: $ldapservers->SetValue($i,'login','pass',''); 确保其口令为空。 (6)设置用户认证方式 phpLDAPadmin提供了cookie、session和config这3种认证方式 找到语句: $ldapservers->SetValue($i,'server','auth_type','cookie'); 确保其认证方式为cookie。 用户认证方式

  35. 13.7使用phpLDAPadmin管理目录树 • 登录phpLDAPadmin • 创建OU • 创建用户组 • 创建用户账号

  36. 登录phpLDAPadmin 启动Apache服务,然后使用浏览器访问http://Linux服务器 的IP或域名/phpldapadmin/,输入用户名为“admin”和口令后 即可进入phpLDAPadmin的管理主页面 。

  37. 登录phpLDAPadmin

  38. 登录phpLDAPadmin

  39. 创建OU

  40. 创建OU

  41. 创建OU

  42. 创建OU

  43. 创建OU

  44. 创建用户组

  45. 创建用户组

  46. 创建用户组

  47. 创建用户组

  48. 创建用户账号

  49. 创建用户账号

  50. 创建用户账号

More Related