OpenLdap使用手册Word文件下载.docx
《OpenLdap使用手册Word文件下载.docx》由会员分享,可在线阅读,更多相关《OpenLdap使用手册Word文件下载.docx(11页珍藏版)》请在冰豆网上搜索。
可以在任何计算机平台上,用很容易获得的而且数目不断增加的LDAP的客户端程序访问LDAP目录。
而且也很容易定制应用程序为它加上LDAP的支持。
LDAP在查询时是做过优化的,因此查询速度快,但是在更新时相对关系型数据库要慢得多
2.3LDAP协议
LDAP协议是跨平台的和标准的协议,因此应用程序就不用为LDAP目录放在什么样的服务器上操心了。
实际上,LDAP得到了业界的广泛认可,因为它是Internet的标准。
厂商都很愿意在产品中加入对LDAP的支持,因为他们根本不用考虑另一端(客户端或服务端)是怎么样的。
LDAP服务器可以是任何一个开放源代码或商用的LDAP目录服务器(或者还可能是具有LDAP界面的关系型数据库),因为可以用同样的协议、客户端连接软件包和查询命令与LDAP服务器进行交互。
与LDAP不同的是,如果软件厂商想在软件产品中集成对DBMS的支持,那么通常都要对每一个数据库服务器单独定制。
不象很多商用的关系型数据库,你不必为LDAP的每一个客户端连接或许可协议付费。
大多数的LDAP服务器安装起来很简单,也容易维护和优化。
2.4LDAP服务器
LDAP服务器可以用“推”或“拉”的方法复制部分或全部数据,例如:
可以把数据“推”到远程的办公室,以增加数据的安全性。
复制技术是内置在LDAP服务器中的而且很容易配置。
如果要在DBMS中使用相同的复制功能,数据库产商就会要你支付额外的费用,而且也很难管理。
2.5LDAP使用权限
LDAP允许你根据需要使用ACI(一般都称为ACL或者访问控制列表)控制对数据读和写的权限。
例如,设备管理员可以有权改变员工的工作地点和办公室号码,但是不允许改变记录中其它的域。
ACI可以根据谁访问数据、访问什么数据、数据存在什么地方以及其它对数据进行访问控制。
因为这些都是由LDAP目录服务器完成的,所以不用担心在客户端的应用程序上是否要进行安全检查。
2.6LDAP目标
1、需要在任何平台上都能读取数据
2、每一个单独的记录项很少改变
3、可以把数据存在平面数据库(flatdatabase)而不是关系型数据库中
4、如果可以把数据存在一张张的卡片里
3、安装配置
3.1软件安装
下载:
1、下载openldap-for-windows。
提供网址:
2、下载jdk1.4或jdk1.5
3、下载LdapBrowser
安装:
1、将openldap一步步安装,在选择数据库类型方面使用默认的BDB
2、将jdk进行安装
3、LdapBrowser无需安装,可直接使用
3.2软件配置
1、修改安装目录下的sldap.conf文件,可参照下面修改
suffix"
dc=my-domain,dc=com"
rootdn"
cn=Manager,dc=my-domain,dc=com"
把这两行改为
dc=root"
cn=Manager,dc=root"
2、环境变量中配置path,将jdk/bin加入(ldap运行需要jdk)
3.3软件运行
1、openldap安装后可通过我的电脑”--“管理”--“服务”中找到并启动它,也可以在cmd中执行命令slapd-d1(要在安装文件目录下)
2、运行LdapBrowser目录中的lbe.bat文件,将弹出连接界面
Edit:
修改ldap连接的服务器信息
Connect:
连接至选择的ldap服务器
3.4初始数据
经过上面几步处理后,用户已经可以连接上Ldap服务器,但是会显示Listfailed等错误信息,出现这个问题的原因,是ldap服务中还没有创建初始数据。
也就是noentry的错误。
因此需要手动编写一个ldif文件初始加载进去
。
首先在LDAP根目录下创建一个空白文件,命名为init.ldif,输入如下信息:
dn:
dc=root
objectClass:
dcObject
organization
o:
feitian
o=feitian,dc=root
description:
thisisfeitiancompany
o=ifd,o=feitian,dc=root
信息部
ifd
cn=bingwang,o=ifd,o=feitian,dc=root
信息部员工王兵旺
organizationalRole
telexNumber:
370
cn:
bingwang
sn:
861
注意:
文件中各行最后一个字符后不能出现空格
配置文件slapd.conf与初始文件init.ldif说明:
slapd.conf文件中suffix(后缀定义)申明的是根DN信息,init.ldif目的是为了在根下面初始化最少一个数据目录。
通过LDAPBrowser界面导入进去,先选中根目录,再点【LDIF】-【Import】,然后在新的弹出界面中选择创建好的init.ldif文件,确定后即可导入初始数据。
本图可以看出,cn=bingwang是最后一级,那么在申明它之前,必须先依次申明了dc=root、o=feitian、o=ifd;
树形的结构展示表明了层次关系,因此在申明的时候也要体现出树形结构,如cn=bingwang申明的完整dn为:
cn=bingwang,o=ifd,o=feitian,dc=root,表示cn=bingwang的上级是o=ifd,o=ifd的上级是o=feitian,o=feitian的上级是dc=root。
四、LDAP应用
LDAP连接服务器的连接字串格式为:
ldap:
//servername/DN
4.1LDAP常用属性
DN:
DistinguishedName,可以叫做条目区分名。
在一个目录中这个名称总是唯一的,也是用来标识一个节点的主要方式。
它有若干属性:
1、CN=CommonName为用户名或服务器名,最长可以到80个字符,可以为中文;
2、OU=OrganizationUnit为组织单元,最多可以有四级,每级最长32个字符,可以为中文;
3、DC=DomainComponent为目录结构
4、O=Organization为组织名,可选,可以3—64个字符长
5、C=Country为国家名,可选,为2个字符长
4.2LDAPSchema语法
LDAP中,schema用来指定一个目录中所包含的objects的类型(objectClass)以及每一个objectClass中的各个必备(mandatory)和可选(optional)的属性(attribute)。
因此,Schema是一个数据模型,它被用来决定数据怎样被存储,被跟踪的数据的是什么类型,存储在不同的Entry下的数据之间的关系。
schema需要在主配置文件slapd.conf中指定,以用来决定本目录中使用到的objectClass。
管理员可以自己设计制定schema,一般包括属性定义(AttributeDefinition)、类定义(ClassDefinition)以及语法定义(SyntaxDefinition)等部分。
创建好schema文件后,将做好的schema文件拷贝到ldap的schema目录下。
然后修改slapd.conf文件,将新的schema文件加入申明。
5、LDAP客户端
ldapbrowser是openldap的一个客户端管理工具,可以方便的用来操作、查看openldap中的数据。
首先安装好openldap,然后双击ldapbrowser目录中的lbe.bat启动。
下面的登陆界面中,【Host】输入openldap主机名或IP,点击【FetchDNs】则会自动匹配到openldap在slapd.conf配置的根域。
然后勾上【appendbaseDN】,输入口令,cn=manager是openldap安装时的管理员账号。
然后点击保存,回到连接界面点击【connet】。
如果需要匿名登录,则选中【Anonymousbind】,需要说明的是,匿名登录只能查看数据。
5.1增加目录属性
如果需要为一个元素增加Attribute,按如下操作
最后点击Apply完成Attribute增加。
需要注意的是增加的属性名称一定是符合ldap标准的,或者自定义增加的,否则将会增加失败,如上图增加属性a则不能成功。
具体ldap有哪些默认的属性值可以参考%openldap_home%\schema\core.schema文件。
5.2删除目录属性
选中一个元素的Attribute,使用删除Attribute操作。
5.3修改目录属性
在目录的属性上双击即可弹出修改的界面,输入新的属性值点击【Apply】即可完成属性的属性值更改。
5.4增加目录
先选中需要创建子目录的该目录,然后通过下面操作,其中objectclass是在core.schema中定义的都可以使用。
5.5修改目录
修改目录是针对目录的所有属性进行修改,可以参照上面的修改目录属性操作,也可以通过下面的操作
5.6删除目录
先选中要删除的目录,然后进行下图操作
6、应用举例
通过一个例子进一步说明ldap的数据树状关系。
同时展示了一个实体隶属多个机构的实现方式。
下面有一个示图。
请参考
通过上图可以看出cn=bingwang这个实体在最末端,它的完整DN是什么呢?
cn=bingwang,o=ifd,o=feitian,dc=root。
可见最顶端的根节点在表达式中写在最后的位置,其它依次类推。
这里讲述的是节点的dn.如果节点本身还需要附加一些属性来丰满内容,attribute将会带来很大的实用性。
比如通讯录的某个人是个节点,那么人员的地址、电话号码等就可以作为attributes。
上图举例表示了用户bingwang的若干属性,其中ou属性两个,分别表示用户在ifd部门和hr部门任职。
由此可见,attribute是可以一对多(一个节点多个相同属性,值各不同)。
因此attributes可以充分运用于描述节点的各类信息。
下面附带上图节点cn=bingwang的ldif
cn=bingwang,o=ifd,o=feitian,dc=root
ou:
hr
:
5L+h5oGv6YOo546L5YW15pe6
附录:
Ldap中相关涉及的产品或技术、标准规范说明
X.500
X.500是一套已经被国际标准化组织(ISO)接受的目录服务系统标准,它定义了一个机构如何在全局范围内共享其名字和与之相关的对象。
X.500是层次性的,其中的管理域(机构、分支、部门和工作组)可以提供这些域内的用户和资源信息。
在PKI体系中,X.500被用来唯一标识一个实体,该实体可以是机构、组织、个人或一台服务器。
X.500被认为是实现目录服务的最佳途径,但X.500的实现投资较大,并且比其他方式速度慢,而其优势具有信息模型、多功能和开放性