Serwer pocztowy Postfix może korzystać z map katalogowych udostępnianych przez usługę katalogową LDAP. Dzięki temu w jednym miejscu możemy trzymać informacje o naszych użytkownikach, domenach itp.
Instalacja oprogramowania
Debian
Z względów praktyczno-leniwych polecam używanie dystrybucji umożliwiających instalację oprogramowania z pakietów. Przykładem takiej dystrybucji jest Debian . W tej dystrybucji musimy zainstalować pakiet o nazwie postfix-ldap, po jego instalacji program będzie już wspierał pobieranie map z serwerów LDAP
Centos 6
Standardowy pakiet postfix „postfix”
Mapa virutal z katalogu LDAP
Spis domen obsługiwanych z katalogu LDAP można odczytywać w Postfix następująco:
#cat /etc/postfix/ldap_domains.cf server_host=ldap://127.0.0.1 server_port=389 search_base = ou=Domains,dc=linuxexpert,dc=pl query_filter = (&(ObjectClass=dNSDomain)(dc=%s)) result_attribute=dc debuglevel=0 version=3 bind=yes bind_dn="cn=Manager,dc=linuxexpert,dc=pl" bind_pw=XXX
Nastomiast informacje o użytkownikach:
[root@vz13505 postfix]# cat ldap_users.cf server_host=ldap://127.0.0.1 server_port=389 search_base = dc=linuxexpert,dc=pl query_filter=(mail=%s) result_attribute=uid debuglevel=0 version=3 bind=yes bind_dn="cn=Manager,dc=unix4you,dc=net" bind_pw=XXX
Testowanie pobierania danych z katalogu LDAP
Polecenie postmap z przełącznikiem -q (query) umożliwia sprawdzanie czy w podanej mapie istnieje podany podany wpis.
postmap -q "krzysztof.jozwiak@linuxexpert.pl" ldap:/etc/postfix/ldap/local_recipents.cf
Testowanie poleceniem ldapsearch
Testować można również sam katalog ldap, czy mamy poprawne dane:
ldapsearch -x -h localhost -b "dc=pracownicy,dc=linuxexpert,dc=pl" "(&(objectclass=CourierMailAccount)(mail=alexandra.jozwiak@linuxexpert.pl))" ldapsearch -x -h localhost -b "ou=workers,dc=lab2,dc=linuxexpert,dc=pl" -LLL "mail=*" mail
W Internecie
- http://www.postfix.org/ldap_table.5.html – strona pomocy systemowej man dotyczącej map pobieranych z katalogów LDAP