本部分列出了已知问题。已知问题与更改请求号相关联。
如果服务器在执行联机导出、备份、恢复或索引创建时停止,目录服务器会出现崩溃现象。
从 LDIF 导入条目时,目录服务器不生成 createTimeStamp 和 modifyTimeStamp 属性。
对 LDIF 导入进行了速度优化。导入过程不会生成这些属性。要解除此限制,请添加(而非导入)条目。或者对 LDIF 进行预处理,以便在导入之前添加属性。
在 Directory Server 5 2004Q2、2005Q4 和当前版本中定义了 pwdChangedTime 属性和 usePwdChangedTime 属性。这些属性未在早期版本中进行定义。在定义了这些属性的版本中使用密码过期定义条目时,该条目将包含 pwdChangedTime 属性和 usePwdChangedTime 属性。将该条目复制到运行早期版本的提供方时,提供方无法处理对该条目的任何修改。由于提供方在其模式中没有 pwdChangedTime 属性,因此会发生模式违规错误。
将不再使用 usePwdChangedTime。只要修改密码,即会更新操作属性 pwdChangedTime。
要解决此问题,请在 00core.ldif 文件中定义 pwdChangedTime 属性和 usePwdChangedTime 属性。如果复制拓扑中某些服务器运行的版本未定义这些属性,则必须为所有这些服务器定义这些属性。属性类型的定义如下。
attributeTypes: ( 1.3.6.1.4.1.42.2.27.8.1.16 NAME 'pwdChangedTime' DESC 'Directory Server defined password policy attribute type' SYNTAX 1.3.6.1.4.1.1466.115.121.1.24 SINGLE-VALUE USAGE directoryOperation X-DS-USE 'internal' X-ORIGIN 'Sun Directory Server' ) attributeTypes: ( 1.3.6.1.4.1.42.2.27.9.1.597 NAME 'usePwdChangedTime' DESC 'Directory Server defined attribute type' SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 SINGLE-VALUE X-DS-USE 'internal' X-ORIGIN 'Sun Directory Server' )
如果旧服务器仍然存在于复制拓扑中,请不要将新服务器迁移到新的密码策略。
将副本降级为专用的只读使用方之后,重新升级服务器可能会中断复制。
如果使用长度为零的密码绑定到目录,则此绑定为匿名绑定。此绑定不是简单绑定。对于通过执行测试绑定对用户进行验证的第三方应用程序,如果此类应用程序没有意识到此行为,则可能会产生安全漏洞。
某些目录服务器错误消息引用了数据库错误指南的内容,但此指南并不存在。如果您无法理解某个严重错误消息的含义,并且此错误未记入文档,请与 Sun 支持人员联系。
删除软件时,dsee_deploy uninstall 命令不会停止或删除现有服务器实例。
要解除此限制,请按照《Sun Java System Directory Server Enterprise Edition 6.0 Installation Guide》中的说明执行操作。
即使已在提供方副本上清除了 pwdFailureTime 属性值,目录服务器仍在使用方副本上保留这些值。这些值在复制了 userPassword 的修改后仍会保留。
从 zip 分发包安装软件时,如果您打算随后使用目录服务控制中心来管理服务器,请不要使用 -N (--no-cacao) 选项。以后将无法单独安装 Common Agent Container。
在目标后缀上使用 SSL 客户端验证时,dsconf accord-repl-agmt 命令无法使复制协议的验证属性保持一致。
要解决此问题,请按照以下步骤将提供方证书存储在使用方的配置中。下面所显示的示例命令基于同一主机上的两个实例。
将证书导出到文件。
以下示例说明如何对 /local/supplier 和 /local/consumer 中的服务器执行导出。
$ dsadm show-cert -F der -o /tmp/supplier-cert.txt /local/supplier defaultCert $ dsadm show-cert -F der -o /tmp/consumer-cert.txt /local/consumer defaultCert |
交换客户端和提供方证书。
以下示例说明如何对 /local/supplier 和 /local/consumer 中的服务器执行交换。
$ dsadm add-cert --ca /local/consumer supplierCert /tmp/supplier-cert.txt $ dsadm add-cert --ca /local/supplier consumerCert /tmp/consumer-cert.txt |
在使用方上添加 SSL 客户端条目,包括 usercertificate;binary 属性中的 supplierCert 证书,以及相应的 subjectDN。
在使用方上添加复制管理员 DN。
$ dsconf set-suffix-prop suffix-dn repl-manager-bind-dn:entryDN |
更新 /local/consumer/alias/certmap.conf 中的规则。
使用 dsadm start 命令重新启动两台服务器。
目录服务控制中心将值作为字符串进行排序。因此,在目录服务控制中心中对数字进行排序时,数字将被视为字符串。
对 0、20 和 100 进行升序排序的结果为 0、100、20。对 0、20 和 100 进行降序排序的结果为 20、100、0。
无法在 目录服务控制中心 中注册具有多字节名称的目录服务器实例。
要解决此问题,请按以下方式配置 Common Agent Container。
# cacaoadm stop # cacaoadm set-param java-flags="-Xms4M -Xmx64M -Dfile.encoding=utf-8" # cacaoadm start |
目录服务器不能正确解析包含转义引号或单个转义逗号的 ACI 目标 DN。 以下示例修改会导致语法错误。
dn:o=mary\"red\"doe,o=example.com changetype:modify add:aci aci:(target="ldap:///o=mary\"red\"doe,o=example.com") (targetattr="*")(version 3.0; acl "testQuotes"; allow (all) userdn ="ldap:///self";)
dn:o=Example Company\, Inc.,dc=example,dc=com changetype:modify add:aci aci:(target="ldap:///o=Example Company\, Inc.,dc=example,dc=com") (targetattr="*")(version 3.0; acl "testComma"; allow (all) userdn ="ldap:///self";)
但是,对于具有多个转义逗号的情况,则可以正确解析。
在交互模式下使用 dpconf 命令时,该命令显示两次“输入 "cn=Directory Manager" 密码:”提示。
在法语语言环境中运行服务器管理命令时,这些命令显示的某些消息会丢失撇号。
目录服务控制中心不允许管理 PKCS#11 外部安全设备或令牌。
使用 SASL 加密时,在 Windows 系统上无法进行 SASL 验证。
指定国家/地区后,目录服务控制中心无法生成自签名的证书。
目录服务控制中心未能正确显示 userCertificate 二进制值。
设置配置属性 passwordRootdnMayBypassModsCheck 时,该属性的名称未能反映出服务器现在允许任何管理员在修改其他用户的密码时避开密码语法检查。
从 zip 分发包安装或使用 dsadm 命令安装之前,不要设置 LD_LIBRARY_PATH。
允许复制现有服务器配置的目录服务控制中心功能不允许复制插件配置。
在 Windows 系统上,dsconf 命令无法导入文件名中含有双字节字符的 LDIF。
要解决此问题,请更改 LDIF 文件名,使其不包含双字节字符。
使用在中文、日语或韩文语言环境中运行的浏览器时,由目录服务控制中心在创建服务器实例时生成的日志中包含垃圾信息。
要解决此问题,请对要创建新服务器实例的 Common Agent Container 执行以下命令。
cocaoadm stop cacaoadm set-param java-flags="-Xms4M -Xmx64M -Dfile.encoding=utf-8" cacaoadm start |
dsadm enable-service 命令与 Sun Cluster 结合使用时无法正常工作。
使用在法语语言环境中运行的浏览器时,目录服务控制中心中出现重复的撇号。
dsee_deploy 命令在将 Monitoring Framework 组件注册到 Common Agent Container 时挂起。
根 DES 上的 supportedSSLCiphers 属性列出了服务器实际不支持的 NULL 加密密码。
必须至少启动目录服务器一次,否则在系统重新启动时,dsadm enable-service 无法重新启动目录服务器。
目录服务控制中心和 dsconf 命令都不允许配置目录服务器处理无效插件签名的方式。默认行为是验证插件签名,但不要求签名有效。目录服务器会记录有关无效签名的警告。
要更改服务器行为,请调整 cn=config 中的 ds-require-valid-plugin-signature 和 ds-verify-valid-plugin-signature 属性。这两个属性的值同为 on 或 off。
目录服务控制中心不允许浏览配置为向其他后缀返回引用的后缀。
在 Windows 系统上完成安装并创建服务器实例后,安装和服务器实例文件夹的文件权限允许所有用户进行访问。
要解决此问题,请更改安装和服务器实例文件夹上的权限。
如果指定了多个实例,并且 dsadm autostart 命令对于其中一个实例执行失败,则该命令将会失败。
dsadm autostart 命令不支持在实例文件名中使用空格。
dsmig 命令没有迁移未在升级和迁移文档中标识的某些配置属性的值。
有关的配置属性如下:
nsslapd-db-durable-transaction
nsslapd-db-replication-batch-val
nsslapd-disk-low-threshold
nsslapd-disk-full-threshold
对具有大量写入负载的主副本进行整体更新后,在某些情况下未能正确设置已完成整体更新的主副本的生成 ID。因此,复制将会失败。
在 Internet Explorer 6 中使用目录服务控制中心为目录服务器启用引用模式时,确认引用模式窗口中的文本被截断。
要解决此问题,请使用其他浏览器(如 Mozilla Web 浏览器)。
创建或添加新证书后,必须重新启动目录服务器才能使更改生效。
升级副本并将服务器移动到新系统之后,必须重新创建复制协议才能使用新主机名。目录服务控制中心允许删除现有的复制协议,但不允许创建新协议。
在 Red Hat 系统上,dsadm autostart 命令不能始终确保在启动时启动服务器实例。
目录服务器未能正确处理数据库名、文件名以及路径名字符串中的中文多字节字符。
要在创建具有中文多字节字符的目录服务器后缀时解决此问题,请指定不含多字节字符的数据库名称。例如,在命令行上创建后缀时,请明确设置 dsconf create-suffix 命令的 --db-name 选项。
$ dsconf create-suffix --db-name asciiDBName multibyteSuffixDN |
不要为后缀使用默认的数据库名称。
在 Windows 系统上,将目录服务器作为服务启用时,不要使用 dsadm cert-pwd-prompt=on 命令。
即使已对使用方执行了整体更新,使用方协议上仍始终显示以下复制错误消息。
发送复制更新时出错。错误消息:复制错误 更新副本:无法启动复制会话:瞬态错误 - 无法获取支持的协议。错误代码 907。 向服务器 host:port 发送更新时出现操作状态错误。错误:更新副本时出现复制错误:增量更新会话已中止: 致命错误 - 发送扩展操作失败。错误代码:824。
要清除这些消息,请先禁用复制协议,然后再启用该复制协议。
如果在多主复制配置中停止负载较重的多主副本,则服务器可能需要几分钟的时间才能停止。
在将读写模式设置为只读的主服务器上执行导入操作后,目录服务器无法重新启动。
配置 DSML 时,dsconf 命令未提示适当的 dsSearchBaseDN 设置。
在 Windows 系统上,当实例的基名为 ds 时目录服务器无法启动。
使用 Java ES Monitoring Framework 监视 DSML 之前必须先配置 DSML。
使用在简体中文、繁体中文以及韩文语言环境下运行的浏览器时,目录服务控制中心中“服务器组”的“更多”链接不正确,因此出现应用程序错误页面。
从 zip 分发包进行安装时,dsee_deploy 命令未提供用于配置 SNMP 和流适配器端口的选项。
dsconf help-properties 命令被设置为仅在创建实例后才正常工作。此外,dsml-client-auth-mode 命令值的正确列表应该为 client-cert-first | http-basic-only | client-cert-only。
要在 Windows XP 系统上使用目录服务控制中心,必须禁用 Guest 帐户。另外,要成功通过验证,必须将注册表项 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\ForceGuest 设置为 0。
在 Solaris 和 Red Hat 系统上从 zip 分发包进行安装后,目录服务器在重新启动 Common Agent Container (cacao) 后未通过 SNMP 显示。
在 Solaris 系统上,要解决此问题,请应用目录服务器、目录代理服务器和 Directory Server Resource Kit 操作系统要求中列出的所有推荐的修补程序。
entrycmp、fildif、insync、mmldif 和 ns-accountstatus 命令的输出未本地化。
dsccmon、dsccreg、dsccsetup 和 dsccreg 命令显示的某些输出未本地化。
首次访问目录服务控制中心并注册目录服务器实例后,警告和异常会写入 Sun Java Web Console 日志。
您完全可以忽略警告无法从命令输出中检索到 "server-pid" 和异常。异常输出显示如下。
StandardWrapperValve[wizardWindowServlet]:servlet wizardWindowServlet 的 Servlet.service() 抛出异常 java.lang.IllegalStateException:提交响应后无法进行转发
在非英语语言环境下设置目录服务控制中心时,有关创建目录服务控制中心注册表的日志消息未完全本地化。某些日志消息以设置目录服务控制中心时所使用的语言环境显示。
在 Windows 系统上使用 Java ES 安装程序手动重新启动以下安装后,目录服务器未运行。 但是,任务管理器中显示目录服务器处于运行状态。在这种情况下,无法从任务管理器重新启动目录服务器。
要解决此问题,请从 logs 文件夹中删除该进程 ID 文件。
从 Directory Server 5 2005Q1 进行升级时无法执行 dsmig migrate-data -R -N 命令。
要解决自动数据迁移中出现的问题,请按照《Sun Java System Directory Server Enterprise Edition 6.0 Migration Guide》中的第 3 章 “Migrating Directory Server Manually”所述手动迁移数据。
在 HP-UX 系统上,使用 NSPR 库的应用程序在通过 gdb 进行调查后崩溃并发生核心转储。将 gdb 连接到运行的目录服务器实例,然后再使用 gdb quit 命令时会发生此问题。
通过 Internet Explorer 6 访问目录服务控制中心时,保存后缀的索引配置更改会导致出现 null 错误。该操作的进度窗口显示为冻结状态。
要解决此问题,请通过其他浏览器(如基于 Mozilla 的浏览器)访问目录服务控制中心。
通过目录服务控制中心编辑目录条目时,如果同时使用其他方法更改该条目,则在刷新显示时不会显示更改。
对于全局密码策略的“用户可更改”字段,目录服务控制中心显示错误的状态 pwd-user-change-enabled。
要解决此问题,请使用 dsconf(1M) 命令来读取 pwd-user-change-enabled 服务器属性。
$ dsconf get-server-prop -w /tmp/ds.pwd pwd-user-change-enabled pwd-user-change-enabled : off |
从 Directory Server 5.2 进行升级时,如果您的证书数据库包含不可信证书,则执行 dsmig migrate-config 命令时将会失败。如果在创建证书数据库后从未使用该数据库,并且未设置 SSL,则可能会发生此问题。
要解决此问题,请执行以下步骤。
删除新的空 Directory Server 6 实例。
重命名 Directory Server 5.2 实例所使用的 ServerRoot/alias/slapd-serverID-cert8.db 和 ServerRoot/alias/slapd-serverID-key3.db 文件。
$ cd ServerRoot/alias $ mv slapd-serverID-cert8.db slapd-serverID-cert8.db.old $ mv slapd-serverID-key3.db slapd-serverID-key3.db.old |
重新执行升级和迁移过程。
在 HP-UX 系统上,启动和停止目录服务器实例时,目录服务控制中心显示有关 null 指针异常的错误消息。该错误影响目录服务控制中心,但不影响目录服务器实例。
迁移目录服务器配置时,如果使用 -R 选项但不复制现有配置中的所有后缀,dsmig migrate-config 命令将会失败。
要解决此问题,请执行以下步骤。
停止旧服务器。
在旧的服务器实例(DN 为 cn=changelog5,cn=config 的 dse.ldif 配置文件条目)中,使用散列标记 # 注释掉以下属性。
#nsslapd-changelogmaxage: ... #nsslapd-changelogmaxentries: ...
记下这些属性的值。
使用 dsmig migrate-config 命令迁移服务器配置。
在新的服务器实例上,对于具有特定配置条目(DN 的格式为 cn=replica,cn=suffix-dn ,cn=mapping tree,cn=config)的所有后缀运行以下命令。
$ dsconf set-suffix-prop -p port suffix-dn repl-cl-max-age:old-value |
此处的 old-value 表示旧服务器实例中的 nsslapd-changelogmaxage 值。
$ dsconf set-suffix-prop -p port suffix-dn repl-cl-max-entry-count:old-value/nbr-suffixes |
此处的 old-value 表示旧服务器实例中的 nsslapd-changelogmaxentries 值。nbr-suffixes 为复制后缀的总数。
目录服务器不允许在没有启用任何其他密码策略功能的情况下单独启用密码质量检查。
要解决此问题,请在启用密码质量检查时至少再启用一种其他密码策略功能。以下示例启用了密码质量检查,同时还执行了更改密码前的最短存留期。
$ dsconf set-server-prop pwd-check-enabled:on pwd-min-age:1h |