在Linux上建立LDAP服务器(二)

发表于:2007-05-26来源:作者:点击数: 标签:
简单的方法 明智的系统管理员会先查看相关的文件;OpenLDAP 打包后可能会运行的很好(或者产生不可知的后果)。我只求方便如果你的其他版本能够提供一个容易的方法,就用它好了。RPM 也可从rpmfind .net 处获得,rpmfind.net详细地列出了所有需要的附带软件

简单的方法

明智的系统管理员会先查看相关的文件;OpenLDAP 打包后可能会运行的很好(或者产生不可知的后果)。我只求方便——如果你的其他版本能够提供一个容易的方法,就用它好了。RPM 也可从rpmfind.net处获得,rpmfind.net详细地列出了所有需要的附带软件包。

当然Debian运行的也很好。apt-get做这个工作也不错;聪明的 bit能够找到软件包的名字。 Debian用户希望ldap-utils;slapd,即OpenLDAP;以及libdb4.1获得Sleepycat DB。 这三个组件足够你用的了。apt-get可带你完成最小配置,并且自动启动slapd,即LDAP服务器 监控程序。

从源代码安装

基本安装至少需要两个tarball:

·Berkeley Sleepycat DB

·OpenLDAP tarball

Berkeley DB必须在OpenLDAP之前安装。OpenLDAP没有它不能建立。(如何安装Berkeley DB请看Resources)

OpenLDAP tarball 不足2兆,那就是说即使我们拨号下载,也是很轻松的。本文中使用的稳定版为openldap-stable-20030709.tgz。我喜欢将它放在 /usr/src/目录下,并在此解包:

root@windbag:/usr/src# tar xfz openldap-stable-20030709.tgz

这就创建了openldap-2.1.22 目录:

root@windbag:/usr/src# cd openldap-2.1.22

现在就有了README、INSTALL、 LICENSE、 ANNOUNCEMENT、以及COPYRIGHT 文档。先花点时间看看这些文档,看他们里面有什么重要信息。要快速查看编译选项,请键入:

root@windbag:/usr/src# ./configure --help

这个阅读相当吸引人,它的默认项标记清楚,选项能够自我说明。现在我们来看看默认项。输入下列三个命令:

# ./configure
            # make depend
            # make

每个命令输入完都会出现许多东西;放心的等待吧。等他们都完成之后,运行简单的内建测试脚本对他们进行校验:

# make test

如果出错的话,我建议你放弃它,另外向你推荐OpenLDAP.org (见 Resources)。如果运行良好,最后一个步骤就是真正的安装新创建的二进制文件和man界面。在OpenLDAP根目录下运行:

# make install

请注意'make install'的输出;它包含许多有用信息。为了详细阅读,将它导入文件内:

# make install | tee openldap-install.txt

配置slapd.conf

这是用于我们新OpenLDAP 服务器的主要配置文件。它可以放在任何层数的虚拟目录内——我个人喜欢在安装软件后运行updatedb,这样我能迅速的找到需要的东西。在我的Libranet 系统上,它是/etc/ldap/slapd.conf。

小心保护该文件。最好备份一下。原来的文件包含有用的默认值。为了安全起见,默认许可为600(只有root用户才能读写该文件)。

slapd.conf 定义了三种类型的信息:整体设置,与指定后端相关的设置,与指定数据库相关的设置。这个bit相当重要,如果运行正确的话能够帮你减少麻烦:后端和数据库指令优先于整体设置,数据库指令优先于后端指令。

空白行和注释可以忽略。以空白开头的行是上一行的继续——这个小技巧可让你浏览时不至于毫无头绪。

更多的空白可用于指令中:指令可以有参数,甚至多个参数。这些参数使用空白隔开。带有空白的参数必须附上双引号:如"loud argument." 包含双引号或者反斜线符号的参数退出时必须使用反斜线:如 "really \"loud\" argument," 。

毫无疑问,在这里简单的安装对于slapd.conf 中的配置是不够的。下列东西应该足够让这个球滚动起来。如果你的slapd.conf没有包括标题如"Global Directives"和"Backend Directives," 你可以添加它们。重要的是依次添加下列三个部分:整体、后端、以及数据库。

在Global Directives下,添加日志级别的指令:
            loglevel      256
            在Backend Directives下,添加bdb:
            backend       bdb
            在Database Directives下,添加:
            database bdb
            suffix "dc=carlasworld,dc=net"
            rootdn "cn=Manager,dc=carlasworld,dc=net"
            rootpw secret
            directory "/var/lib/ldap"

我相信你能够找到需要修改以适应系统的bit。注意:域carlasworld.net已经分裂成两个类型/值对。这件事以后再做,以防万一值需要修改或者值需要出现在另一个目录下。

类型/值对

尽管LDAP 非常灵活,还是有某些类型和值已经定义了,如访问级、数据库后端、和调试级。这一点请参考基本的(和优秀的)"OpenLDAP 2.1 Administrator's Guide" (再次见 Resources)。

I B CN U

不错,我们现在要指出在哪里可以找到所有这些缩写的意思。说不定你还可以用它们在你的朋友面前炫一把:

DN =贵宾名

O = 组织

OU = 组织单元

DC = 域组件

CN = 普通名

SN = 姓名

UID =用户ID

希望看起来像天才吗?请看文件core.schema,它标识了所有这些缩写(有二三十个那么多)。

这是启动slapd的好时机。依靠你的安装,它已经在运行了——首先检查ps ax|grep slapd 。如果没有运行,键入which slapd ,找出执行文件,然后无参数运行。安装程序应该自动配置启动文件,在引导时就开始运行,这样你就不必重复了。OpenLDAP是完全自我测试的;运行<filepath>/slapd–t ,确认你的slapd.conf 没有语法错误。

原文转自:http://www.ltesting.net