Я настраиваю сервер CentOS с Virtualmin и Postfix, и я пытаюсь использовать LDAP для хранения пользователей unix, групп, псевдонимов Postfix и виртуальных доменов. Я слежу инструкции с сайта Webmin.
Я создал домен LDAP и настроил Postfix для получения псевдонимов и виртуальных доменов из LDAP, но для этого мне пришлось настроить postfix для аутентификации с помощью основной учетной записи LDAP, cn=Manager,dc=mydomain,dc=com
. Это кажется ужасной идеей, потому что эта учетная запись имеет доступ к пользователям и группам, доступ к которым postfix не требуется.
Как я могу создать новую учетную запись LDAP для Postfix, которая имеет доступ только к деревьям LDAP, которые необходимы Postfix?
Вам нужно сделать две вещи:
Чтобы добавить простую запись для 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 и их интерпретации. Следите за порядком, в котором они находятся, это важно!
Эта часть из "LDAP для ученых-ракетчиков" объясняет, как настроить ACL для частей вашего дерева LDAP-серверов.