我的 中有以下内容~/.ldaprc
:
uri ldaps://my.corporate.ldap.server.com
base DC=corp,DC=companyname,DC=com
bindn CN=Ruben,OU=Users,OU=companyname,OU=SE,OU=Resources,DC=corp,DC=companyname,DC=com
目前我可以通过搜索
ldapsearch -x -W '(displayName=Ruben*)` sAMAccountName
有什么方法可以避免每次都通过-x
?如果我不包括,它会尝试使用 SASL,但man ldap.conf
帮助不大。是否有任何SASL_MECH
或值SASL_*
可用于触发“使用简单身份验证而不是 SASL”行为?
答案1
如果你的 shell 使用 bash,你可以定义一个别名:
alias ldapsearch='ldapsearch -x'
(其他 shell 也支持别名,但是每个 shell 的定义都不同)
现在,无论何时运行ldapsearch
它都会被替换为ldapsearch -x
,所以现在您要输入的是ldapsearch -W '(displayName=Ruben*)' sAMAccountName
答案2
我不知道有什么方法可以强制简单绑定,但可以得到或多或少的与使用 SASL DIGEST-MD5 的简单绑定相同的行为像这样:
# ~/.ldaprc
uri ldaps://my.corporate.ldap.server.com
base DC=corp,DC=companyname,DC=com
sasl_mech DIGEST-MD5
SASL_NOCANON on
SASL_AUTHCID rubelagu
SASL_REALM
VERSION 3
其中SASL_AUTHCID
通常是您的用户名(sAMAccountName
如果您使用的是 Active Directory,则为 )。 在我的情况下SASL_REALM
是空字符串,我使用SASL_NOCANON
来阻止 ldapsearch 发送digest-uri
,因为ldap/1.1.1.1
Active Directory 会在这种情况下抱怨The digest-uri does not match any LDAP SPN's registered for this server.
,而SASL_NOCANON on
digest-uri 将是ldap/my.corporate.ldap.server.com
Active Directory 所期望的