Wirtualne konta w Postfiksie

Idea wirtualnych kont w Postfiksie polega na umożliwieniu dostarczania poczty do kont użytkowników, którzy nie są systemowymi użytkownikami (nie posiadają wpisu do /etc/passwd, nie posiadają katalogu domowego itp.). Dzięki takiemu rozwiązaniu możemy zwiększyć bezpieczeństwo systemu ale również w przypadku obsługi ogromnej ilości kont pocztowych zwiększyć wydajność. Oczywiście osobny problem to odebranie poczty od takich użytkowników. 😉

Do działania kont wirtualnych konieczne jest stworzenie katalogu w którym będzie ona zapisywana (co jest oczywiste). Należy jednak określić kto do tego katalogu może pisać a kto nie. Najlepiej stworzyć specjalnego użytkownika, na prawach którego będzie to obsługiwane.

debian:/var/log# addgroup --system --gid 1005 vmail
Adding group `vmail' (1005)...
Done.
debian:/var/log# adduser --disabled-password --uid 1005 --gid 1005 --disabled-login --gecos "Mail user" vmail
Adding user `vmail'...
Adding new user `vmail' (1005) with group `vmail'.
Creating home directory `/home/vmail'.
Copying files from `/etc/skel'
debian:/var/log#

Wygląd map

Wygląd map w formacie dla skrzynek mbox:

Nazwa domeny #nazwa domeny 
krzysztof.jozwiak@linuxexpert.pl  ziutus22
krzysztofjozwiak@linuxexpert.pl  ziutus22

Wygląd map w formacie dla skrzynek Maildir

Nazwa domeny #nazwa domeny 
krzysztof.jozwiak@linuxexpert.pl  ziutus22/
krzysztofjozwiak@linuxexpert.pl  ziutus22/

Jak widać o formacie skrzynek decyduje koncowy slash przy nazwie użytkownika, gdy go nie ma jest to mailbox, gdy jest oznacza Maildir. Postfix samodzielnie utworzy skrzynki w formacie mailbox lub Maildir.

Mapy z bazy danych MySQL

Włączenie obsługi kont virtualnych ogranicza się do zdefiniowania następujących zmiennych:

virtual_mailbox_domains = mysql:/etc/postfix/mysql-virtual_domains.cf
virtual_mailbox_maps = mysql:/etc/postfix/mysql-virtual_mailboxes.cf
virtual_mailbox_base = /home/vmail/
virtual_uid_maps = static:1005        # [VMAIL-UID]
virtual_gid_maps = static:1005        # [VMAIL-GID]

Zmienne virtual_uid_maps i virtual_gid_map określają właśnie użytkowników, na prawach których wiadomości będą zapisywane do określonych plików lub katalogów (u nas jest to sztywno zdefiniowany użytkownik vmail)

Różnica między virtual_alias_maps a virtual_mailbox_maps

Różnica między virtual_alias_maps a virtual_mailbox_maps (i oczywiście virtual_alias_domains i virtual_mailbox_domains) jest taka, że pierwsza oznacza mapowanie użytkownika istniejącągo w systemie a drugie wskazuje plik lub katalog, do którego poczta powinna być zapisana. .

Dodaj komentarz