⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 1880.html

📁 著名的linux英雄站点的文档打包
💻 HTML
📖 第 1 页 / 共 4 页
字号:
从源代码安装<br>
基本安装至少需要两个tarball:<br>
·Berkeley Sleepycat DB<br>
·OpenLDAP tarball<br>
Berkeley DB必须在OpenLDAP之前安装。OpenLDAP没有它不能建立。(如何安装Berkeley DB请看Resources)<br>
OpenLDAP tarball 不足2兆,那就是说即使我们拨号下载,也是很轻松的。本文中使用的稳定版为openldap-stable-20030709.tgz。我喜欢将它放在 /usr/src/目录下,并在此解包:<br>
root@windbag:/usr/src# tar xfz openldap-stable-20030709.tgz<br>
这就创建了openldap-2.1.22 目录:<br>
root@windbag:/usr/src# cd openldap-2.1.22<br>
现在就有了README、INSTALL、 LICENSE、 ANNOUNCEMENT、以及COPYRIGHT 文档。先花点时间看看这些文档,看他们里面有什么重要信息。要快速查看编译选项,请键入:<br>
root@windbag:/usr/src# ./configure --help<br>
这个阅读相当吸引人,它的默认项标记清楚,选项能够自我说明。现在我们来看看默认项。输入下列三个命令:<br>
# ./configure<br>
# make depend<br>
# make<br>
每个命令输入完都会出现许多东西;放心的等待吧。等他们都完成之后,运行简单的内建测试脚本对他们进行校验:<br>
# make test<br>
如果出错的话,我建议你放弃它,另外向你推荐OpenLDAP.org (见 Resources)。如果运行良好,最后一个步骤就是真正的安装新创建的二进制文件和man界面。在OpenLDAP根目录下运行:<br>
# make install<br>
请注意'make install'的输出;它包含许多有用信息。为了详细阅读,将它导入文件内:<br>
# make install | tee openldap-install.txt<br>
配置slapd.conf<br>
这是用于我们新OpenLDAP 服务器的主要配置文件。它可以放在任何层数的虚拟目录内——我个人喜欢在安装软件后运行updatedb,这样我能迅速的找到需要的东西。在我的Libranet 系统上,它是/etc/ldap/slapd.conf。<br>
小心保护该文件。最好备份一下。原来的文件包含有用的默认值。为了安全起见,默认许可为600(只有root用户才能读写该文件)。<br>
slapd.conf 定义了三种类型的信息:整体设置,与指定后端相关的设置,与指定数据库相关的设置。这个bit相当重要,如果运行正确的话能够帮你减少麻烦:后端和数据库指令优先于整体设置,数据库指令优先于后端指令。<br>
空白行和注释可以忽略。以空白开头的行是上一行的继续——这个小技巧可让你浏览时不至于毫无头绪。<br>
更多的空白可用于指令中:指令可以有参数,甚至多个参数。这些参数使用空白隔开。带有空白的参数必须附上双引号:如"loud argument." 包含双引号或者反斜线符号的参数退出时必须使用反斜线:如 "really "loud" argument," 。<br>
毫无疑问,在这里简单的安装对于slapd.conf 中的配置是不够的。下列东西应该足够让这个球滚动起来。如果你的slapd.conf没有包括标题如"Global Directives"和"Backend Directives," 你可以添加它们。重要的是依次添加下列三个部分:整体、后端、以及数据库。<br>
在Global Directives下,添加日志级别的指令:<br>
loglevel      256<br>
在Backend Directives下,添加bdb:<br>
backend       bdb<br>
在Database Directives下,添加:<br>
database bdb<br>
suffix "dc=carlasworld,dc=net"<br>
rootdn "cn=Manager,dc=carlasworld,dc=net"<br>
rootpw secret<br>
directory "/var/lib/ldap"<br>
我相信你能够找到需要修改以适应系统的bit。注意:域carlasworld.net已经分裂成两个类型/值对。这件事以后再做,以防万一值需要修改或者值需要出现在另一个目录下。<br>
类型/值对<br>
尽管LDAP 非常灵活,还是有某些类型和值已经定义了,如访问级、数据库后端、和调试级。这一点请参考基本的(和优秀的)"OpenLDAP 2.1 Administrator's Guide" (再次见 Resources)。<br>
I B CN U<br>
不错,我们现在要指出在哪里可以找到所有这些缩写的意思。说不定你还可以用它们在你的朋友面前炫一把:<br>
DN =贵宾名<br>
O = 组织<br>
OU = 组织单元<br>
DC = 域组件<br>
CN = 普通名<br>
SN = 姓名<br>
UID =用户ID<br>
希望看起来像天才吗?请看文件core.schema,它标识了所有这些缩写(有二三十个那么多)。<br>
这是启动slapd的好时机。依靠你的安装,它已经在运行了——首先检查ps ax|grep slapd 。如果没有运行,键入which slapd ,找出执行文件,然后无参数运行。安装程序应该自动配置启动文件,在引导时就开始运行,这样你就不必重复了。OpenLDAP是完全自我测试的;运行&lt;filepath&gt;/slapd–t ,确认你的slapd.conf 没有语法错误。【original text】<br>
预告<br>
在part3部分,我们将组装数据库,描述如何使用LDAP来实现单一登录。<br>
Resources<br>
man slapd<br>
man slapd.conf<br>
Quick-Start Guide<br>
OpenLDAP 2.1 Administrator's Guide<br>
LDAPman Schema Reference page<br>
在《在Linux上建立LDAP服务器(二)》中,我们描述了它的安装以及它的非常基本的配置。今天我们将使用真实数据来组装我们的目录,引导你毫无费力的避开一些常见误区。<br>
目录<br>
它能运行吗?<br>
修改slapd.conf<br>
添加条目<br>
.ldif的缺陷<br>
添加用户<br>
模式<br>
结论<br>
Resources<br>
我们先回顾一下第二部分中我们的slapd.conf 配置:<br>
##Database Directives##<br>
database bdb<br>
suffix "dc=carlasworld,dc=net"<br>
rootdn "cn=Manager,dc=carlasworld,dc=net"<br>
rootpw secret<br>
directory "/var/lib/ldap"<br>
我们来详细讨论配置中的每一行。<br>
·首先,确定用你的真实域取代"carlasworld.net" 。<br>
·rootdn 非常重要。这是你创建授权用户输入条目到数据库的地方。这里我称之为管理员(Manager)。你可以随便称呼它:管理员、老板、ldap最高统治者——你想称呼它什么,就称呼什么。<br>
·rootpw 也是非常重要的。它是授权用户的(管理员的) 密码。现在,我们要使用明文密码。在上述的例子中,它为"secret";但是密码你可以随意设定。<br>
·directory 是OpenLDAP存储实际数据库文件的地方,它在下一行。目录在启动slapd 之前必须存在。<br>
"/var/lib/ldap" 是安装者创建的一个常用目录,尽管你的Linux版本可能已经将它放在其他地方了。你也可以创建一个你自己选择的目录。但是,我们的目的是要找到它,而不是只创建目录——查看更多细节,请参考 OpenLDAP Administrator's Guide 。<br>
目录下已经安装了下列文件:<br>
$ ls /var/lib/ldap<br>
__db.001 __db.003 __db.005 id2entry.bdb objectClass.bdb<br>
__db.002 __db.004 dn2id.bdb log.0000000001<br>
它能运行吗?<br>
首先,检查slapd.conf 有无语法错误:<br>
# slapd -t<br>
然后,运行下列命令(不要写错了):<br>
$ ldapsearch -x -b '' -s base '(objectclass=*)' namingContexts<br>
他会返回几行费解的代码;看这行:<br>
dn:<br>
namingContexts: dc=carlasworld,dc=net<br>
修改slapd.conf<br>
只要你修改了slapd.conf,就必须重新启动:<br>
# /etc/init.d/slapd restart<br>
添加条目<br>
现在我们进入有趣的部分。手动创建条目有两个步骤。首先,创建一个.ldif 文件,然后使用命令ldapadd ,输入新的条目到数据库中。在.ldif 文件中——我们统统称之为test.ldif ——定义了你公司的一些属性:<br>
##my company##<br>
dn: dc=carlasworld,dc=net<br>
objectclass: dcObject<br>
objectclass: organization<br>
o: Tuxcomputing, inc.<br>
dc: carlasworld<br>
dn: cn=Manager,dc=carlasworld,dc=net<br>
objectclass: organizationalRole<br>
cn: Manager<br>
.ldif的缺陷<br>
请确定你已经去除了首尾空白,以及空白行。尽管行结尾的尾空白可以告诉ldapadd:下一行是前一行的继续,但是任何首空白或者尾空白都会让ldapadd 相信这里什么都没有。请使用空白行分隔条目。<br>
下一步就是添加test.ldif 文件到ldap:<br>
# ldapadd -x -D "cn=Manager,dc=carlasworld,dc=net" -W -f test.ldif<br>
想了解不同标记代表的含义请参考man ldapadd 。ldap 要求你输入LDAP密码,然后才批准添加条目。如果你不幸得到"ldap_bind: Invalid credentials (49)"错误,就表示你要么给出了错误的"cn="条目,要么给出了错误的密码。<br>
只有普通名(cn)和密码在slapd.conf中都正确,才不会出现任何关于他们的任何莫名其妙的信息。 注意:我们稍候会删除这些。(虽然创建新数据库时需要他们,稍候我们添加更强的授权时就会替换它们。)<br>
我们看看现在我们的数据库看起来像什么:<br>
# ldapsearch -x -b 'dc=carlasworld,dc=net' '(objectclass=*)'<br>
它会显示数据库中的每一条。<br>
添加用户<br>
好,现在让我们使用users.ldif 文件,添加一些真正的用户:<br>
#Tux Entry<br>
dn: cn=Tux P Tuxedo,dc=carlasworld,dc=net<br>
cn: Tux P Tuxedo<br>
cn: Tux Tuxedo<br>
objectClass: person<br>
sn: Tuxedo<br>
# ldapadd -x -D "cn=Manager,dc=carlasworld,dc=net" -W -f users.ldif<br>
Enter LDAP Password:<br>
adding new entry "cn=Tux P Tuxedo,dc=carlasworld,dc=net"<br>
# ldapsearch -x -b 'dc=carlasworld,dc=net' '(objectclass=*)'<br>
# extended LDIF<br>
#<br>
# LDAPv3<br>
# base with scope sub<br>
# filter: (objectclass=*)<br>
# requesting: ALL<br>
#<br>
# carlasworld.net<br>
dn: dc=carlasworld,dc=net<br>
objectClass: top<br>
objectClass: dcObject<br>
objectClass: organization<br>
o: Tuxcomputing, Inc.<br>
# Tux P Tuxedo, carlasworld.net<br>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -