微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Dovecot 允许某些用户从 Active Directory 进行身份验证

如何解决Dovecot 允许某些用户从 Active Directory 进行身份验证

我正在设置 dovecot-ldap,并且能够针对 Active Directory 进行身份验证。但是我想限制只有某些用户可以登录

dovecot-ldap.conf

hosts = x.x.x.x
base = dc=xxxx,dc=local
ldap_version = 3
dn = xxxx/administrator
dnpass = xxxx
auth_bind = yes
auth_bind_userdn = %u
user_attrs = sAMAccountName=user
user_filter = (&(ObjectClass=person)(sAMAccountName=mail1))

我想限制只有用户“mail1”可以登录

显然它不起作用。我仍然可以使用用户“mail2”登录

我可以拥有来自 Active Directory 的数千个用户,但是我的最终目标是只允许用户“mail1”能够登录,所有其他用户都不能登录

解决方法

我能找到的最好的是https://wiki.dovecot.org/Authentication/RestrictAccess

就像 SQL 一样,你可以在 pass_filter 中使用 %s,例如:

pass_filter = (&(objectClass=posixAccount)(uid=%u)(service=%s)) 

这需要同时设置 service=pop3 和 service=imap 用户对象的属性。

附加的 (service=%s) 指令可防止任何未明确定义“服务”的用户进行任何形式的访问(imap、pop、smtp、...)。除了“服务”,您可以在方便时使用任何属性,只需确保它包含您打算提供给您所谈论的特殊用户的服务。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。