Sun Java 徽标     上一章      目录      索引      下一章     

Sun 徽标
Sun Java(TM) System Directory Server 5 2004Q2 管理指南 

第 1 章
Directory Server 管理概述

Directory Server 产品包括一个 Directory Server、一个用于管理多个目录的 Administration Server 和一个通过图形界面管理这两台服务器的 Server Console。本章概括地介绍有关 Directory Server 的信息以及管理目录服务时所需的最基本操作。

本章说明了 Directory Server 5.2 包含的两个新功能,即插件签名和 DSML-over-HTTP 协议。验证插件签名是一种附加安全功能,它允许服务器检测或防止加载未经授权的插件。目录服务器标记语言 (DSML) 是一种新的基于 XML 的格式,用于将请求发送到目录服务器。

本章包含以下小节:


如果您运行的是 Directory Server 的多个版本,请注意,本章中的所有示例均假设默认版本为 Directory Server 5.2。如果不是这样,则必须运行一次以下命令或者将 5.2 设置为默认版本:

# /usr/sbin/directoryserver -d 5.2

或者每次运行 directoryserver 命令时都要包括 -useversion 选项,以便指定版本,例如:

# /usr/sbin/directoryserver -useversion 5.2 start



Directory Server 管理概述

Directory Server 是一种强大且具伸缩性的服务器,用于管理企业范围内的用户和资源目录。它基于名为轻型目录访问协议 (LDAP) 的开放系统服务器协议。Directory Server 作为计算机上的 ns-slapd 进程或服务运行。该服务器管理目录内容并对客户机请求作出响应。

Administration Server 是由 Sun Java System 提供的辅助服务器,用于帮助您管理 Directory Server(以及其他 Sun Java System 服务器),通过它,您可以执行大多数 Directory Server 管理任务。Server Console 是 Administration Server 的图形界面。Directory Server Console 是 Server Console 的一部分,专门为与 Directory Server 一起使用而设计。

通过 Directory Server Console 可以执行大多数 Directory Server 管理任务。您也可以通过编辑配置文件或使用命令行公用程序来手动执行管理任务。有关 Server Console 的详细信息,请参阅《Administration Server Administration Guide》。


如果正在使用 Sun Cluster HA for Directory Server 数据服务,那么管理 Directory Server 以及通过命令行时,必须使用 directoryserver(1M) 命令及其子命令。

不要直接使用独立脚本和二进制数据。



启动和停止 Directory Server

如果目前没有使用安全套接字层 (SSL),则可以使用这里列出的方法启动和停止 Directory Server。如果正在使用 SSL,请参阅“在启用 SSL 的情况下启动服务器”

通过命令行启动和停止服务器

要通过命令行启动或停止服务器,请运行以下命令:

 

# /usr/sbin/directoryserver -useversion 5.2 start

或者

 

# /usr/sbin/directoryserver -useversion 5.2 stop

只有当 Directory Server 5.2 不是默认版本时,才需要 useversion 选项。有关 directoryserver 命令的完整语法,请参阅《Directory Server Administration Reference》Chatper 1 "Command-Line Tools Reference"

在下列情况中必须以超级用户身份来运行这些命令:

否则,必须使用与 Directory Server 相同的 UID 和 GID 来运行这两个命令。例如,如果以 nobody 运行 Directory Server,则必须也以 nobody 运行 startstop 公用程序。

对于使用 Directory Server 早期版本的用户,请注意在引用模式下启动服务器将不再可行。您可以使用 Directory Server Console 设置全局引用。“设置默认引用”中对此过程进行了说明。

通过控制台启动和停止服务器

当 Directory Server Console 正在运行时,可以通过其图形界面启动、停止和重新启动 Directory Server。有关运行控制台的说明,请参阅“启动 Directory Server Console”

  1. 在 Directory Server Console 的顶级“任务”选项卡上,单击“启动 Directory Server”、“停止 Directory Server” 或“重新启动 Directory Server” 旁边的相应按钮。

通过 Directory Server Console 成功地启动或停止 Directory Server 后,控制台将显示一个消息对话框,说明已启动或关闭服务器。在出现错误的情况下,控制台将显示与错误相关的所有消息。


在启用 SSL 的情况下启动服务器

启用 SSL 之前,必须在服务器上安装和配置证书。有关管理证书和启用 SSL 的说明,请参阅第 11 章“管理验证和加密”有关证书、证书数据库和获取服务器证书的信息,请参阅《Administration Server Administration Guide》的 Chapter 9 "Using SSL and TLS with Sun Java System Servers"

要在启用 SSL 的情况下启动服务器,必须通过命令行启动服务器,并提供保护服务器证书的口令。

或者,可以创建口令文件来存储证书口令。通过将证书数据库的口令存放在一个文件中,便可以通过服务器控制台启动服务器,还可以允许服务器在无人看管状态下运行时,自动地重新启动。


警告

此口令以明文形式存储在口令文件中,所以使用口令文件有很大的安全隐患。如果服务器在不安全的环境中运行,请勿使用口令文件这种方式。


必须将此口令文件放在以下位置:

ServerRoot/alias/slapd-serverID-pin.txt

其中 serverID 是安装服务器时为其指定的标识符。

在此文件中包括如下的安全令牌名及其口令:

deviceName Token: password

此示例中显示了内部证书数据库的设备名称(大写和空格必须完全与显示的一致):

Internal (Software) Token:passarod

如果将证书存储在备用设备上,请使用“管理证书对话框”顶部的下拉菜单中显示的设备名称。要创建证书数据库,必须使用 Administration Server 和“证书设置向导”。有关在 Directory Server 中使用 SSL 的信息,请参阅第 11 章“管理验证和加密”


使用 Directory Server Console

Directory Server Console 是一个界面,可以作为 Server Console 的一个独立窗口对其进行访问。可以从 Server Console 启动 Directory Server Console,其步骤如下。

启动 Directory Server Console

  1. 检查 Directory Server 守护进程 slapd-server ID 是否正在运行。如果没有运行,请以 root 用户或管理用户身份输入以下命令来启动它:

     

    # /usr/sbin/directoryserver -useversion 5.2 start

  2. 检查 Administration Server 守护进程 ns-httpd 是否正在运行。如果没有运行,请以 root 用户或管理用户身份输入以下命令来启动它:

     

    # /usr/sbin/directoryserver -useversion 5.2 start-admin

  3. 请输入以下命令启动 Server Console:

     

    # /usr/sbin/directoryserver -useversion 5.2 startconsole

  4. 如果在未安装 Administration Server 的计算机上运行 Server Console,则需要在 Administration Server 上配置连接限制,如《Administration Server Administration Guide》Chapter 6 "Network Settings" 所述。

    屏幕上将显示“控制台”登录窗口。或者,如果您的配置目录(即包含 o=NetscapeRoot 后缀的目录)存储在单独的 Directory Server 实例中,那么屏幕上将显示一个窗口,要求您输入管理员用户 DN 和口令,以及该目录服务器的 Administration Server 的 URL。

  5. 使用具有足够访问权限的用户绑定 DN 和口令登录。
  6. 屏幕上将显示 Server Console。

  7. 浏览左侧面板中的树,找出 Directory Server 所在的主机,然后单击此计算机的名称或图标来显示其常规属性。
  8. 图 1-1 Sun Java System Server Console
    Sun ONE Server Console  Directory Server

    要编辑 Directory Server 的名称和说明,请单击“编辑”按钮。在文本框中输入新的名称和说明。单击“确定”设置新名称和说明。名称将显示在左侧的树中,如上图所示。

  9. 在树中双击 Directory Server 的名称或单击“打开”按钮,以显示用于管理此目录服务器的 Directory Server Console。

浏览 Directory Server Console

Directory Server Console 提供了界面,用于浏览 Directory Server 实例并执行管理操作。其中,始终显示四个选项卡,通过这些选项卡您可以访问所有 Directory Server 功能:

“任务”选项卡

打开 Directory Server Console 时,看到的第一个界面就是“任务”选项卡。其中所包含的按钮可用于执行各种主要的管理任务(如启动或停止 Directory Server),如下图所示。要查看所有任务及其对应按钮,可能需要滚动浏览整个列表。

图 1-2 Directory Server Console 的“任务”选项卡

Directory Server Console的顶级“任务”选项卡包含用于启动、重新启动和停止目录服务器的按钮以及其他按钮

必须以具有管理员权限的用户身份登录,才能执行这些任务。对于没有足够权限的用户,任务按钮将不可见。

“配置”选项卡

Directory Server Console 的“配置”选项卡提供了界面和对话框,用于查看和修改各种目录设置(如后缀、复制、架构、日志和插件的目录设置)。只有在以具备管理员权限的用户身份登录时,这些对话框才可用或生效。

此选项卡左侧包含一个带有所有配置功能的树,右侧则显示专用于管理各个功能的界面。这些界面通常包含其他选项卡、对话框或弹出窗口。例如,下图显示了整个目录的常规设置。

图 1-3 Directory Server Console 的“配置”选项卡

Directory Server Console的顶级“配置”选项卡,显示为服务器配置节点的设置选项卡的一个示例

当在左侧树中选择某个可配置的项时,该项的当前设置会显示在右侧面板的一个或多个选项卡中。要了解这些设置的说明和行为,请参阅本指南中具体介绍各项功能的章节。根据设置情况,某些更改会在保存时立即生效,而某些更改则要在重新启动服务器后才会生效。当需要重新启动服务器时,控制台将显示一个对话框通知您。

选项卡名称旁的红色标记表示该选项卡中的更改尚未保存。即使在配置另一项或查看其他主要选项卡时,未保存的更改仍会保留在该选项卡中。“保存”和“重置”按钮适用于给定配置项的所有选项卡,但不影响其他项的未保存设置。

大多数文本字段仅允许按该设置的正确语法输入值。默认情况下,如果值的语法不正确,则该设置的标签和您输入的值将会以红色突出显示。在所有设置的语法均有效之前,“保存”按钮将被禁用。可以选择以斜体突出显示不正确的值,如“可视配置首选项”中所述。

“目录”选项卡

控制台的“目录”选项卡以树的形式显示目录条目,以方便浏览。在此选项卡中,可以浏览、显示和编辑所有条目及其包含的属性。


如果计划浏览包含数千个条目的列表,请创建浏览索引,以便进行快速访问。有关说明,请参阅“用于控制台的浏览索引”


图 1-4 Directory Server Console 的“目录”选项卡

Directory Server Console的顶级“目录”选项卡,在左侧面板中显示目录树,在右侧面板中显示属性值

如果登录期间给定的绑定 DN 具有足够的访问权限,那么配置条目将被视为普通条目,可以直接进行修改。不过,若要安全地更改配置设置,则应始终使用“配置”选项卡上的可用对话框。

“查看”菜单下的几个可用选项可以用来更改“目录”选项卡的布局和内容。新的布局选项包括在单个树中查看所有条目(包括叶条目),以及在右侧窗格中显示属性。默认设置是在右侧查看叶条目,而不是在左侧的树中查看。

“查看”>“显示”选项为目录树中的所有条目启用 ACI 计数、角色计数和去活状态图标。在图 1-4 中,ACI 计数和叶条目显示在左侧树中,而选定条目的属性值显示在右侧窗格中。有关详细信息,请参阅“目录树视图选项”

“状态”选项卡

“状态”选项卡显示服务器统计信息和日志消息。左侧树中列出了全部状态项;选定某项后,该项的内容会显示在右侧窗格中。例如,下图显示了一个日志条目表。

图 1-5 Directory Server Console 的“状态”选项卡

Directory Server Console的顶级“状态”选项卡,显示为日志文件内容的一个示例

通过控制台查看当前绑定 DN

单击显示屏左下角的登录图标,可以查看登录到 Directory Server Console时使用的绑定 DN。当前绑定 DN 将显示在登录图标旁,如下所示:

显示当前绑定 DN 的登录图标

更改登录身份

在通过 Directory Server Console 创建或管理条目时,以及在第一次访问 Server Console 时,可以选择通过提供绑定 DN 和口令来登录。这将识别访问此目录树的用户身份,并确定其用以执行操作的访问权限。

第一次启动 Server Console 时,可以使用目录管理员 DN 登录。您可以随时选择以其他用户身份登录,而无需停止并重新启动控制台。

要更改登录到 Server Console 的用户身份,请执行以下操作:

  1. 在 Directory Server Console 上,选择“任务”选项卡,然后单击“以新用户身份登录至 Directory Server”标签旁边的按钮。此外,当位于其他控制台选项卡中时,可以选择“控制台”>“以新用户身份登录”菜单项。
  2. 屏幕上将出现一个登录对话框。

  3. 输入新的 DN 和口令,然后单击“确定”。
  4. 输入要绑定至服务器的条目的完整标识名称。例如,如果要以目录管理员身份执行绑定,请在“标识名称”文本框中输入以下 DN:

    cn=Directory Manager

目录管理员 DN 和口令将在下一节中详细说明。

使用联机帮助

联机帮助为 Directory Server Console 中大部分选项卡和对话框提供上下文相关的信息。“帮助”按钮通常位于这些界面的右下角。在任何屏幕上,调用上下文相关帮助的键盘快捷键总是 Alt-P。

调用联机帮助将在控制台的内置浏览器中显示一个基于 HTML 的页面。在该页面中,可以单击“在浏览器中启动”按钮,以便在外部浏览器(如 Mozilla)中打开相同的页面。在联机帮助中,指向更进一步信息的链接也会打开一个外部浏览器窗口。

每个联机帮助页面都对相应的选项卡或对话框中的字段和按钮进行说明。当通过控制台解释、输入或修改值时,请在该信息的指导下完成。

Directory Server 的帮助系统取决于 Administration Server。如果正在 Administration Server 的远程计算机中运行 Directory Server Console,则需要验证以下内容:

控制台剪贴板

Directory Server Console 使用系统剪贴板来复制、剪切和粘贴文本。在“目录”选项卡中浏览时,可以将条目的 DN 或 URL 复制到剪贴板中以减少键入:

在打开对话框或其他选项卡之前(您需要在其文本字段中粘贴 DN 或 URL),请执行以下操作:

  1. 在 Directory Server Console 的顶级“目录”选项卡上,浏览树并且选择(左键单击)要复制其 DN 或 URL 的条目。
  2. 然后从菜单中选择“编辑”>“复制 DN ”或“编辑”>“复制 URL”。

控制台设置

Directory Server Console 提供许多设置,用于定制信息在“配置”和“目录”选项卡中的显示方式。

可视配置首选项

当在顶级“配置”选项卡上的字段中修改配置参数和输入值时,Directory Server Console 使用彩色文本表示有效的输入。例如,如果启用了一个功能,该功能要求输入更详细的配置值,则所需字段的标签将显示为红色,在您输入了有效值之后,则变为蓝色。

默认情况下,控制台会使用红色和蓝色,但您可以使用以下方法修改此设置:

  1. 在 Directory Server Console 的任意选项卡上,选择“编辑”>“首选项”菜单项。在“控制台首选项”对话框中,选择“其他”选项卡。
  2. 为希望的可视配置指示符选择相应的单选按钮。可以选择彩色字体或字体外观(或两者)。
  3. 有关“控制台首选项”对话框的其他选项卡上设置的说明,请参阅《Administration Server Administration Guide》Chapter 2 "Customizing Server Console"
  4. 然后单击“确定”以保存更改。

  5. 退出 Server Console 的所有窗口,然后重新启动控制台。

目录树视图选项

在 Directory Server Console 的顶级“目录”选项卡上,“视图”菜单中的各项允许您在目录树中显示其他信息,并选择要在右侧面板中出现的内容。

以下“视图”选项会影响“目录”选项卡的内容:


配置 LDAP 参数

LDAP 参数是目录服务器中的基本设置,如目录管理员的标识名称 (DN)、全局只读设置、端口配置以及跟踪所有目录修改时间的功能。

配置目录管理员

目录管理员是具有特权的服务器管理员,与 UNIX 中的 root 用户相似。访问控制不适用于以 Directory Manager 身份定义的条目。此条目的首次定义应该在安装过程中完成。默认值为 cn=Directory Manager

目录管理员的 DN 存储在 nsslapd-rootDN 属性中,而口令存储在 cn=config 分支的 nsslapd-rootpw 属性中。

使用 Directory Server Console 更改目录管理员 DN 和口令,以及用于此口令的加密方案:

  1. 请以目录管理员身份登录至控制台。
  2. 如果您已经登录至控制台,有关如何以其他用户身份登录的说明,请参阅“更改登录身份”

  3. 在顶级“配置”选项卡上,选择导航树根的服务器节点,然后在右侧面板中选择“设置”选项卡。
  4. 在“目录管理员 DN”字段中输入新的标识名称。默认值为安装过程中定义的值。
  5. 在“管理员口令加密”下拉菜单中,选择服务器要使用的目录管理员口令的存储方案。
  6. 请使用提供的文本字段输入并确认新口令。
  7. 单击“保存”。

更改 Directory Server 端口号

使用 Directory Server Console 或在 cn=config 条目下更改 nsslapd-port 属性的值,均可以修改用户目录服务器的端口号或安全端口号。

如果要修改包含 Sun Java System 配置信息(o=NetscapeRoot 子树)的 Directory Server 的端口或安全端口,可以通过 Directory Server Console 完成此操作。

如果要更改配置目录端口、用户目录端口或安全端口号,您需要明确以下可能产生的影响:

使用以下步骤修改 Directory Server 监听传入 LDAP 请求时使用的端口或安全端口。要修改用于 DSML 请求的端口,请参阅“配置 DSML”

  1. 在 Directory Server Console 的顶级“配置”选项卡上,选择与服务器名称相同的根节点,然后在右侧面板中选择“网络”选项卡。
  2. 选项卡显示用于 LDAP 协议的服务器的当前端口设置。

  3. 在“端口”字段中输入服务器用于非 SSL 通讯的端口号。默认值是 389。
  4. 如果在该服务器上具有已激活的 SSL(如第 11 章“管理验证和加密”中所述),则允许在安全端口上的连接:
    1. 选择该选项以同时使用安全端口和非安全端口。
    2. 在“安全端口”字段中输入服务器用于 SSL 通讯的端口号。默认值是 636。
    3. 指定的加密端口号一定不能与用于标准 LDAP 通讯的端口号相同。

  5. 单击“保存”,然后重新启动服务器。

有关信息,请参阅“启动和停止 Directory Server”

设置全局只读模式

可以将目录中的每个后缀独立地设为只读模式,定义为只读模式后,可能会返回一个特定引用。Directory Server 还提供适用于所有后缀的全局只读模式,定义为此模式后,可能会返回一个全局引用。

使用全局只读模式后,在执行如重新索引后缀这样的任务时,管理员可以防止修改目录内容。因此,全局只读模式不适用于以下配置分支:

不管是否为只读设置,这些分支始终都应由访问控制指令 (ACI) 保护,以防被非管理用户修改(请参见第 6 章“管理访问控制”)。全局只读模式将防止在目录中的所有其他后缀上执行更新操作,包括由目录管理员执行的更新操作。

如果启用了只读模式,它还会中断后缀的复制。主副本不再有任何要复制的更改,不过它仍会继续复制启用只读模式前所做的所有更改。禁用只读模式前,使用者副本不会再接收到任何更新。多主复制方案中的主副本既不会有任何要复制的更改,也不能从其他主副本处接收更新。

要启用或禁用全局只读模式,请执行以下操作:

  1. 在 Directory Server Console 的顶级“配置”选项卡中,选择配置树中的根节点,然后在右侧面板中选择“设置”选项卡。
  2. 选中或取消选中“服务器为只读”复选框。
  3. 单击“保存”。所做的更改将立即生效。

有关将个别后缀设置为只读模式的信息,请参阅“设置后缀只读模式”

跟踪对目录条目的修改

您可以配置服务器,以维护新创建条目或已修改条目的特殊属性:

要启用 Directory Server 以跟踪此信息,请执行以下操作:

  1. 在 Directory Server Console 的顶级“配置”选项卡中,选择配置树中的根节点,然后在右侧面板中选择“设置”选项卡。
  2. 选中“跟踪条目修改时间”复选框。
  3. 服务器会将 creatorsNamecreateTimestampmodifiersNamemodifyTimestamp 属性添加至每个新创建条目或已修改条目。现有条目将不会包含创建属性。

  4. 单击“保存”,然后重新启动服务器。
  5. 有关详细信息,请参阅“启动和停止 Directory Server”


验证插件签名

验证插件签名是 Directory Server 5.2 的一项新功能。Directory Server 提供的每个插件都具有一个数字签名,服务器可以在启动时对其进行验证。默认情况下,服务器将验证插件签名,但是不管签名是否存在或有效,它都会加载每个插件。

验证签名具有以下优点:

配置插件签名的验证

  1. 在 Directory Server Console 的顶级“配置”选项卡上,在配置树中选择“插件”节点。当前的签名验证策略显示在右侧面板中。
  2. 选择以下选项之一:
    • 不验证插件签名—将加载在服务器配置中定义的所有插件,而不管其签名如何。将不会显示由于插件签名引起的任何警告或错误。
    • 标记具有无效签名的插件—将加载在服务器配置中定义的所有插件,但服务器将验证每个插件的签名。如果插件二进制有任何改变,则签名将不再有效,服务器将在启动时显示一条警告消息并将其记入错误日志中。也将标记没有签名的插件。

      如果有自定义的未签名插件,则此为推荐选项。将加载您的插件,但您仍可以查看所有已签名插件的状态。

    • 拒绝具有无效签名的插件—服务器将验证在配置中定义的所有插件的签名,并且仅加载具有有效签名的插件。服务器将在启动时显示一条警告消息并将其记入错误日志,指出哪些插件具有无效签名或没有签名。

      这是最安全的选项,但您将无法加载自定义的未签名插件。

  3. 单击“保存”,然后重新启动 Directory Server,如“启动和停止 Directory Server”中所述。

查看插件的状态

  1. 在 Directory Server Console 的顶级“配置”选项卡上,展开配置树中的“插件”节点,然后选择要验证的插件。该插件的当前配置显示在右侧面板中。
  2. “签名状态”字段显示具有以下某一值的插件的签名验证状态:
    • 未知—当服务器配置为不验证插件签名时,所有插件的签名状态都是“未知”。以下状态仅当验证插件签名时才可见。
    • 有效签名—插件配置提供的签名与插件二进制的校验和匹配。该插件已正式得到支持。以下状态仅当标记(但不拒绝)无效签名时才可见。
    • 无效签名—插件配置包含的签名与插件二进制的校验和不匹配。该状态表明插件可能已被篡改。
    • 无签名—插件配置未提供签名供服务器验证。


配置 DSML

除了处理轻型目录访问协议 (LDAP) 中的请求之外,Directory Server 还会响应目录服务标记语言版本 2 (DSMLv2) 中发送的请求。DSML 是客户机对目录操作进行编码的另一种方式,但服务器将使用所有相同的访问控制和安全功能,以处理其他请求的方式来处理 DSML 请求。事实上,DSML 处理允许多种其他类型的客户机访问您的目录内容。

Directory Server 支持通过超文本传输协议 (HTTP/1.1) 使用 DSMLv2,并使用简单对象访问协议 (SOAP) 版本 1.1 作为传送 DSML 内容的编程协议。有关这些协议以及 DSML 请求示例的详细信息,请参阅“使用 DSMLv2 访问目录”

启用 DSML 请求

由于 LDAP 是用于访问目录的标准协议,因此安装 Directory Server 后默认情况下不会启用 DSML 请求。如果希望服务器对通过 HTTP/SOAP 发送的 DSML 请求作出响应,必须明确启用此功能。

要通过控制台在服务器上启用 DSML 请求,请执行以下操作:

  1. 在 Directory Server Console 的顶级“配置”选项卡上,选择配置树中的根节点,然后在右侧面板中选择“网络”选项卡。
  2. 选中“启用 DSML”复选框,并选择以下安全选项之一。仅当具有激活的 SSL 时,安全端口选项才可用,如第 11 章“管理验证和加密”中所述
    • 仅使用非安全端口—非安全端口仅接受未加密的 HTTP 上的 DSML 请求。
    • 仅使用安全端口—安全端口仅接受 HTTPS 上的 DSML 请求。
    • 同时使用安全端口和非安全端口 两种端口都可用,客户机可选择两者之一。
  3. 然后编辑以下任意字段:
    • 端口—用于接收 DSML 请求的 HTTP 端口。
    • 加密端口—使用 SSL 接收加密的 DSML 请求的 HTTPS 端口。
    • 相关 URL—一个相关的 URL,当附加至主机和端口时,用来确定客户机发送 DSML 请求时必须使用的完整 URL。
    • 默认情况下,服务器将处理发送至下列 URL 的请求:

      http://host:80/dsml

  4. 单击“保存”,系统将提示您必须重新启动服务器才能开始响应 DSML 请求。

要通过命令行启用 DSML 请求,请执行以下操作:

  1. 执行以下 ldapmodify 命令,以启用 DSML 前端插件并修改其设置。修改 ds-hdsml-portds-hdsml-secureportds-hdsml-rooturl 属性是可选的:
  2. % ldapmodify -h host -p LDAPport -D "cn=Directory Manager" -w passwd
    dn:cn=DSMLv2-SOAP-HTTP,cn=frontends,cn=plugins,cn=config
    changetype: modify
    replace: nsslapd-pluginEnabled
    nsslapd-pluginEnabled: on
    -
    replace: ds-hdsml-port
    ds-hdsml-port: DSMLport
    -
    add: ds-hdsml-secureport
    ds-hdsml-port: secureDSMLport
    -
    replace: ds-hdsml-rooturl
    ds-hdsml-root: relativeURL
    -
    ^D

      根据已定义的参数和属性值,DSML 客户机可能使用以下 URL 向此服务器发送请求:

      http://host:DSMLport/relativeURL

      https://host:secureDSMLport/relativeURL

  3. 修改 DSML 前端插件后,必须重新启动服务器更改才能生效。不过,在重新启动服务器前,您可能希望按照后面小节中的说明为 DSML 验证配置安全和标识映射。

配置 DSML 安全性

除上节中介绍的安全端口设置外,您还可以配置接受 DSML 请求所必需的安全级别。DSML 前端插件的 ds-hdsml-clientauthmethod 属性可以决定客户机所要求的验证方法。该属性可能有下列值:

如果 HTTP 请求中未提供证书和授权标头,则服务器将使用匿名绑定执行 DSML 请求。下列情况也将使用匿名绑定:

不论 ds-hdsml-clientauthmethod 属性为何值,如果提供了证书但证书却与条目不匹配,或者虽然指定了“HTTP 授权”标头但却不能映射至用户条目,则 DSML 请求将会被拒绝,并且返回消息 403:“已禁止”。

要通过控制台设置 DSML 安全要求,请执行以下操作:

  1. 在 Directory Server Console的顶级“配置”选项卡上,选择配置树中的根节点,然后在右侧面板中选择“加密”选项卡。
  2. 必须已经配置并启用了 SSL,如第 11 章“管理验证和加密”中所述

  3. 在“DSML 客户机验证”字段的下拉菜单中,选择选项之一。
  4. 单击“保存”,然后重新启动服务器以实施此新安全设置。

要通过命令行设置 DSML 安全要求,请执行以下操作:

  1. 运行以下 ldapmodify 命令以编辑 DSML 前端插件的属性:
  2. % ldapmodify -h host -p LDAPport -D "cn=Directory Manager" -w passwd
    dn:cn=DSMLv2-SOAP-HTTP,cn=frontends,cn=plugins,cn=config
    changetype: modify
    replace: ds-hdsml-clientauthmethod
    ds-hdsml-clientauthmethod: httpBasicOnly or
     clientCertOnly or clientCertFirst
    ^D

  3. 修改 DSML 前端插件后,需要重新启动服务器以实施新的安全设置。

DSML 标识映射

在没有证书的情况下执行基本验证时,Directory Server 使用名为标识映射的机制来确定接受 DSML 请求时使用的绑定 DN。此机制从 HTTP 请求的授权标头中提取信息,以确定用于绑定的标识。有关该机制的完整说明,请参阅“标识映射”

服务器配置中的下列条目给出了用于 DSML-over-HTTP 的默认标识映射:

dn:cn=default,cn=HTTP-BASIC, cn=identity mapping, cn=config
objectclass: top
objectclass: nsContainer
objectclass: dsIdentityMapping
cn: default
dssearchbasedn: ou=People,userRoot
dssearchfilter: (uid=${Authorization})

此映射搜索 ou=People,userRoot 子树以查找其 uid 属性与 Authorization 标头中给定的用户名相匹配的条目。userRoot 是安装目录时定义的后缀,例如 dc=example,dc=com

在这些映射条目属性中,可以使用格式为 ${标头} 的占位符,其中 header 为 HTTP 标头的名称。DSML 映射中最常用的标头如下:

要使 DSML 请求执行其他的标识映射,请执行以下操作,以便为 HTTP 标头定义新的标识映射:

  1. 编辑默认的 DSML-over-HTTP 标识映射或为该协议创建自定义映射。有关标识映射条目中属性的定义,请参阅“标识映射”。这些映射条目必须位于以下条目的下方:
    cn=HTTP-BASIC, cn=identity mapping, cn=config

可以采用以下两种方式之一创建新的映射条目:

首先将评估自定义映射,如果没有成功的定制映射,则将评估默认映射。如果所有映射都未能确定 DSML 请求的绑定 DN,则 DSML 请求将被禁止并拒绝(错误 403)。



上一章      目录      索引      下一章     


版权所有 2004 Sun Microsystems, Inc. 保留所有权利。