Teradata对接Windows Server 2016 LDAP配置报错求助
Teradata 对接 Windows Server 2016 LDAP 配置错误排查
错误码分析与对应排查方向
错误 1: 0xe3000233 - No matching canonicalizations available
这个错误核心是身份搜索无法匹配到目标用户,结合新旧LDAP环境差异,优先检查以下点:
- IdentitySearch 的 Base 路径不匹配:配置中
LdapServerRealm="mydomain.ldap",但IdentitySearch的Base="dc=ncratleos,dc=ldap",与新LDAP域后缀不一致。旧LDAP域可能为ncratleos.ldap,新环境需将Base修正为dc=mydomain,dc=ldap,确保能搜索到目标用户。 - 用户匹配规则验证:用
ldapsearch直接测试LDAP搜索,确认sAMAccountName=${1}能匹配到用户my_name:ldapsearch -x -h 123.123.123.123 -p 389 -b "dc=mydomain,dc=ldap" "(sAMAccountName=my_name)"
错误 2: 0xe3000232 - Error in the acquired cache entry
该错误与LDAP绑定账户的缓存或配置有效性相关,重点排查:
- 绑定账户的DN有效性:
LdapServiceFQDN和LdapSystemFQDN均设置为cn=tauqer,ou=Users,ou=TDLDAP,dc=mydomain,dc=ldap,需确认该账户在Windows LDAP中存在,且拥有读取用户/组信息的权限。可通过ldapsearch测试绑定:ldapsearch -x -h 123.123.123.123 -p 389 -D "cn=tauqer,ou=Users,ou=TDLDAP,dc=mydomain,dc=ldap" -W -b "dc=mydomain,dc=ldap" "(objectClass=user)" - 密码配置正确性:
LdapServicePassword="configured"是占位符,需替换为tauqer账户的实际明文密码,同时确保该账户密码未过期、符合复杂度要求。 - 缓存清理:Teradata会缓存LDAP绑定信息,清理后重新测试:
rm -rf /opt/teradata/tdat/tdgss/cache/*
配置片段的关键修正建议
针对你提供的配置,以下是必须调整的项:
- 统一域后缀配置
将所有涉及域的路径修正为与LdapServerRealm一致:
<IdentitySearch Match="(.*)" Base="dc=mydomain,dc=ldap" <!-- 修正为新LDAP的域后缀 --> Scope="subtree" Filter="(sAMAccountName=${1})" /> <AuthSearch ObjectClass="group" <!-- Windows AD组的objectClass为小写group,而非Groups --> Scope="subtree" NamingAttribute="cn" Base="dc=mydomain,dc=ldap" <!-- 同步修正域后缀 --> >
- 完善AuthSearch映射规则
空的AuthSearchMap会导致组权限无法正确映射,添加基础映射规则:
<AuthSearchMap Match="regex" Pattern="(.*)" Replace="\1"/>
- 验证绑定账户权限
确保tauqer账户在Windows Server AD中被授予:
- 读取所有用户对象的权限
- 读取所有组对象的权限
- 允许simple绑定(若使用
LdapClientMechanism="simple")
测试注意事项
- 避免用root运行测试命令,切换到Teradata服务用户(如
tdata)执行:su - tdata /opt/teradata/tdgss/bin/tdgssauth -u my_name -m ldap -i 123.123.123.123 - 先执行
tdgsstestcfg检查配置文件语法是否正确,再进行认证测试。
内容的提问来源于stack exchange,提问作者Ahmad786
相关产品推荐
相关产品推荐

