首 页 网络编程
网页制作 图形图象 操作系统 冲浪宝典
软件教学 认证考试

网络安全 网络办公 行业资讯 评测对比
您当前位置:站长天空 -> 网络安全-> 教你一招
基于linux操作系统的目录服务的实现_linux教程
作者:网友供稿 点击:0
推荐
西部数码-全国虚拟主机10强!20余项虚拟主机管理功能,全国领先!第6代双线路虚拟主机,南北访问畅通无阻!可在线rar解压,自动数据恢复设置虚拟目录等.免费赠送访问统计,企业邮局.Cn域名注册10元/年,自助建站480元起,免费试用7天,满意再付款!P4主机租用799元/月.月付免压金
站内搜索
文章页数:[1] 

  本文的目的是通过使用Linux系统支持的应用软件包(openldap),快速实现基于LDAP协议的目录服务系统来支持Windows消息簿中的用户查询功能。作者从用户的观点介绍了目录服务的特点,并比较了其与通常使用的关系数据库在处理数据上的差别,作者只是普通的Linux的爱好者,尝试将所学到的一点Linux知识进行综合应用,希望对大家有所启发。

  关键字:目录、LDAP。

  如果需要开发一种提供公共信息查询的系统,如通过用户姓名能够获得该用户的邮件地址、家庭住址等信息,如Yahoo提供的People search服务和Windows OutLook中提供的消息簿功能。一般的设计方法可能是采用基于WEB的数据库设计方式,即前端使用浏览器而后端使用WEB服务器加上关系数据库。后端在Windows的典型实现可能是Windows NT + IIS + Acess数据库或者是SQL服务器,IIS和数据库之间通过ASP技术使用ODBC进行连接,达到通过填写表单查询数据的功能;后端在Linux系统的典型实现可能是Linux + Apache + Postgresql,Apache和数据库之间通过PHP3提供的函数进行连接。使用上述方法的缺点是后端关系数据库的引入导致系统整体的性能降低和系统的管理比较繁琐,因为需要不断的进行数据类型的验证和事务的完整性的确认;并且前端用户对数据的控制不够灵活,用户权限的设置一般只能是设置在表一级而不是设置在记录一级。

  目录服务的推出主要是解决上述数据库中存在的问题。目录与关系数据库相似,是指具有描述性的基于属性的记录集合,但它的数据类型主要是字符型,为了检索的需要添加了BIN(二进制数据)、CIS(忽略大小写)、CES(大小写敏感)、TEL(电话型)等语法(Syntax),而不是关系数据库提供的整数、浮点数、日期、货币等类型,同样也不提供象关系数据库中普遍包含的大量的函数,它主要面向数据的查询服务(查询和修改操作比一般是大于10:1),不提供事务的回滚(rollback)机制,它的数据修改使用简单的锁定机制实现All-or-Nothing,它的目标是快速响应和大容量查询并且提供多目录服务器的信息复制功能。

  LDAP(Lightweight Directory Acess Protocol)是目录服务在TCP/IP上的实现(RFC 1777 V2版和RFC 2251 V3版)。它是对X500的目录协议的移植,但是简化了实现方法,所以称为轻量级的目录服务。在LDAP中目录是按照树型结构组织,目录由条目(Entry)组成,条目相当于关系数据库中表的记录;条目是具有区别名DN(Distinguished Name)的属性(Attribute)集合,DN相当于关系数据库表中的关键字(Primary Key);属性由类型(Type)和多个值(Values)组成,相当于关系数据库中的域(FIEld)由域名和数据类型组成,只是为了方便检索的需要,LDAP中的Type可以有多个Value,而不是关系数据库中为降低数据的冗余性要求实现的各个域必须是不相关的。LDAP中条目的组织一般按照地理位置和组织关系进行组织,非常的直观。LDAP把数据存放在文件中,为提高效率可以使用基于索引的文件数据库,而不是关系数据库。LDAP协议集还规定了DN的命名方法、存取控制方法、搜索格式、复制方法、URL格式、开发接口等。

  Linux支持的LDAP服务器一般有Michigan大学开发的免费软件包和Openldap组织基于Michigan大学的开发包提供的Openldap免费软件发行包,其中Openldap发行包安装配置更加简单。RedHat 6.1 Linux发行版中就包含了Openldap软件包,该发行版可从计算机世界报信息服务中心得到,对LDAP的支持是Redhat6.1提供的一个重要扩展,(参见Redhat 6.1产品介绍),以下详细介绍在Linux中安装并配置Openldap的方法,以及使用该软件包为Windows Outlook中的帐号提供消息簿的后端。

  1.安装Openldap-1.2.7-2.rpm软件包

  如果不是使用的RedHat 6.1直接进行系统安装,可以单独使用管理器rpm进行独立安装,其格式为:

  

  
    rpm - i openldap-1.2.7-2.rpm
  
    rpm - i openldap-devel-1.2.7-2.rpm

  
  2.相关文件

  安装完毕后,相应的执行文件主要有:

  /usr/sbin/slapd是单独运行的LDAP看守进程,它监听客户端请求,端口号一般是389。

  /usr/sbin/slurpd是单独运行的LDAP更新和复制进程,它能够把本地数据库的变化通知相关服务器进行更新。

  /usr/sbin/ldifldbm、/usr/sbin/ldbmcat等将LDIF(LDAP Directory Interchange Format)文件(实际是纯文本形式的文件)转化为gdbm形式的二进制数据文件以及相关的工具。

  /usr/bin/ldapsearch、/usr/bin/ldapdelete、/usr/bin/ldapmodify、/usr/bin/ud等是LDAP的客户端软件,能够完成对目录的搜索、添加、修改、删除等功能。

  生成的配置文件在/etc/openldap目录下,主要的配置文件有:

  slapd.conf是slapd和slurpd的配置文件,其一般形式如下:

  

  defaultaccess read
  
  access to attr=userpassWord by self write by * compare
  
  access to attr=mail by self write by * read 
  
  include /etc/openldap/slapd.at.conf
  
  include /etc/openldap/slapd.oc.conf
  
  scheMacheck off
  
  #referral ldap://sunshine.mccc.net
  
  pidfile /var/run/slapd.pid
  
  argsfile /var/run/slapd.args
  
  ########################################
  
  # ldbm database definitions
  
  ########################################
  
  database ldbm
  
  #suffix "dc=your-domain, dc=com"
  
  #suffix "o=Your Organization Name, c=US"
  
  suffix "o=mccc, c=US"
  
  directory /usr/tmp
  
  rootdn "cn=root, o=mccc, c=US"
  
  rootpw secret
  
  #replica host=zx.mccc.net:389 
    binddn="ou=people, o=mccc, c=US" bindmethod=simple

  对这个配置文件的关键修改是对suffix后缀为本地的组织形式,可以按照域名的形式,也可以按照组织模式。其中的rootdn定义了本地目录树的根,rootpw即是相对于本目录树的管理员口令,缺省是使用的明文为“secret”。其中的replica指定备份目录服务器的地址,如果是备份服务器则不需要replica配置项,而是添加udpatedn=主目录服务器的地址,同时指定referral为主目录服务器。同时,缺省的目录数据是以ldbm形式(Linux中实际gdbm格式)存放在/usr/tmp目录中。Access定义了对目录信息的访问信息,它是基于条目的,即用户自己可以通过输入自己的口令修改自己的数据,其口令存放在自己的口令域(userpassWord)中。

  ldap.conf是本地系统LDAP客户的缺省配置,启动slapd后可以使用客户端软件使用ldap.conf的信息作为缺省信息。根据我们的具体情况,将其修改为如下形式:

 

  BASE O=mccc,C=US
  
  HOST sunshine.mccc.net
  3.生成目录数据

  生成数据文件的方法:

  编辑LDIF文件

  LDIF文件是文本文件的形式,例如为Windows的消息簿提供一个目录格式可为如下形式:

  

  
  dn: o=mccc,c=US
  
  o: mccc
  
  objectclass: organization
  
  dn: cn=test,o=mccc,c=US
  
  cn: test
  
  cn: 测试中文
  
  mail: testmail@mccc.net
  
  othermailbox: testmailother@mccc.com
  
  givenname: givenname
  
  sn: test sn
  
  surname: surname
  
  st: st
  
  c: china
  
  co: co
  
  o: mccc
  
  ou: ou
  
  url: http://sunshine.mccc.net
  
  homephone: homephone
  
  homepostaladdress: homepostaladdress
  
  facsimiletelephonenumber: facsimiletelephonenumber
  
  otherfacsimiletelephonenumber: otherfacsimiletelephonenumber
  
  Officefax: officefax
  
  mobile: mobile 
  
  otherpager: otherpager
  
  officepager: officepager
  
  pager: pager
  
  info: info
  
  title: title
  
  telephonenumber: telephonenumber
  
  l: location
  
  postaladdress: postaladdress
  
  streetaddress: streetaddress
  
  department: department
  
  comment: comment
  
  postalcode: postalcode
  
  physicaldeliveryofficename: physicaldeliveryofficename
  
  initials: initials
  
  conferenceinformation: conferenceinformation
  
  labeleduri: labeleduri
  
  manager: manager
  
  reports: reports 
  
  objectclass: organization

  其中的:后面的值中均可以填写中文信息,使用上述格式主要是为了方便在Windows 消息簿中对照用户的信息。


文章整理:站长天空 网址:http://www.z6688.com/
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

文章页数:[1] 


放大字体显示 缩小字体显示 打印文章 推荐给朋友
热门文章
·Java 中开源的CMS系统-JSP教程,Java技巧及代码
·ASP.NET服务器控件发送脚本-ASP教程,远程脚本
·javaCC学习笔记-JSP教程,Java技巧及代码
·asp.net中的模态对话框-ASP教程,ASP应用
·在.net应用程序中使用用户控件-.NET教程,组件控件开发
·身份证15位转换成18位代码(vbscript)-ASP教程,脚本编码
·基于dsp控制的数字式双向dc/dc变换器的实现
·利用Asp.net 动态创建DataList-ASP教程,ASP应用
·最佳的数据库分页方法-ASP教程,数据库相关
·利用JAVA技术进行XML编程(第一部分)-JSP教程,Java与XML
最新文章
·网关防护做得好web威胁少一半_教你一招教程
·计算机安全十大建议_教你一招教程
·给ie加个参数 永远不怕ie主页被修改_教你一招教程
·修改十四项设置 打造安全牢靠易用电脑_教你一招教程
·论垂直搜索引擎存在的意义_站长心得
·简单分析个人网站最缺少的几点要素_站长心得
·个人网站赢利探讨:网站究竟是如何盈利的?_站长心得
·网站设计的思考网页版面布局的原理_站长心得
·建立用自己域名结尾的hotmail邮箱2_站长心得
·随时保障系统安全五步搞定补丁管理部署_教你一招教程
相关主题
  • 基于linux的虚拟主机搭建_linux教程
  • 基于linux系统核心的汉字显示尝试_linux教程
  • 基于linux操作系统实现的传真系统_linux教程
  • 基于linux的webmail实现_qmail
  • 基于linux和postfix的邮件系统的web mail安装手册_qmail
  • 西部数码虚拟主机

    友情链接
    CNNIC 西部数码
    万网 自助建站
    虚拟主机 asp空间
    域名注册 域名
    域名申请 主页空间
    论坛空间 网站空间
    国际域名 虚拟空间
    空间租用 DDOS防火墙
    成都主机托管 四川主机托管
    主机租用 服务器租用
    网站目录 自助建站
    虚拟主机 网址大全
    软件下载
    自助链接
    虚拟主机资讯 特价虚拟主机
    版权申明:本站文章均来自网络,如有侵权,请联系我们,我们收到后立即删除,谢谢!
    关于我们:站长天空:专业提供最新的站长资讯、在线教程、虚拟主机权威评测、虚拟主机性能对比、网站制作教程,开发教程,站长工具。包括网页制作教程、冲浪宝典、编程参考、操作系统、软件教学、行业动态等。
    特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有。
    发表评论 打印  刷新     关闭