Віртуальні поштові скриньки Postfix є непоганою альтернативою персональним скриньок для кожного користувача в системі. Особливо це зручно, коли ваш поштовий сервер обслуговує десятки або навіть сотні користувачів. Зрозуміти принцип роботи віртуальних ящиків вам допоможе ця стаття. У ній розглянуті основні параметри Postfix, а також налаштування операційної системи, необхідні для виконання завдання.
Знайти більше інформації про Postfix ви можете в основній статті по його настройці - Налаштування Postfix .
Вступ
Для великих поштових серверів абсолютно непрактично використовувати в Postfix системні облікові записи для відправки / доставки пошти. Набагато логічніше в такому випадку скористатися віртуальними поштовими скриньками. Для цього необхідно змінити ряд налаштувань Postfix і підготувати оточення ОС.
Також як і попередні, ця стаття не пропонує готове рішення, яке запрацює відразу після виконання керівництва. Мета статті - показати принцип використання віртуальних поштових скриньок, розглянувши для цього лише найнеобхідніші етапи і відкинувши зайвий сміття, що не належить до тематики.
Віртуальні поштові скриньки Postfix
Всі поштові дані повинні зберігатися на диску (якщо поштовий сервер не використовується тільки як релей). Якщо Postfix використовує системні облікові записи, поштова інформація кожної з них зберігається на диску під їх же унікальними ідентифікаторами. Але що робити, коли використовуються віртуальні поштові скриньки, для кожного з яких системні учеткі не створюються?
Відповідь проста - ми повинні якось повідомити Postfix про те, щоб він зберігав поштові дані під якоїсь певної обліковим записом операційної системи. Для цього використовуються параметри virtual_uid_maps і virtual_gid_maps. Вони задають унікальні ідентифікатори користувача і групи, з правами яких необхідно зберігати корисні дані. Зрозуміло також доведеться вказати і окремий каталог для зберігання пошти.
Приступимо.
Відкриваємо конфиг Postfix:
nano / etc / postfix / main .cf
додаємо параметри:
virtual_uid_maps = static: 5000
virtual_gid_maps = static: 5000
virtual_minimum_uid = 5000
virtual_mailbox_base = / var / vmail
Тепер докладніше про кожен.
- virtual_uid_maps - Карти з зіставленням користувачів і їх унікальних ідентифікаторів. Як і інші карти, вони можуть приймати будь-які доступні типи. Оскільки я планую зберігати всі дані під одним користувачем, логічно вибрати тип static і вказати унікальний ідентифікатор користувача (uid).
- virtual_gid_maps - Аналогічно virtual_uid_maps, але тільки для груп.
- virtual_minimum_uid - Мінімальний ідентифікатор користувача, який може використовуватися для збереження даних. Обмеження підвищує рівень безпеки, не дозволяючи нічого зберігати під привілейованими або системними обліковими записами, які зазвичай мають ідентифікатор від 0 до 100. Налаштування за замовчуванням значення рівне 100 (перевірте у себе командою postconf -d | grep virtual_minimum_uid) і у мене використовується скоріше для перестраховки. В принципі зі статичними virtual_uid_maps і virtual_gid_maps використання параметра virtual_minimum_uid не має великого сенсу.
- virtual_mailbox_base - Задає розташування поштової БД.
Ну а тепер настав час зайнятися створенням групи, користувача і каталогу з необхідними параметрами. Насамперед створимо групу:
користувача:
useradd vmail - g vmail - u 5000 - d / home / vmail - m
Ну і наостанок каталог, відразу змінивши його власника:
chown - R vmail: vmail / var / vmail
Якщо ви налаштовували Postfix по моїй статті Установка Postfix на Debian , То вам також треба змінити значення параметра mydestination, оскільки тепер ваші домени являють собою віртуальні домени і зберігаються в окремій базі даних MySQL, яку автоматично створив і налаштував PostfixAdmin (див. Статтю Налаштування зв'язки Postfix PostfixAdmin ). А ось що говорять розробники з приводу цього:
NEVER list a virtual MAILBOX domain name as a mydestination domain!
NEVER list a virtual MAILBOX domain name as a virtual ALIAS domain!
Тому ставимо параметру значення:
mydestination = localhost. $ mydomain, localhost, localhost.localdomain
Теоретично можна залишити взагалі тільки localhost, адже в параметрі virtual_mailbox_domains в минулій статті ( Налаштування зв'язки Postfix PostfixAdmin ) Я встановив карту mysql. Тобто тепер всі записи про обслуговуваних доменах зберігаються в окремій базі даних MySQL.
Є зміни і в інших параметрах, наприклад в принципі відпадає необхідність в myhostname і mydomain, можна залишити тільки myorigin, в значенні якого визначити ім'я основного домену. І все у вас буде працювати, адже значень за замовчуванням ніхто не відміняв (див. Команду postconf -d). Проте залишати конфігурацію зовсім без цих двох параметрів не зовсім правильно, оскільки той же myhostname є основою для безлічі інших. Та й хто його знає що буде в значеннях за замовчуванням в наступній версії Postfix. Саме тому краще все ж залишити як є:
myhostname = mail.bissquit.com
mydomain = bissquit.com
myorigin = $ mydomain # значення за замовчуванням - $ myhostname
Налаштування віртуальних поштових скриньок на цьому закінчується.
висновок
Для настройки віртуальних поштових скриньок вам потрібно створити користувача, під яким Postfix буде зберігати всю поштову інформацію на диск. Не забудьте виділити для нього окремий каталог і встановити на нього потрібні права. Щоб Postfix коректно працював зі сховищем, ви повинні повідомити йому унікальні ідентифікатори користувача і його основної групи, а також примусово задати місце розташування сховища.
Нагадую, що стаття не ставить за мету надати 100% робочі конфігурації, а написана перш за все для освітлення принципу роботи віртуальних поштових скриньок в Postfix. Робочі конфіги будуть викладені пізніше.
UPD 08.06.2016: а ось і відтестовані конфіги як і обіцяв:
Пізніше будуть ще.
comments powered by HyperComments Але що робити, коли використовуються віртуальні поштові скриньки, для кожного з яких системні учеткі не створюються?