域与电子邮件域不同的 Active Directory 上的用户名 Ldapsearch
Usename Ldapsearch on Active Directory where AD Domain is different from email domain
我在 Debian 11 中使用 Ldap 对域 mandala.com 的 MS Active Directory 的 Postfix 用户进行身份验证。该请求使用用户的电子邮件 edmond@example.com 通过此脚本进行搜索:
<code>
server_host = 192.168.2.3
search_base = dc=example,dc=com
version = 3
bind = yes
start_tls = no
bind_dn = vmail
bind_pw = mypass
scope = sub
query_filter = (&(objectclass=person)(userPrincipalName=%s))
result_attribute= userPrincipalName
result_format = %d/%u/Maildir/
debuglevel = 1
</code>
问题是 Postfix 使用用户的电子邮件 edmond@example.com,而在 Ad 上用户是 edmond@mandala.com,因此找不到收件人。
如果我 运行 在命令行上使用 dc=mandala、dc=com 找到用户的 ldapsearch。
我通过邮件属性解决了
<code>
query_filter = (&(objectclass=person)(mail=%s))
result_attribute= mail
<code>
我在 Debian 11 中使用 Ldap 对域 mandala.com 的 MS Active Directory 的 Postfix 用户进行身份验证。该请求使用用户的电子邮件 edmond@example.com 通过此脚本进行搜索:
<code>
server_host = 192.168.2.3
search_base = dc=example,dc=com
version = 3
bind = yes
start_tls = no
bind_dn = vmail
bind_pw = mypass
scope = sub
query_filter = (&(objectclass=person)(userPrincipalName=%s))
result_attribute= userPrincipalName
result_format = %d/%u/Maildir/
debuglevel = 1
</code>
问题是 Postfix 使用用户的电子邮件 edmond@example.com,而在 Ad 上用户是 edmond@mandala.com,因此找不到收件人。
如果我 运行 在命令行上使用 dc=mandala、dc=com 找到用户的 ldapsearch。
我通过邮件属性解决了
<code>
query_filter = (&(objectclass=person)(mail=%s))
result_attribute= mail
<code>