??xml version="1.0" encoding="utf-8" standalone="yes"?>色视频在线看,亚洲香蕉成视频在线观看,久久久久亚洲精品国产http://www.aygfsteel.com/kongbowoo/category/24685.html------我的技术性博?/description>zh-cnThu, 30 Aug 2007 16:53:38 GMTThu, 30 Aug 2007 16:53:38 GMT60Linux下的LDAPhttp://www.aygfsteel.com/kongbowoo/archive/2007/08/30/141504.htmlkongbowookongbowooThu, 30 Aug 2007 12:28:00 GMThttp://www.aygfsteel.com/kongbowoo/archive/2007/08/30/141504.htmlhttp://www.aygfsteel.com/kongbowoo/comments/141504.htmlhttp://www.aygfsteel.com/kongbowoo/archive/2007/08/30/141504.html#Feedback0http://www.aygfsteel.com/kongbowoo/comments/commentRss/141504.htmlhttp://www.aygfsteel.com/kongbowoo/services/trackbacks/141504.html  Atif Ghaffar 像只变色龙. 他经常变换角? 从系l管理员到程序员, 再到教师、项目管理员, 直至M可以完成工作的角? 有时? 当他在电影院看电q同时, 他也喜欢拿出W记本电脑编写程? Atif始终坚信, 他是属于linux和开放源码社团的. 关于Atif的更多信? 可以讉K他的主页http:  //www.developer.ch/~aghaffar.
  
  摘要:  
  本文讨论LDAP以及在我们所喜爱的操作系l――linux上实现LDAP.
  已经有很多关于LDAP的文? 所以我不想在这里再重复什? 我不准备讨论高的LDAP概念、计划以及第二版和第三版LDAP的区别等{? 事实? 我对q类问题也所知不? 相反? 我将试用简单明了的语言解释什么是LDAP,  它能l我们带来的好处以及我们如何使用?
  我不是一个LDAP专家. 我只是一个LDAP的初学? 本文介绍的是我用LDAP做了些什么以及如何做. 我不会你再像以前的我一h到迷?
  问题:  既然你是个LDAP初学? Z么还要写一关于LDAP的文?  
  最q我在一个项目上需要一位同事的帮助. q个目的基是LDAP. 我的同事可以在perl、邮件服务器{等斚w帮助? 但是他对LDAP一无所? 事实是每一ơ他惌深入学习LDAP,  反而会对LDAP来迷? 因ؓ该项目的基础是LDAP,  所以我l了q位同事半小时来学习LDAP, l果是一切反而变得清晰明了了. 原因很简? LDAP是在前端? 只需要集中一点点注意力或者一些生动的例子可以了.
  在本文中我也正想q样?
  你可以在文中发现好多对学习LDAP有用的url.
  
  LDAP是什?  
  LDAP是轻量目录访问协?Lightweight Directory Access Protocol)的羃? 其实是一U目录服? cM于我们在文gpȝ中所使用的目? cM于我们查询电话号码用的电话L? cM于我们所使用诸如NIS(Network Information Service)、DNS (Domain Name Service){网l目? 也类g你在花园中所看到的树?
  LDAP是一U特D的数据? 但是LDAP和一般的数据库不? 明白q一Ҏ很重要的. LDAPҎ询进行了优化, 与写性能相比LDAP的读性能要优U很多.
  
  一般地, 目录服务提供什么样的服务呢?  
  通常是根据查询的标准q回一定的信息.
  
  实例
  文gpȝ目录
  ls /etc
  q回/etc目录下所有的文g和子目录.
  
  ls /etc/p*
  q回/etc下所有以p开头的文g和子目录.
  
  find /usr/local/apache -name index.html
  q将?/usr/local/apache"目录下搜索名为index.html的文?子目?
  
  NIS目录
  ypcat passwd
  q将从NIS数据库返回用户名、密码、用户id{信?
  
  ypmatch atif passwd
  q回用户atif的密?
  
  DNS目录
  nslookup www.linuxfocus.org
  q回www.linuxfocus.org的ip地址.
  
  nslookup -type MX linuxfocus.org
  q回L名符合linuxfocus.org的MX记录信息.
  
  LDAP目录
  (我们在下面详细阐述)
  ldapsearch uid=aghaffar
  q回关于用户aghaffar的所有公开信息.
  q和find / -uid aghaffar unix命o很类?
  
  ldapsearch uid=aghaffar mail
  q回用户ughaffar的邮件信?
  
  目录基础或根
  在上面我们所提到的Q何一U目录服务中都有一个我们开始浏览或搜烦的开始点. q个开始点是通常所谓的? q和一|的根也很cM. 每棵都有一个根, 以及很多的树枝树?
  * 文gpȝ的根?/
  * NIS 的根是域? 比如 "linuxfocus.org"
  * DNS ҎInternic(译者注:  Internet|络信息中心,  Internet的管理组l?
  * LDAP同样有一个可定义的根, 比如 "o=linuxfocus.org" , q里o表示l织
  每个栚w可以衍生出好多枝?正如同你d的花园中的树木一?,  对于文gpȝ来说, 它的枝叶是一个个文g及子目录. 每一个枝叉有一些属? 比如文gpȝ的枝?文g及子目录)有以下的属?  
  * 名称
  * 修改旉
  * 所有?
  * l?译者注:  所有者所在的l?
  * {等
  下图昄了一个文件系l目?

  属性由unix命ols -ld /usr得到.
  
  下面是一个LDAP目录的图C? 

  
  我们在下面讨论q张?
  
  区分?DN, Distinguished Name)
  和自然界中的树不? 文gpȝ/LDAP/电话L目录的每一片枝叉臛_有一个独一无二的属? q一属性可以帮助我们来区别q些枝叶.
  在文件系l中, q些独一无二的属性就是带有完整\径的文g? 比如/etc/passwd, 该文件名在该路径下是独一无二? 当然我们可以?usr/passwd, /opt/passwd, 但是Ҏ它们的完整\? 它们仍然是唯一?
  cM于DNSpȝ的FQDN正式域名, FQDN也是唯一?
  在LDAP? 一个条目的区分名称叫做“dn”或者叫做区分名. 在一个目录中q个名称L唯一? 比如, 我的dn?uid=aghaffar, ou=People, o=developer.ch". 不可能有相同的dn, 但是我们可以有诸?uid=aghaffar, ou=Administrators, o=developer.ch"的dn. q同上面文gpȝ?etc/passwd ?/usr/passwd的例子很cM.
  我们有独一无二的属? ?ou=Administrators, o=developer.ch" 中uid和在"ou=People, o=developer.ch"中的uid. qƈ不矛?
  
  LDAP服务?
  现在市场上有很多LDAP服务? 大多数都可以在linux上运? 本文介lopenLDAP的?
  我ؓ什么选择openLDAP? Z么你应该选择openLDAP?  
  * openLDAP是开放源码的
  openLDAP的官方网站是http://www.openldap.org. 你可以下载其源代码包自己~译, 或者看看你的linux发行版是否已l包含了该Y件包. 如果已经包含了就可以安装预先~译好的版本从而少p些力?
  我已l成功地在SuSE6.x ?RedHat6.x上测试过openLDAP.
  构徏LDAP目录
  下面我们介l设|一个LDAP服务器的步骤.
  步骤:  
  * 下蝲q安装openLDAP
  * 配置 LDAP server
  * 配置本地环境指向LDAP安装
  * 初始化LDAP数据?
  * 查询LDAP
  * d/修改LDAP条目
  下蝲q安装openLDAP
  正如前面所提到? 可以从www.openldap.com下蝲源代码包q根据它的相x档进行安? 或者安装预先编译好的包(包的安装或如何编译应用程序已l超Z本文讨论的范?.
  配置LDAP服务?
  在我们的例子? 我将为linuxfocus.org构徏LDAP服务? 你可以用你喜Ƣ的~辑器编辑slapd.conf和ldap.comf配置文g来更改名U等参数以适应你的具体需?
  在我的服务器上配|文件在/etc/openldap目录? 你的配置文g可能?usr/local/etc/openldap或者别的地? q要Ҏ你的linux发行版本或者编译openldap的具体情况而定.
  ######### /etc/openldap/slapd.conf ###################################
  # 下面的部分是我的suse 6.4 linux 发行版本预先定义?
  # 我们讄的部分在本文的第二和W三部分
  include /etc/openldap/slapd.at.conf
  include /etc/openldap/slapd.oc.conf
  schemacheck off
  
  pidfile /var/run/slapd.pid
  argsfile /var/run/slapd.args
  
  #######################################################################
  # ldbm database definitions
  #######################################################################
  
  # 定义使用的数据库cd. ~省是ldbm
  database ldbm
  
  # 后缀或者根. q是你LDAP目录的顶节点
  suffix "o=linuxfocus.org"
  
  # LDAP的dbs 保存的位|?
  directory /var/lib/ldap
  
  # 目录理员的区分?
  rootdn "cn=Manager,o=linuxfocus.org"
  
  # 保存ldap目录理员的明文密码是很p糕? 但是我们在刚刚开始用ldap时这样做
  rootpw secret
  
  # q就是所有的一?br>  
  ~辑你的 /etc/openldap/ldap.conf配置文g
  该文件位于ldap客户?我们用同一计算Z为服务器和客L, 当然q可以在同一计算机或不同的计机?
  通常诸如ldapdelete 、ldapadd{等的ldap客户端会读该文g的内?
  
  ##########/etc/openldap/ldap.conf#########
  # LDAP 的缺省设|?
  #
  # 查看 ldap.conf(5) 可以获取更多的信?
  # 本文件应该设|ؓҎ有h可读
  
  # 定义ldap服务? 可以用主机名或ip地址
  host 127.0.0.1
  
  # 定义我们要查询的目录的根
  # 我们要使用的顶节点, q不一定是目录的根, 比如我们可以使用
  # base=ou=users, o=linuxfocus.ch
  # q时我们的一切查询都从树根o=linuxfocus.org的分支开?
  
  现在启动ldap服务?
  如果你用SuSE预先~译好的openldap服务? 你可以通过下面的命令启动ldap服务
  /etc/rc.d/ldap start
  在RedHat, 该命令ؓ
  /etc/rc.d/init.d/ldap start
  如果你是使用~省讄自己~译q安装的, 你可以用/usr/local/libexec/slapd &启动ldap服务? 如果没有使用~省讄, h到slapd文gq运行它.
  
  在新安装的LDAP服务器上d数据
  到现在ؓ? 你的ldap服务器已l运行v来了, 可以准备d数据? 最标准的往ldap服务器中d数据的方法是建立一个LDIF(LDAP目录交换格式)文g. 你可以通过阅读man ldif来获得更多关于ldif的信?
  单说? ldif是ldap条目的文本表C? q些条目是很好读懂的, q且可以在来自两个不同的厂家的LDAP服务器间交换数据, 哪怕用的是不同的数据库后台或者是q行在不同的操作pȝ?
  是的, q有其他Ҏ. 我对Z么不使用XML替代LDIF感到很惊?
  p我们一h建立ldif文g, 而不要感CQ何的忙ؕ. 一些应该记住的要点:  
  * ldif 文g中的每一记录/条目都应用一个空行分开
  * I格是很重要? "Atif Ghaffar" ?Atif Ghaffar " 是完全不同的
  下面是一个ldif文glinuxfocus.org.ldif
  
  dn: o=linuxfocus.org
  o: linuxfocus.org
  objectclass: top
  objectclass: organization
  
  dn: ou=editors, o=linuxfocus.org
  ou: editors
  objectclass: organizationalUnit
  
  dn: uid=aghaffar,  ou=editors,  o=linuxfocus.org
  uid: aghafar
  cn: Atif Ghaffar
  sn: Ghaffar
  givenname: Atif
  objectclass: person
  userpassword: yIvSBWSuLs2N2
  mailacceptinggeneralid: aghaffar@linuxfocus.org
  ou: editors
  
  dn: uid=mkempe,ou=editors,o=linuxfocus.org
  uid: mkempe
  cn: Magnus Kempe
  sn: Kempe
  givenname: Magnus
  objectclass: person
  userpassword: clearpass
  mailacceptinggeneralid: mkempe@linuxfocus.org
  maildrop: mkempe@developer.ch
  preferredlanguage: fr
  ou: editors
  
  下面我们这些数据加入ldap目录. 我们使用命o行程序ldapadd
  ldapadd -D "cn=Manager, o=linuxfocus.org" -w secret < linuxfocus.org.ldif
  该命令?#8220;cn=Manager, o=linuxfocus.org”作ؓ理员的区分?dn), 使用secret
  作ؓ密码, 然后从linuxfocus.org.ldif文g中读取数据ƈ写入ldap目录.
  如果一切正常的话你可以准备开始查询你的ldap目录? 否则如果光Z差错的话,你或许可以准备往我的邮箱灌水?)
  为我的邮件服务器考虑, 我希望一切正?
  在l之? 让我们一行一行的来检查一下这个ldif文g.
  1Q?q一行定义顶U记录的区分?dn), q将是目录树的根, q是必须定义?
  2Q?q一行我们定义组l?o), q赋gؓ“linuxfocus.org”.
  3Q?q一行定义这个对象的对象c? 我们定义为top.
  4Q?定义对象的类?q里是组l对?.
  5Q?I为分割符.
  6Q?定义leditors(q是linuxfocus editors分支), 举一反三, 我们也可以根据不同的目的来定义其他的分支, 比如hosts和data分支.
  7Q?明确定义l织单元(ou)editors的属? 属性是可以被用来查询的条目, 比如, 如果你想要查询所有属于editors的用? 你可以这h?#8220;show all dn where ouQeditors”. 如果我们没有定义属? 则这条记录将不符合查询条?
  8Q?定义对象c?l织单元).
  9Q?I为分割符.
  10Q?定义属于leditors的用户aghaffar的区分名.
  11Q?定义该用Luid(要保证其是唯一?.
  12Q?定义该用Lcn(普通名?, 比如, 我喜Ƣ将我的名字写成“Firstname Lastname”, 而有的h可能喜欢“Lastname Firstname”.
  13Q??
  14Q??
  15Q?对象c??
  16Q?用户密码(q里是加密的密码). q串字符表示密码是用加密法加密q的. 剩下的部分是?#8220;yI”加密的密?yIvSBWSuLs2N".
  17Q?定义我的邮g地址.
  18Q?定义我所属于的组l单?leditors)
  19Q?I为分割符.
  20Q?定义另一个用户mkempe
  21Q?普通名?
  22Q??
  23Q??
  24Q?对象c?
  25Q?用户密码: 注意q里我们使用明文密码. 你可以ؓ不同的用户用不同的Ҏ. q是Ҏ每一条目定义? 而不是基于数据库定义? 因此一个用户可能用明文密? W二个可能用加密密? 另一个则可能使用SHA认证方式.
  26Q?邮g地址.
  27Q?maildrop: 定义用户邮箱的真实位|? 在这个例子中, q个服务器接受收件h为mkempe@linuxfocus.org的邮? 然后邮g服务器会查询ldap服务?#8220;有接受收件h为mkempe@linuxfocus.org的邮吗? ”ldap服务器就会返回maildrop属性? 接着邮g服务器就会将该邮件发l那个邮?
  28Q?母语: q是我们一个额外的属? q个属性定义了用户的母? 我们可以利用存储在中央ldap服务器的信息来ؓ改用h供更好的服务. 比如, 直接向该用户昄本页的法语版? h意前面一条记录没有母语、maildrop{属? q也是ldap强大的一个方面――不必象一个数据库中的表格那样拥有固定的结? 你可以在一条记录中定义3条属? 而在另一个中定义30条属?
  29Q?l织单元.
  
  查询ldap数据?
  让我们找出关于用户mkempe的所有数?
  ldapsearch uid=mkempe
  扑ևeditors的所有区分名
  ldapsearch (&(objectclass=person)(ou=editors)) dn
  更多的例子可以参考ldapsearch的man手册.
  
  LDAP的好?
  让我们来看一看迁UdLDAP所带来的好?
  LDAP是一个开攄标准. 你将使用的大多数的新的应用程序都能够查询ldap数据? 甚至windows2000使用LDAP作ؓ他的目录服务. 信息的集中化会带来巨大的利? 单点理, 减少错误, 减少数据复制{等.
  LDAP应用实例
  如果我是h公司的推销? 我可以测试向你销售LDAPq告诉你可以用它来作?#8220;联系人管?#8221;, 但是我不受雇于康柏公? 所以我会尝试向你介lLDAP有趣的一些方?
  同一dpȝ的单一数据?
  用户帐号攄在一个集中的地方.
  你可能会使用一个LDAP目录来管理你的用? 攄用户的密码及其他信息, 而不仅仅是存攑֜/et/passwd文g? Windows/Unix/Mac用户都可以用这些信?
  : 你可以用LDAP信息来进行用戯? 而不是用shadow或nis{等方式.
  : 你可以写一个小webE序来让用户不用d到系l就可以更改他的存放在LDAP中的unix密码. q时你将需要用pam_ldap, 可以参考资源列表中关于pam_ldap的url.
  注意:
  l一dpȝ的单一数据?=同一dpȝ
  
  大多数LDAP销售商在向你销售LDAP? 会告诉你如果你用LDAP, 你就可以拥有一个同一dpȝ解决Ҏ. 其实q只说对了一? 同一dpȝq不是什么新玩艺, 只不q时ITl理的噱头而已.
  同一dpȝ的实?  
  * 你用"aghaffar"d工作?
  * 你访问公司的内部|? 内部|中的web面是密码保护的, 你不用登录就可以讉K, 因ؓwww服务器可以识别你的n?
  * 你开始运行一个程? 比如SAP, 再一ơ地, 你不需要密? 因ؓpȝ已经拥有了你的n份和信息.
  * {等{等
  当然你可以用LDAP作ؓ用户数据? 而在几个不同的应用程序间q行会话理的小戏法是所谓的“l一dpȝ”? 要知? q和LDAP是风马牛不相及的.
  其实q可以用LDAP,  NIS,  NT域控制器帐号, 数据? q面文g实现?
  : 你可能想要徏立用户邮件帐号但是不惛_立unxi帐号. 没问? 我正在用一个LDAP Postfix邮g服务器Cyrus IMAP/POP服务器的复合服务器来理成千上万的用? 当然不用建立相应的系l帐?
  : 你可能想要将不同应用E序的信息集中化. 比如, Netscape的首选项、书{信息存入LDAP, q且用户可以这些信息从一部计机Ud到另一? 从LDAP服务器下载他/她的信息. q个用户可以从Windows NT Netscapeq移到Linux/Solaris/Macintosh Netscape的同时还使用同样的用户信?对不? 又提CMicrosoft, 我知道这倒了你的胃口).
  
  情景: 我憎恶老是在web和书面上填充我的个h信息. 我不知道Z么h们老是想知道我的年龄、生日、办公室地址, 即已经告诉q他? 在我以前谋职的公叔R, 我们不得不徏立庞大的表格, 表格的信?5Q都是一L(姓名、主题、通信地址、楼层、管理员名字、部?.
  : 比如, 如果我的电话出故障了, 我给你的唯一信息?#8220;我的电话出故障了”.
  采取以下的措施可以尽量减用L厌烦:  
  * 为用h供问题提交表?
  * 面提供用户?密码验证 (每个对话验证一? 下一ơ用L录是能记住用户信?
  * 面提供两个表单元素 1) 反映问题的文字框 2) 提交按钮
  写文?  ??
  我希望这文章能对你有所帮助, 或者让你的大脑充满?0001100110010. 你看? 你ƈ不是必须成ؓ专家才能和大家共享你的知? 你不必成Z个教? 也不必成Z个教师才能写教程. 每一点小的知识都能帮助别h.
  q运的是, 现在我看到越来越多的人在讨论linux,  我看C们中的大多数人都在测试linux, 在一些hq行了一D|间的同时一些h很快攑ּ? q些人可能完全没有unix命o的用经验和概念, 然而他们却可能和遇到的问题斗争了一D|? 如果你精饱满的面对遇到的问? 那么你可以成为最好的教师, 如果你认Z没有M的资料写文章来帮助linuxC֛, 你可以自愿的本文翻译成你的母语.
  
  资源列表:  
  PAM LDAP Module
  pam_ldap 模块为Solarish和linux工作站提供LDAP目录认证, 以及更改其在目录中的密码.
  openLDAP
  OpenLDAP 目是一个协作开发强健的、商业等U的、具有丰富特性的、ƈ且是开放源码的LDAP应用E序和工L目. 该项目由一个全世界志愿者组成的C֛理, 该社团利用Internet来交、计划和开发OpenLDAP 软g和文?
  Java based excellent LDAP Browser/Editor
  LDAP 览?~辑器提供用户友好界面LDAP目录~辑工具. 由JFC (SwingSet) 和JNDI cd写成. 可以q接W二和第三版LDAP 服务?
  kldap
  kldap是一个KDE的LDAP客户?览? . 你可以象你熟悉的Novell Administrator那样览LDAP目录.
  http://freshmeat.net/search.php3?query=ldap
  Freshmeat 站点上大量的LDAP相关工具.
  http://www.redbooks.ibm.com/abstracts/sg245110.html
  IBM的LDAP实现手册. 你可以在U浏览或购买.
  ypldapd - nis 2 ldap gateway
  Ypldapd 是一个网l信息服?NIS) 服务? 它用LDAP作ؓ数据? 通过ypldapd, 现存的NIS 客户可以透明C用LDAP来查询用戗组和主Z? 企业可以充分地获得LDAP所带来的好? 比如扩展性等而不用升U客L.
  Introduction to the SLAPD and SLURPD Administrators Guide
  必读的关于LDAP的教E?
  An LDAP RaodMap & FAQ
  一个关于LDAP和X.500目录服务的资源教E?
  http:  //www.umich.edu/~dirsvcs/ldap/index.html
  轻量目录讉K协议.
      english original source: http://www.linuxfocus.org/English/July2000/article159.shtml


kongbowoo 2007-08-30 20:28 发表评论
]]>
Subversion安装W记http://www.aygfsteel.com/kongbowoo/archive/2007/08/28/140614.htmlkongbowookongbowooTue, 28 Aug 2007 10:12:00 GMThttp://www.aygfsteel.com/kongbowoo/archive/2007/08/28/140614.htmlhttp://www.aygfsteel.com/kongbowoo/comments/140614.htmlhttp://www.aygfsteel.com/kongbowoo/archive/2007/08/28/140614.html#Feedback0http://www.aygfsteel.com/kongbowoo/comments/commentRss/140614.htmlhttp://www.aygfsteel.com/kongbowoo/services/trackbacks/140614.html服务器端SVNserver的下?
http://subversion.tigris.org/servlets/ProjectDocumentList?folderID=91

客户端TortoiseSVN的下载地址:
http://tortoisesvn.net/downloads

kongbowoo 2007-08-28 18:12 发表评论
]]>
վ֩ģ壺 Ϫ| | | | ɽ| | ī񹤿| Ƶ| | | | | | ױ| ũ| ع| ƽԭ| | | Թ| | | | | | | | | | ǿ| γ| ʯ| | ɽʡ| | ݶ| | | | | ʡ|