LDAP(slapd)创建有权访问特定树的用户

LDAP(slapd)创建有权访问特定树的用户

我正在使用 Virtualmin 和 Postfix 设置 CentOS 服务器,并尝试使用 LDAP 存储 unix 用户、组、Postfix 别名和虚拟域。我正在关注Webmin 网站上的说明

我已经创建了一个 LDAP 域,并配置了 Postfix 以从 LDAP 获取别名和虚拟域,但为了做到这一点,我必须将 postfix 配置为使用主 LDAP 帐户进行身份验证。cn=Manager,dc=mydomain,dc=com这似乎是个糟糕的主意,因为该帐户可以访问用户和组,而 postfix 不需要访问这些内容。

如何为 Postfix 创建一个只能访问 Postfix 所需的 LDAP 树的新 LDAP 帐户?

答案1

你需要做两件事:

  1. 在 LDAP 目录中创建一个 Postfix 可以绑定(连接)的对象
  2. 在 OpenLDAP 的配置中写入 ACL,以允许此用户绑定,并根据需要搜索树

要为 Postfix 添加简单条目,请使用图形 LDAP 浏览器(例如Apache 目录工作室或者使用命令行工具ldapadd。像这样添加一个对象:

dn: cn=postfix,ou=Applications,dc=mydomain,dc=com
cn: postfix
objectClass: simpleSecurityObject
objectClass: organizationalRole
userPassword: {SSHA}n+aYhO/TOitWkyMp9v/fe5ndtOhY0/3U

最后一行是您要使用的密码的哈希值,通过 slappasswd 实用程序生成:

$ slappasswd -s secret
{SSHA}n+aYhO/TOitWkyMp9v/fe5ndtOhY0/3U

完成后,向您的 slapd.conf 添加一些 ACL,如下所示:

access to dn.sub="dc=mydomain,dc=com" attrs=userPassword
    by anonymous auth

access to dn.sub="ou=people,dc=mydomain,dc=com"
    by dn.exact="cn=postfix,ou=Applications,dc=mydomain,dc=com" read

查看OpenLDAP 管理指南有关访问控制的章节了解有关编写 ACL 及其解释的更多详细信息。注意它们的顺序,这很重要!

答案2

这部分“火箭科学家的 LDAP”解释了如何为 LDAP 服务器树的各个部分设置 ACL。

相关内容