在 dovecot 中,我可以使用 LDAP 限制特定用户的公共访问,方法是使用 LDAP user_filter 和 pass_filter 查询。我想做同样的事情,以限制特定用户从远程 IP 地址发送电子邮件。
在 dovecot 中,我的 user_filter/pass_filter 如下:
(&(uid=%u)(!(accountStatus=noaccess))(employeeType=%{if;%3r;eq;10.;LOCAL;REMOTE}))
这将查询 LDAP 数据库并检查 accountStatus 字段中的“noaccess”。它还将远程 IP 地址的前三位数字与“10.”进行比较。如果 employeeType 为 REMOTE,则他可以从任何 IP 地址连接。如果 employeeType 为 LOCAL,则他只能从 10.x 网络进行连接。
有人可以建议一种使用 Postfix 身份验证来完成同样的事情的方法吗?
提前致谢。
答案1
我找到了如何在 Postfix 中使用 Dovecot 身份验证的方法。这给了我一个可以管理 IMAP 和 SMTP 身份验证的地方。
答案2
我知道,这个话题已经存在将近 4 年了,但我遇到了同样的问题:我喜欢只为 OpenLDAP 目录中具有特殊属性的某些用户授予 dovecot 的 SMTP 身份验证访问权限。我使用 user_filter 和 pass_filter 进行的所有测试均未成功 - dovecot 忽略了其他属性并简单地传递了所有身份验证请求。
user_filter = (&(userattribute=auth)(mail=%u))
相同的 ldap-query 与 ldapsearch 配合使用效果很好 - 但与 dovecot 配合使用效果不佳。有什么提示吗?
编辑:我找到了解决方案:当 auth_bind 设置为“no”并且配置了用于身份验证的用户(使用选项 dn 和 dnpass)时,Dovecot 仅使用 user_filter 和 pass_filter 选项。否则这些选项将被忽略。