由于我们使用的软件与 Unix 交互的方式,当我设置某个应用程序与 LDAP 交互时,我需要使用 Posix 属性而不是普通 LDAP 属性。
到目前为止,我发现的是,对于authentication.ldap.groupObjectClass
我必须使用posixgroup
而不是 ,group
并且对于authentication.ldap.userObjectClass
我必须使用posixuser
而不是user
。
authentication.ldap.groupMembershipAttr
我的问题是,诸如我必须设置为member
或authentication.ldap.usernameAttribute
我已设置为 之类的事情怎么办sAMAccountName
? 有什么方法可以查询我的 LDAP 架构以查看这些设置的选项?
抱歉,这个问题太荒谬了。我是一名 Hadoop 管理员,主要与 Unix 交互,因此我对 LDAP 没有太多经验,所以我肯定缺乏理解。
让我尝试提供更多细节。我们正在设置 LDAP 代理,目前其中有一个错误,解决方法是使用 posix 信息。
例如,如果我使用以下搜索过滤器,(&(objectCategory=group)(sAMAccountName=groupname))
偶尔会为成员输出 GUID、SID 和 CN/OU 路径,而不仅仅是 CN=User、OU=my、OU=container、DC=my、DC=domain
如果我使用搜索过滤器(&(objectclass=Posixgroup)(cn=groupname))
,唯一遇到的就是正确的 CN/OU/DC 路径,并且不会遇到错误。本质上,我正在尝试更新 Ambari(Hadoop 的管理服务)以使用正确的 LDAP 设置来反映此搜索过滤器中使用的内容,因此当用户同步时,同步不会遇到错误并失败。
当前用户/组属性和值
authentication.ldap.baseDn=DC=my,DC=domain,DC=com
authentication.ldap.bindAnonymously=false
authentication.ldap.dnAttribute=DC=my,DC=domain,DC=com
authentication.ldap.groupMembershipAttr=memberUid
authentication.ldap.groupNamingAttr=cn
authentication.ldap.groupObjectClass=posixgroup
authentication.ldap.managerDn=CN=username,OU=Application Accounts,DC=my,DC=domain,DC=com
authentication.ldap.managerPassword=/path/to/file
authentication.ldap.pagination.enabled=false
authentication.ldap.primaryUrl=my.ldap.proxy:389
authentication.ldap.referral=follow
authentication.ldap.secondaryUrl=my.ldap.proxy:389
authentication.ldap.useSSL=false
authentication.ldap.userObjectClass=posixuser
authentication.ldap.usernameAttribute=cn
组 LDAP 字符串示例
CN=MYGROUP,OU=Groups,DC=my,DC=domain,DC=com
用户 LDAP 字符串示例
cn=username,ou=northamerica,ou=user accounts,dc=my,dc=domain,dc=c om
答案1
LDAP 有点复杂,所以如果你不知道你的目录服务器是什么,或者它用于什么应用程序,那么就无法准确地推荐你需要的东西,但你可以尝试cn
一下authentication.ldap.usernameAttribute
memberUid
authentication.ldap.groupMembershipAttr