有时,N2L 服务器会记录与内部 LDAP 问题相关的错误,并生成与 LDAP 相关的错误消息。尽管这些错误不是致命的,但是它们指明有问题需要检查。例如,N2L 服务器可能会继续工作,但是会提供过时或不完整的结果。
本节介绍了一些在实现 N2L 服务时可能遇到的常见 LDAP 错误消息。也包括错误说明、造成这些错误可能的原因和解决方案。
Administrative limit exceeded
错误号:11
Cause: 执行的 LDAP 搜索大于目录服务器的 nsslapd-sizelimit 属性所允许的大小。将仅返回部分信息。
解决方法: 增大 nsslapd-sizelimit 属性的值,或者对失败的搜索实施 VLV 索引。
Invalid DN Syntax(DN 语法无效)
错误号:34
Cause: 尝试写入的 LDAP 项的 DN 包含非法字符。N2L 服务器尝试对 DN 中生成的非法字符(如 + 号)转义。
解决方法: 检查 LDAP 服务器错误日志,找出写入的非法 DN,然后修改生成了非法 DN 的 NISLDAPmapping 文件。
Object class violation(对象类违规)
错误号:65
Cause: 试图写入无效的 LDAP 项。通常,出现此错误是由于缺少 MUST 属性,以下任一情况都可能会导致此错误:
NISLDAPmapping 文件中存在导致所创建的项缺少属性的错误
尝试向不存在的对象添加 AUXILIARY 属性
例如,如果仍未从 passwd.byxxx 映射建立用户名,向该用户添加辅助信息的尝试也会失败。
解决方法: 对于 NISLDAPmapping 文件中的错误,检查在服务器错误日志中写入的内容,以确定问题的性质。
Can't contact LDAP server(无法联系 LDAP 服务器)
错误号:81
Cause: ypserv 文件可能未正确配置,指向了错误的 LDAP 目录服务器。或者,目录服务器当前可能未运行。
解决方法: 重新配置并确认。
重新配置 ypserv 文件,使其指向正确的 LDAP 目录服务器。
要确认 LDAP 服务器正在运行,请键入:
% ping hostname 5 | grep "no answer" || \ (ldapsearch -h hostname -s base -b "" \ "objectclass=*" >/dev/null && echo Directory accessible)
如果服务器不可用,则会显示以下消息:no answer from hostname。如果 LDAP 服务器有问题,则会显示以下消息:ldap_search: Can't connect to the LDAP server - Connection refused。最后,如果一切正常,则会显示以下消息:Directory accessible。
Timeout
错误号:85
Cause: 通常,在从 DIT 更新映射时,LDAP 操作会超时。该映射当前可能包含过时的信息。
解决方法: 在 ypserv 配置文件中增大 nisLDAPxxxTimeout 属性的值。