2.5. 使用 LDAP 目录作为查找表
如果您使用轻量级目录访问协议(LDAP)服务器来存储帐户、域或别名,您可以将 Postfix 配置为使用 LDAP 服务器作为查找表。通过使用 LDAP 而不是文件进行查找,您可以有一个中央数据库。
先决条件
- 您有 root 访问权限。
-
您的服务器上已安装了
postfix
软件包。 - 您有一个具有所需模式的 LDAP 服务器和用户凭证。
-
您已在运行 Postfix 的服务器上安装了
postfix-ldap
插件。
流程
通过创建包含以下内容的
/etc/postfix/ldap-aliases.cf
文件来配置 LDAP 查找参数:指定 LDAP 服务器的主机名:
server_host = ldap.example.com
server_host = ldap.example.com
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 指定 LDAP 搜索的基础域名称:
search_base = dc=example,dc=com
search_base = dc=example,dc=com
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
可选:根据您的要求自定义 LDAP 搜索过滤器和属性。搜索目录的过滤器默认为
query_filter = mailacceptinggeneralid=%s
。
通过添加以下内容,将 LDAP 源启用为
/etc/postfix/main.cf
配置文件中的查找表:virtual_alias_maps = ldap:/etc/postfix/ldap-aliases.cf
virtual_alias_maps = ldap:/etc/postfix/ldap-aliases.cf
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 运行
postmap
命令验证 LDAP 配置,它会检查任何语法错误或连接问题:postmap -q @example.com ldap:/etc/postfix/ldap-aliases.cf
# postmap -q @example.com ldap:/etc/postfix/ldap-aliases.cf
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 重新载入
postfix
服务以应用更改:systemctl reload postfix
# systemctl reload postfix
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
验证
-
发送测试电子邮件,以验证 LDAP 查找是否正常工作。检查
/var/log/maillog
中的邮件日志是否存在任何错误。