本部分列出了在发行 Directory Server 6.2 时发现的已知问题。
如果服务器在执行联机导出、备份、恢复或索引创建时停止,目录服务器会出现崩溃现象。
从 LDIF 导入条目时,目录服务器不生成 createTimeStamp 和 modifyTimeStamp 属性。
对 LDIF 导入进行了速度优化。导入过程不会生成这些属性。要解除此限制,请添加(而非导入)条目。或者对 LDIF 进行预处理,以便在导入之前添加属性。
某些目录服务器错误消息引用了数据库错误指南的内容,但此指南并不存在。如果您无法理解某个严重错误消息的含义,并且此错误未记入文档,请与 Sun 支持人员联系。
删除软件时,dsee_deploy uninstall 命令不会停止或删除现有服务器实例。
要解除此限制,请按照《Sun Java System Directory Server Enterprise Edition 6.2 Installation Guide》中的说明执行操作。
即使已在提供方副本上清除了 pwdFailureTime 属性值,目录服务器仍在使用方副本上保留这些值。这些值在复制了 userPassword 的修改后仍会保留。
在目标后缀上使用 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 命令重新启动两台服务器。
在 dsadm show-cert instance-path valid-multibyte-cert-name 命令的输出中,包含多字节字符的证书名称显示为圆点。
目录服务控制中心将值作为字符串进行排序。因此,在目录服务控制中心中对数字进行排序时,数字将被视为字符串。
对 0、20 和 100 进行升序排序的结果为 0、100、20。对 0、20 和 100 进行降序排序的结果为 20、100、0。
无法在 DSCC 中创建路径包含多字节字符的目录代理服务器实例以启动或执行其他常规任务。
可通过用于创建该实例的字符集来解决其中的某些问题。请使用以下命令设置字符集:
# cacaoadm list-params | grep java-flags java-flags=-Xms4M -Xmx64M # cacaoadm stop # cacaoadm set-param java-flags="-Xms4M -Xmx64M -Dfile.encoding=utf-8" # cacaoadm start |
请仅在实例路径中使用 ASCII 字符以避免出现这些问题。
目录服务器不能正确解析包含转义引号或单个转义逗号的 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 外部安全设备或令牌。
在 Windows 上,SASL 验证由于以下两个原因失败:
使用了 SASL 加密。
要解决由 SASL 加密引起的问题,请停止服务器,编辑 dse.ldif,然后将 SASL 重置为以下内容。
dn: cn=SASL, cn=security, cn=config dssaslminssf: 0 dssaslmaxssf: 0 |
安装是使用本地软件包完成的。
要解决由本地软件包安装引起的问题,请将 SASL_PATH 设置为 install-dir\share\lib。
指定国家/地区后,目录服务控制中心无法生成自签名的证书。
目录服务控制中心未能正确显示 userCertificate 二进制值。
设置配置属性 passwordRootdnMayBypassModsCheck 时,该属性的名称未能反映出服务器现在允许任何管理员在修改其他用户的密码时避开密码语法检查。
从 zip 分发包安装或使用 dsadm 命令安装之前,不要设置 LD_LIBRARY_PATH。
在 Windows 上,dsadm 和 dpadm 命令的输出以及帮助消息没有使用简体中文和繁体中文进行本地化。
允许复制现有服务器配置的目录服务控制中心功能不允许复制插件配置。
在 Windows 系统上,dsconf 命令无法导入文件名中含有双字节字符的 LDIF。
要解决此问题,请更改 LDIF 文件名,使其不包含双字节字符。
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 系统上完成安装并创建服务器实例后,安装和服务器实例文件夹的文件权限允许所有用户进行访问。
要解决此问题,请更改安装和服务器实例文件夹上的权限。
在 Internet Explorer 6 中使用目录服务控制中心为目录服务器启用引用模式时,确认引用模式窗口中的文本被截断。
要解决此问题,请使用其他浏览器(如 Mozilla Web 浏览器)。
创建或添加新证书后,必须重新启动目录服务器才能使更改生效。
升级副本并将服务器移动到新系统之后,必须重新创建复制协议才能使用新主机名。目录服务控制中心允许删除现有的复制协议,但不允许创建新协议。
在 Red Hat 系统上,dsadm autostart 命令不能始终确保在启动时启动服务器实例。
配置 DSML 时,dsconf 命令未提示适当的 dsSearchBaseDN 设置。
在 Windows 系统上,当实例的基名为 ds 时目录服务器无法启动。
从 zip 分发包进行安装时,dsee_deploy 命令未提供用于配置 SNMP 和流适配器端口的选项。
要解决此问题,
使用 Web 控制台或 dpconf 启用监视插件。
使用 cacaoadm set-param 更改 snmp-adaptor-port、snmp-adaptor-trap-port 和 commandstream-adaptor-port。
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。
在本地修补程序交付中,用于选择过滤访问日志日期的小型日历未使用简体中文、繁体中文和韩文正确本地化。
schema_push、repldisc、pwdhash、ns-inactivate、ns-activate、ns-accountstatus、mmldif、insync、fildif、entrycmp、dsrepair、dsee_deploy、dsadm show-cert、dsadm repack 和 ldif 命令的输出未本地化。
dsccmon、dsccreg、dsccsetup 和 dsccreg 命令显示的某些输出未本地化。
更改系统语言环境并启动 DSCC 后,未使用选定的语言环境显示弹出式窗口消息。
在非英语语言环境下设置目录服务控制中心时,有关创建目录服务控制中心注册表的日志消息未完全本地化。某些日志消息以设置目录服务控制中心时所使用的语言环境显示。
在 Solaris 10 上的英语和日语语言环境中,DN 包含多字节字符的实例的密码验证失败。
使用 Internet Explorer 时,单击“浏览 DSCC 联机帮助”后未显示联机帮助。
目录服务器插件 API 包含 slapi_value_init()、slapi_value_init_string() 和 slapi_value_init_berval() 函数。
这些函数均需要 "done" 函数以释放内部元素。但是,公共 API 缺少 slapi_value_done() 函数。
由于某个已知问题,在 Windows 安装上没有按文档所述始终计算 nsslapd-idletimeout。
在 Unix(包括 Solaris)上,当打开新连接以及收到新数据时,将会计算 nsslapd-idletimeout,如文档中所述。
在 Windows 上,对于安全连接或 ds-start-tls-enabled 为 true 时,将以相同方式计算 nsslapd-idletimeout。但是,对于非安全连接并且 ds-start-tls-enabled 为 false 时,仅当打开新连接时才会计算 nsslapd-idletimeout。
DSCC 可能不会显示长 ACI,这取决于 Internet 服务提供者所设置的限制。
在 Linux 上,如果启动目录服务器实例的语言环境与创建该实例的语言环境不同,则多字节字符无法正确显示。
在 Solaris 10 上使用 Service Management Facility (SMF) 启用服务器实例时,重新引导系统时实例可能无法启动。
要解决此问题,请将标记有 + 的以下行添加到 /opt/SUNWdsee/ds6/install/tmpl_smf.manifest 中。
... restart_on="none" type="service"> <service_fmri value="svc:/network/initial:default"/> </dependency> + <dependency name="nameservice" grouping="require_all" \ + restart_on="none" type="service"> + <service_fmri value="svc:/milestone/name-services"/> + </dependency> <exec_method type="method" name="start" exec="%%%INSTALL_PATH%%%/bin/dsadm start --exec %{sunds/path}"... |
系统重新启动时,Directory Server Enterprise Edition Windows 服务无法启动多个服务器实例。
将 DSCC 与 Tomcat 5.5 和 JDK 1.6 组合一起使用时,可能会出现错误。
可以改用 JDK 1.5。
与 Solaris 10 捆绑在一起的 Sun Java System Application Server 无法为经过验证的机制创建 SASL 客户端连接,并且无法与 Common Agent Container 进行通信。
要解决此问题,请编辑 appserver-install-path/appserver/config/asenv.conf 文件以更改应用服务器使用的 JVM,然后将 AS_JAVA 条目替换为 AS_JAVA="/usr/java"。重新启动您的应用服务器域。
当您重新引导系统时,dsadm autostart 可能导致本地 LDAP 验证失败。
要解决此问题,请反转重新引导脚本的顺序。默认顺序为 /etc/rc2.d/S71ldap.client 和 /etc/rc2.d/S72dsee_directory。
如果通过在应用服务器上部署 Web 归档 (Web Archive, WAR) 文件来配置 DSCC,则 DSCC 版本窗口可能会显示 html 源代码。要解决此问题,请在 domain-path/domain-name/config/default-web.xml 中添加以下条目。
<mime-mapping> <extension>shtml</extension> <mime-type>text/html</mime-type> </mime-mapping> |
在 Linux 上的非英语语言环境中,DSCC 进度窗口中显示的本地化服务器消息可能会将国际字符显示为乱码。
在 Solaris 9 和 Windows 上,从使用 Web 归档文件 (WAR) 配置的控制台中访问联机帮助时,它将显示一个错误。
idsktune 命令不支持 SuSE Enterprise Linux。
如果无法在系统中进行解压缩,dsee_deploy 不会安装任何产品。
在实例的“更多视图选项”中,“访问日志”、“错误日志”和“审计日志”选项卡下面显示的日期没有进行本地化。
如果在目录服务器中将唯一性插件配置为在多个属性间使用,则在目录服务器启动过程中将显示错误。
如果在没有停止服务器实例的情况下应用 Directory Server Enterprise Edition 6.2 修补程序,dsadm info 和 dsadm stop 将在服务器运行时显示服务器已关闭。
在某些韩文和简体中文消息中没有翻译字符串 err=。
在 Solaris 上,重新启动系统后作为服务注册的实例无法启动。
要解决此问题,可以运行以下命令:
# /usr/sbin/svccfg svc:> select application/sun/ds svc:/application/sun/ds> delpropvalue start/timeout_seconds 60 svc:/application/sun/ds> delpropvalue stop/timeout_seconds 60 svc:/application/sun/ds> addpropvalue start/timeout_seconds 600 svc:/application/sun/ds> addpropvalue stop/timeout_seconds 600 svc:/application/sun/ds> quit |
在法语 dsconf 帮助中,有时错误地将目录服务器翻译为 répertoire,而不是 serveur d'annuaire。
在使用 Tomcat 服务器配置的 DSCC 中,“帮助”和“版本”弹出式窗口的标题将多字节字符串显示为乱码。
如果将配置属性 pwd-max-history-count 或密码策略属性 pwdInHistory 设置为允许的最大值 24,目录服务器实例可能会崩溃。
要解决此问题,pwd-max-history-count 或 pwdInHistory 的值不应超过 23。
在法语、德语和西班牙语中,在 dsconf enable-repl -? 命令语法中翻译了 ROLE,但在后面的 ROLE = master 字符串中没有翻译。
在德语和西班牙语的命令行界面帮助中,没有翻译字符串 INSTANCE_PATH。
在 Linux 上,如果在 /etc/security/limits.conf 文件中指定了最大文件数,则在系统重新启动时将无法启动目录服务器实例。
要解决此问题,请在 etc/init.d/dsee_directory 文件中添加以下内容。
# ulimit -Hn 65536 # ulimit -Sn 65536 |
在法语语言环境中,提示确认停止或取消注册服务器的弹出式窗口显示双撇号。