Blog of Science





Original article: http://jth.net/virtual.html

Віртуальныя дамены , якія выкарыстоўваюць GNU pop3d і Postfix

GNU pop3d 0.10.2

GNU pop3d 0.10.2 гатовы. Вы можаце спампаваць яго тут GNU pop3d 0.10.2

 

 ЗМЯНЕННЯ / ГІСТОРЫЯ

 

 22 / Mar / 2014 0.10.2 Ёрген Томсен bugs@jth.net, http://jth.net/virtual.html

         новыя магчымасці

         ------------

         Падтрымка IPv6 з канфігурацыі --disable - ipv6 і падчас выканання --ipv6

 

         падтрымка POP3S з --enable-POP3S

                Ці будзе ўсталяваць рабочую канфігурацыю XINETD выкарыстаннем Stunnel вкл.  сертыфікат ўзору і ключ

                Неабходная ўмова: Xinetd і Stunnel усталяваны

         Падтрымка шыфраваных (з дапамогай C крыпты) пароляў у віртуальных даменах (не APOP тады)

 

         Daemon падтрымка запуску пашыраны --enable-сэрвіс = SERVICE

                зараз падтрымлівае канфігурацыю Sysvinit, ініцыялізацыі event.d, Systemd і аднаго INETD карыстальніка, XINETD

                 (Верагодна, не ідэальна :) Праверце ўстаноўку)

 

         каранёвай ўстаноўкі могуць быць зададзены падчас канфігурацыі --enable-ROOTDIR = DIR, а таксама

         па маркам ўсталяваць ROOT = DIR

 

         дададзеная функцыя выдалення

 

         pop3client.pl праграма для простага тэставання і стрэс-тэставанні сервера pop3

         mkpwd.pl для стварэння і / або шыфравання пароляў для віртуальных даменаў, сумяшчальных з GLibC склепа ()

 

         забіць -SIGUSR2   будзе адлюстроўваць некалькі зменных стану ў Daemon сістэмнага часопіса: Адлік дысплея і PIDS актыўных дзяцей, значэнне сцяга вызначэння спынення, а таксама колькасць сеансаў да гэтага часу.  Дзіця: адлюстраванне часу выкарыстоўваецца і каманды для падлучанага ад IP-адрасы карыстальніка Змены ------- extra.c / pop3_syslog цяпер можа ўвайсці ў STDERR (Debug = 0x1yy).  Індывідуальныя Syslog прыярытэты захоўваюцца ў pop3_syslog.  Падрабязней вядзенне часопіса з дапамогай pop3_syslog.  Скарачэнне выкарыстання бібліятэчных падпраграм ў pop3_syslog для паляпшэння стабільнасці.  Састарэлыя gethostbyname і gethostbyaddr заменены getaddrinfo і getnameinfo inet_ntoa заменены inet_ntop другі затрымкі A 1 для вяртання BAD LOGIN, каб утрымаць робатаў Праверка на наяўнасць слабых пароляў.  Дапамога тэксты ачышчаны і палепшаны.  Палепшаная ўстаноўка скрыпту - апрацоўка дадатковага дэмана запуску сістэмы - канфігурацыя POP3S з выкарыстаннем Stunnel + Xinetd - спецыфікацыя ўстаноўкі каранёвага каталога - Падтрымка IPv6 - міжсеткавы экран firewalld падтрымліваецца - функцыя выдалення Калі ласка, заўважым, што тэставанне ўстаноўкі толькі было зроблена на Linux Fedora 12, 15 , 18, 20, так што яно не можа быць дасканалым ва ўсіх выпадках.  У GNU-pop3d толькі адна праграма без якіх-небудзь неабходных канфігурацыйных файлаў можна ўручную змясціць у / USR / мясцовыя / SBIN / Gnu-pop3d і ўвайшоў у сцэнар запуску вашага сістэмных службаў кода MD5 абноўлены (Gray Уотсан) дададзеная падтрымка вялікай / зваротны парадак байт трохі Самыя апошнія GNU config.guess і config.sub усталяваны.  Памылкі фіксаванай ---------- Больш надзейнае кіраванне дзіцем (сервер заняты, DoS-напады).  Апошнія змены ў склепе або STRCMP функцый, па-відаць выклікаў бясконцы цыкл пры ўваходзе ў сістэму ў некаторых выпадках.  Увайсці з дапамогай выкрадзенай зашыфраваны пароль у віртуальных даменаў папярэджана.  07 / Люты / 2011 0.9.13 Ёрген Томсен jth@jth.net, http://jth.net Syslog рэгістрацыі з pop3_signal апрацоўшчык сігналу выклікаў працэсы вісіць асабліва падчас нападаў DoS або многімі кліентамі адначасова.  Часткова фіксавана (усё яшчэ можа адбыцца пры выкарыстанні гэтага біта (08) у масцы адладкі) Выпраўленне: некаторыя метады ўваходу не працуюць (David B. Cortarello) Глабальны дзіця лічыльнік child_procs зменены з INT на "лятучага sig_atomic_t", каб паменшыць магчымасць яна не абнаўляецца належным чынам.  Лічыльнік не заўсёды так декрементируется праграма выкарыстоўваецца толькі адзін асобнік, калі былі няправільна дасягнутую макс даччыныя працэсы.  Самыя апошнія GNU config.guess і config.sub усталяваны.  Makefile.in і configure.in палепшана і падтрымка для выяўлення працэсараў Atom і дабаўленай дадатковай падтрымкі для ўстаноўкі службы (/ і г.д. / ініцыялізацыі) свой каталог RFC выдалены як РЛК лёгка даступныя ў Інтэрнэце 26 / Apr / 2010 0.9.12 Ёрген Томсен jth@jth.net, http://jth.net магчымы двайны свабодны ад зменнай імя паштовай скрыні ў адмысловых сітуацыях, напрыклад, памылкі пры двух адначасовых лагінаў да аднаго паштовай скрыні.  config.guess і config.sub адсутнічае размеркаванне Дададзены стартавы паведамленне для сістэмнага часопіса 18 / Apr / 2010 0.9.11 Ёрген Томсен jth@jth.net, http://jth.net Праграма падтрымліваецца на платформе Linux Fedora без якіх-небудзь выпрабаванняў магчыма на іншых платформах, але са спробай пазбегнуць Linux спецыфічныя асаблівасці.  Ўдасканалення скрыпту канфігурацыі, уключаючы 64-бітную падтрымку працэсара.  Алгарытм Нэйгл (TCP Няма Затрымка) была адключаная у выніку чаго вялікае паляпшэнне ў хуткасці.  SO_REUSEADDR дададзеныя да дэману гняздо для неадкладнага паўторнага выкарыстання сокета пасля перазагрузкі.  Апрацоўка сігналаў палепшана быць больш партатыўную (sigaction) і небяспечныя выклікі, выдаленыя з апрацоўшчыка сігналу.  Спыненне пасля сігналу павінен зараз быць нашмат лепш, ня пакідаючы файлы mailbox.lock вакол.  * Памылка * пераменная шкарпэткі ў дзіцяці заўсёды было -1, а не фактычная гняздо (sock2) так pop3_signal ў дзіцяці не зачыніць сокет.  Выдаленыя сінхранізацыі () выклікае, як, напрыклад, капіраванне вялікіх файлаў на USB-дыск можа выклікаць завісанне, пакуль усе дадзеныя не былі запісаныя на дыск (некалькі хвілін) ўмоўнай кампіляцыі аператараў адладкі выдаляецца як накладныя выдаткі настолькі малая.  Параметр адладкі быў зменены на 2 шаснаццатковы лічба бітавай маскі (дзеці, дэман) і дадатковыя заявы адладкі былі ўстаўленыя.  MAXHOSTNAMELEN павялічана да 128 з-за IDNA даменных імёнаў гну-pop3d файл для /etc/event.d уключаны чалавек старонка абноўлена 18 / ліпеня / 2007 0.9.10 Ёрген Томсен jth@jth.net, http://jth.net Fcntl замак на паштовую скрыню зменены для запісу блакавання сінхранізацыі () заўсёды выклікаецца пры разблакоўцы чытання дадзеных ад кліента, калі час чакання уключаны (выбар) зараз правярае зламанай трубы занадта выклікае неадкладны выхад, калі кліент раптам знікае.  Калі паштовую скрыню быў скапіяваны ў новую паштовую скрыню, некаторыя СПМ (е, г, Постфиксное) можа працягваць пісаць у стары паштовую скрыню.  Цяпер пусты стары паштовую скрыню захоўваецца як mailbox.old і зліваецца з новым, калі не пусты пры наступным запуску.  24 / Aug / 2003 0.9.9-5 Ёрген Томсен jth@jth.net~~number=plural, http://jth.net Выпрабаванне для радкоў загалоўка не быў дастаткова строгі статус: і X-Status: лічацца роўнымі (ДЗР Беркеш) Камандныя радкі не былі сабраны ў адзін радок, калі атрымана ў выглядзе асобных TCP-пакетаў (Nicolas Gregoire) 18 / Jan / 2003 0.9.9-4 Ёрген Томсен jth@jth.net, http://jth.net Падтрымка Postfix X-Original-To : радок загалоўка для апавяшчэнні аб чытанні паведамленні.  UIDL вылічэнне больш не будзе ўключаць у сябе X- headerlines, бо яны могуць быць дададзены некаторыя mailreaders.  '%' Дапушчаецца ў якасці падзельніка замест @ у віртуальным імя карыстальніка (адрас электроннай пошты) Нязначныя ўнутраныя змены.  Дадатковая падтрымка для virtdomain.pl аўтарам (як знайсці паштовую скрыню) 18 / Кастрычнік / 2002 0.9.9-3 Ёрген Томсен jth@jth.net, http://jth.net/ Выпраўленая памылка пры дрэннай паштовай скрыні не ўтрымлівае 'From' у першым радку.  05 / Верасень / 2002 0.9.9-2 Ёрген Томсен jth@jth.net, http://jth.net/ Выпраўленне дыска поўны папярэджана зменены паштовую скрыню, які будзе запісаны ў файл .new.  Ён быў пакінуты без зменаў 04 / Верасень / 2002 0.9.9-1 Ёрген Томсен jth@jth.net, http://jth.net/ Калі паштовы скрыня не спыняе перакладу радка (калі збой пры напісанні паведамленні ў яго) бясконцы цыкл адбывалася.  Калі паштовую скрыню зменены GNU pop3d, гэта будзе выпраўлена.  Калі дыск стаў поўным пры напісанні новай паштовай скрыні ён не быў знойдзены і новую паштовую скрыню быў ўсечаным 19 / Жнівень / 2002 0.9.9 Ёрген Томсен jth@jth.net, http://jth.net/ Сумяшчальнасць з VM-pop3d PASSWD файлы, уведзеныя (не цалкам пратэставаны) Паведамленні хупавую прыпынак лавіць сігналы (SIGHUP і SIGTERM).  Апошнія штрыхі і нумар версіі зменены на 0.9.9 19 / Кастрычнік / 2001 Ёрген Томсен jth@jth.net, http://jth.net/~~HEAD=pobj Паведамленні апавяшчэнні аб чытанні паведамленні (паведамленнем аб ўручэнні, RFC 2298) Дададзена опцый канфігурацыі, каб пазбегнуць рэдагавання канфігурацыі .h у большасці выпадкаў Зменена абнаўленне паштовай скрыні ад капіявання ўсярэдзіне файла для стварэння новага файла (mailbox.new) пры неабходнасці і палепшыць капіраванне ўнутры файла.  Гэта павышае хуткасць значна асабліва для праграм, вэб-пошты.  Ўведзена падтрымка класічнага статусу: радок загалоўка RFC 2076 (падтрымліваецца ек Null Webmail http://nullwebmail.sourceforge.net/) 17 / Кастрычнік / 2001 Ёрген Томсен jth@jth.net, http://jth.net/ Паведамленні стары патч для лепшай апрацоўкі дзяцей працэсаў стварэння і смерці.  У цяперашні час ствараюцца даччыныя працэсы па меры неабходнасці і толькі бацькоўскі працэс з'яўляецца сталым.

VirtDomain 1,05

Інтэрфейс вэб-GUI з'яўляецца функцыянальным як для стандартных віртуальных даменаў Postfix і мой густ: -я віртуальных даменаў. Ён пастаўляецца як адзіная праграма Perl, whcih выклікаецца з каманднага радка, каб стварыць віртуальны дамен і ад вэб-сервера, каб кіраваць ёю. Патрабуецца нядаўні выпуск Postfix VirtDomain 1,05

 #! / USR / бен / Perl -w # *************************************** ******************************* # # Утыліта для адміністравання віртуальных даменаў у Postfix (як стандарт адны і тыя, якія вызначаны ў http://jth.net/virtual.html) # # Гэтая праграма павінна пражываюць у /var/www/cgi-bin/virtdomain.pl з глабальным # чытаць і выконваць правы (CHMOD аб + гх / Var / WWW / cgi- бен / virtdomain.pl).  # # Не забудзьцеся вызначыць $ Галоўная :: postfixadmin ніжэй!  # # Першы аргумент праграмы вызначае яе функцыю: # CREATE: выклік з каманднага радка з правамі адміністратара: стварыць віртуальны дамен шляхам абнаўлення # / і г.д. / постфикса / віртуальных і virtual_regexp # і стварэння / і г.д. / віртуальны / дамен / пароль і / вар / залатнік / віртуальны / дамен # CREATE <імя дамена> <рэальны карыстальнік адміністравання дамена> # <пароль> [постфиксное] # DELETE: выклік з каманднага радка ў якасці кораня: выдаліць віртуальны дамен шляхам абнаўлення # / і г.д. / постфикса / віртуальных і virtual_regexp # і выдаленне / і г.д. / віртуальны / дамен / пароль і / вар / залатнік / віртуальны / дамен, як # а таксама файлы .forward ў адміністратараў HomeDir # Выдаліць <імя дамена> <рэальны карыстальнік адміністравання дамена> <пароль> # <прабел> # MAILBOUNCE # калі выклікаецца з постфикса, як пошту карыстальнік @ дамен электроннай пошты на STDIN будзе апрацаваны # у адпаведнасці з наладамі карыстача ў / і г.д. / віртуальны / дамен / пароль.  # MAILBOUNCE: моцны ўдар па электроннай пошце для невядомых карыстальнікаў у адваротным выпадку захоўваць у паштовай скрыні паштмайстар # <прабел>, калі выклікаецца з постфиксе як пошце Postmaster @ дамен або <postfixadmin + паштмайстра> # з тэмай "*** Віртуальны абнаўленне дамена ***" і лініі 1 транс = UPDATE .... # карыстальнік будзе створаны / абноўлены / выдалены # у адваротным выпадку працэс электроннай пошты, як правіла, як апісана вышэй # <прабел>: калі выклікаецца з вэб-сервер адлюстроўвае вэб-старонкі, каб абнавіць карыстальніка # базу ў віртуальнай дамене е , г, http://jth.net/cgi-bin/virtdomain.pl # # у якасці асновы паштмайстар карыстальнік павінен быць вызначаны для дамена.  # У / і г.д. / віртуальнага дамена / файле пароляў /.  Прыстасаваныя і групавыя ідэнтыфікатары, як # а таксама ад гэтага хатнім каталогу карыстальніка выкарыстоўваецца для віртуальнага дамена.  # Для кожнага віртуальнага карыстальніка файл HomeDir / .forward + карыстальніка - дамен ствараецца.  # Вэб-сэрвэр меў доступ на чытанне да гэтых файлаў, а таксама # АГС / віртуальны / дамен / PASSWD файл /.  R # pop3d Deamon GNU, як падтрымліваецца мной падтрымлівае гэтую # рэалізацыю віртуальнага дамена.  # # Выкарыстоўваючы гэтую праграму, каб даставіць пошту для JTH даменаў тыпу не падыходзіць для # высокая сістэма аб'ём, як загрузка Perl-інтэрпрэтатар # мае дастаткова высокую пачатковую загрузку працэсара ў параўнанні з гэтай праграмай (90% ад агульнага часу выканання).  # Аднак, выкарыстоўваючы становішча для падлучэння ў іншай праграме для дастаўкі пошты # можа быць карысным.  Ўтыліта AWK можа быць выкарыстаны замест virtual.awk # # © 2002 Ёрген Томсен jth@jth.net, http://jth.net/virtual.html # 1.01 2002/08/22 Афіцыйны рэліз # 1.02 2003/01/24 Падтрымка для новага параметра virtual_alias_map і relay_domains паводзіны # 1.03 2003/04/26 палепшаная падтрымка мовы і выправіць URL вэб-пошты ў інфармацыі # 1.04 2003/05/30 Chars |  і "былі выдалены з форвардаў ўводу Цяпер карыстальнік не павінен увайсці |, але пачаць каманды с." # 1.05 2004-08-06 Змены, спецыфічныя для jth.net: / Var / WWW / Perl, цела фон зьмяніўся, не CGI выкарыстоўваецца # # ************************************************* *********************

Старая, але ў асноўным застаецца ў сіле

Змены ў GNU pop3d 0.9.8 
( У тым ліку некаторыя змены , якія не звязаныя з віртуальнымі даменамі , напрыклад , POP-перад-SMTP )

Грунтуючыся на маіх уласных патрэб я зрабіў патч для GNU-pop3d вар. 0.9.8 
Я таксама слухаў некаторыя з запытаў аб спісе рассылання pop3d GNU. 
Пластыр можа быць ужыты таксама, калі вам не патрэбныя рэчы віртуальнага дамена.

Basicallly Я ўзяў віртуальны-патч ад Джэрэмі Рыд , зрабіў гэта больш агульны характар ​​і дадаў свае ўласныя змены pop3d GNU:

  • дазваляючы карыстальнікам віртуальных даменаў, каб быць рэальнымі карыстальнікамі таксама з паштовымі скрынямі ў іншых месцах
  • даданне падтрымкі APOP для карыстальнікаў віртуальных даменаў
  • даданне дамена па змаўчанні, каб быць зачышчаючы, калі яны выкарыстоўваюцца для рэальнага дамена, напрыклад, "userid@domain.com~~HEAD=pobj" -> "USERID"
  • дададзеная рэгістрацыя ненулявога кодаў памылак каманд
  • дададзеная UIDL ўводзе каманды, які прадастаўляе унікальныя ідэнтыфікатары для кожнага паведамлення
  • выпраўлена вылічэнне памеру паведамлення
  • ачысціць код трохі, асабліва вызваляючы выдзеленую памяць
  • j6: дададзены "ад <IP-адрас>" да СообщениеЖурнала "Incoming адкрыта злучэнне"
  • J7: дададзены новыя тзд "заверанага IP <IP-адрас>" да MAILLOG для POP-перад-SMTP падтрымка
  • J8: выдалены (+ каментар) цалкам MAILLOG тзд "заверанага IP <IP-адрас>" 
    дадаў , што "ад <IP - адрас>" да СообщениеЖурнала "Карыстальнік% s прайшлі ідэнтыфікацыю з паштовай скрыняй% S", так што POP-перад тым , SMTP ўтыліта Беннетт Тод можа быць выкарыстаны без зменаў

Пошук паштовай скрыні карыстальнікаў выконваецца 

1.     пошук MAILSPOOLHOME (напрыклад, / галоўная / карыстальніка / Mail / паштовую скрыню) 

2.     пошук _MAILDIR (напрыклад / Var / пошты / карыстальнік) 

3.     пошук VIRTUAL_MAILDIR (напрыклад / вар / залатнік / віртуальны / дамен / карыстальнік)

4.     адмовіцца і выкарыстоўваць / DEV / нуль

Заладка GNU pop3d

У замест кожнага прымянення патчаў я зрабіў гэта.

1.     Спампаваць выпраўлены крыніца Gnu-pop3d-0.9.11.tar.gz

2.     Стварыце файл config.h па 
./configure 
або 
./configure --enable-IP на аснове віртуальныя 
(Сабе яшчэ адзін выклік ніжэй)

3.     Пры неабходнасці / хацеў вызначыць MAILSPOOLHOME (напрыклад, "/ Mail / паштовую скрыню") і / або DEFAULT_DOMAIN ў config.h

4.     Кампіляцыя, выканаўшы зрабіць

тэхнічныя змены

  • фармат файла віртуальнага дамена пароля была зробленая роўнай стандарту / і г.д. / пароль фармат файла 
    Імя карыстальніка: Пароль: ідэнтыфікатар карыстальніка: (ідэнтыфікатар групы) :( імя карыстальніка): каталог паштовых скрынь: (абалонкі) 
    што дазваляе яму быць праверана з дапамогай каманды pwck напрыклад, 
    pwck -r /etc/virtual/domain.com/passwd 
    Поля, зняволеныя ў круглыя ​​дужкі не выкарыстоўваюцца. Каталог паштовых скрынь павінен быць '.' калі не выкарыстоўваецца
  • падтрымка APOP была адключаная ў 0.9.8 размеркавання. Ён зноў ўключаецца за выключэннем выпрабаванні, што карыстальнік APOP не павінна быць дазволена выкарыстоўваць каманду USER для ўваходу. Гэта не лагічна, так як карыстальнікі могуць выкарыстоўваць розныя паштовыя праграмы, каб праверыць пошту. Некаторыя з іх могуць не падтрымліваць APOP
  • зыходны віртуальны патч выкарыстоўвае зашыфраваныя паролі ў файле пароляў. У мэтах падтрымкі APOP з таго ж файла паролі зараз у незашыфраваным выглядзе
  • унікальны-ідэнтыфікатар паведамлення вылічаецца як MD5 дайджэста на першапачатковы "Ад" -линии і ўсе радкі загалоўка адхіленні неабходнасць дадатковага Message-ID: -Пол
  • даўжыня лініі буфера павялічана з 80 да 160 знакаў, каб пазбегнуць чытання радкі з 2 fgets-званкі ў большасці выпадкаў. Людзі, якія выкарыстоўваюць прапарцыйных шрыфтоў можа лёгка перавысіць 80 знакаў / лінія
  • дадаў: "UIDL" да магчымасцяў, прадстаўленым камандай CAPA
  • дадаў паведамленне "Authenticated IP ABCD" для MAILLOG, а таксама IP-адрасы "Уваходныя адкрыта злучэнне" для POP-перад-SMTP падтрымка 

Рэалізацыя віртуальных даменаў у Postfix і GNU pop3d

Прычынай адмовы ад выкарыстання стандартных віртуальных даменаў Postfix з'яўляюцца падвойнымі: 
1) гэтая рэалізацыя факусуюць на віртуальных даменаў з кожным сваім уласным адміністратарам 
2) наступныя абмежаванні (цытата з дакументацыі Postfix (курсіў мой)): 
Гэты агент быў першапачаткова на аснове мясцовага агента дастаўкі Postfix. Змены ў асноўным складаліся з выдалення кода , які альбо не ўжываецца або , што было не бяспечна ў гэтым кантэксце: псеўданімы, ~ карыстальнік / файлы .forward, дастаўка "| каманда" ці к / файлу / імя

Ніжэй паказаны адзін з спосабаў рэалізацыі віртуальнага дамена, kvt.dk, у Postfix і GNU pop3d. 
Kvt_dk рэальны карыстальнік быў вызначаны ў сістэме. Хатні каталог гэтага карыстальніка змяшчае некаторыя дадзеныя для дамена kvt.dk віртуальнага. 
Два карыстальніка вызначаюцца на kvt.dk: abc@kvt.dk~~dobj (віртуальны карыстальнік толькі) і kvt@kvt.dk~~dobj (рэальны kvt_dk карыстальніка на паштовым сэрвэры) 
Рэалізацыя заснавана на RedHat Linux 7.0 

GNU pop3d

Джэрэмі чароце арыгінальнае апісанне віртуальнага патча

Віртуальны патч мяркуе наступныя структуры файлаў: 
/ І г.д. / віртуальны / <дамен> / пароль 
для вызначэння карыстальнікаў, паролі і каталог паштовых скрынь

У гэтым прыкладзе стварыць /etc/virtual/kvt.dk каталога

Па змаўчанні паштовую скрыню для віртуальнага карыстальніка з'яўляецца 
/ Var / залатнік / віртуальны / <дамен> / <карыстальнік>

У гэтым прыкладзе стварыць /var/spool/virtual/kvt.dk каталога

На маім сэрвэры пошты захоўваецца ў хатнім каталогу карыстальніка / галоўная / <USR> / Mail / паштовую скрыню патрабуе вызначэння MAILSPOOLHOME ў config.h. 
У мяне таксама ёсць толькі адзін IP-адрас, і хачу, каб мой асноўны дамен "jth.net", якія будуць аўтаматычна выдалены з паштовых запытаў да GNU pop3d.

Я стварыў файл config.h камандай

./configure --enable-64bit --enable-Maildir -enable-змаўчанню дамена = jth.net --enable-мова = DA

Перад зборкай GNU pop3d я пераканаўся наступныя канстанты былі вызначаны ў config.h:

#define MAILSPOOLHOME "/ Mail / паштовую скрыню" 
#define USE_VIRTUAL 1 
#define DEFAULT_DOMAIN "jth.net"

/etc/virtual/kvt.dk/passwd

Стварыце гэты файл са наступным змесцівам 
квт: kvtpasswd: 601: 100: kvtname: / Галоўная / kvt_dk /: 
аЬс: abcpasswd: 601: 100: ABCname:.:

601 з'яўляецца ідэнтыфікатар карыстальніка kvt_dk. 100 у идентификатор_группы (група пошты на маім серверы). '.' HomeDir для аЬс проста зрабіць pwck шчаслівым. 
Пошта для kvt@kvt.dk~~pobj дастаўляецца ў / галоўная / kvt_dk / Mail / паштовую скрыню (глядзіце ніжэй). 
Пошта для abc@kvt.dk~~pobj дастаўляецца /var/spool/virtual/kvt.dk/abc

Калі вы давяраеце карыстачу kvt_dk, а затым стварыць файл PASSWD ў хатнім каталогу карыстальніка kvt_dk. і звязаць яго ў каталог /etc/virtual/kvt.dk 
зав -s / галоўная / kvt_dk / PASSWD /etc/virtual/kvt.dk/passwd

Звярніце ўвагу, што можа прадстаўляць пагрозу для бяспекі тут, таму што GNU pop3d будзе выконвацца з любым ідэнтыфікатарам карыстальніка, названага ў файле пароляў. Ці з'яўляецца гэта рэальная пагроза яшчэ трэба прааналізаваць.

Уладальнік і правы доступу на файлы і каталогі павінны быць kvt_dk.mail і 700, напрыклад, 
CHMOD 700 /etc/virtual/kvt.dk /etc/virtual/kvt.dk/passwd /var/spool/virtual/kvt.dk 
Чаун kvt_dk.100 /etc/virtual/kvt.dk /etc/virtual/kvt.dk/passwd /var/spool/virtual/kvt.dk

постфикс

Гэтая рэалізацыя можа быць больш складаным, чым іншыя, але гэта дазваляе розным адміністратарам кожнага віртуальнага дамена трымаць усё ў хатнім каталогу адміністратара дамена.

/etc/postfix/main.cf

recipient_delimiter = + 
home_mailbox = Mail / паштовую скрыню 
allow_mail_to_commands = наперад 
allow_mail_to_files = наперад

/ Галоўная / kvt_dk

-RW-R - r-- 1 kvt_dk амаль 12 10 снежня 02:52 .forward 
-RW-R - r-- 1 kvt_dk амаль 25 Снж 10 01:55 .forward + abc--kvt.dk 
-RW-R - r-- 1 kvt_dk амаль 20 10 снежня 02:53 .forward + kvt--kvt.dk

/home/kvt_dk/.forward

| "Выхаду 67"

Адмоваў любы паведамленне не abc@kvt.dk~~pobj або kvt@kvt.dk~~pobj

/home/kvt_dk/.forward+abc--kvt.dk

| / USR / мясцовыя / бен / віртуальны

Даставіць ўсю пошту для abc@kvt.dk да дамену паштовай скрыні віртуальнай для сіп змяняючы Delivered-To: радок загалоўка да правільнага.

/home/kvt_dk/.forward+kvt--kvt.dk

/ Галоўная / kvt_dk / Mail / паштовую скрыню

Даставіць ўсю пошту для kvt@kvt.dk~~pobj ў паштовую скрыню kvt_dk

/ І г.д. / постфикса / віртуальны

kvt.dk нічога 
postmaster@kvt.dk наглядчык 
webmaster@kvt.dk -я

Рэальныя карыстальнікі: наглядчык і павінны атрымліваць -я ўсю пошту для паштовага аддзялення і вэб-майстру віртуальнага дамена

/ І г.д. / постфикса / virtual_regexp

/^(.+)@(.+\.)?(kvt\.dk)$/ kvt_dk + $ 1 - $ 2 $ 3

Гэты выраз выкліча Постфиксное даставіць любую пошту з x@kvt.dk~~V і Адрасы, тэлефоны y@z.kvt.dk~~V рэальнага карыстальніка kvt_dk захаваннем зыходнага атрымальніка канверта ў якасці дадатку да новага адрасе атрымальніка.

/ USR / мясцовыя / бен / віртуальны

AWK -F: -f /usr/local/bin/virtual.awk

/usr/local/bin/virtual.awk

# J. Томсен 2002/04/11 Postfix ўтыліты 
# /usr/local/bin/virtual.awk 
# 
# Выкарыстоўваецца Postfix для дастаўкі пошты ў GNU-pop3d віртуальнага дамена 
# Паштовы скрыню. 
# 
# Postfix будзе выкарыстоўваць гэтую ўтыліту для дастаўкі паведамленні на лакальны 
# Паштовага скрыні перазапісу Пастаўлены-да радка загалоўка да зыходнага атрымальніку 
# Адрас. 
# 2002/04/11 Fix 'З' радкі ў сбщ цела і дадаць пусты радок у паведаміўшы для забеспячэння падзелу паведамленняў 
# 

Дастаўка віртуальнага дамена паштовага скрыні, напрыклад, abc@def.kvt.dk ў /var/spool/virtual/kvt.dk/abc. 
Delivered-To: загаловак зменены, каб утрымліваць зыходны адрас атрымальніка канверта (пасля магчымай змены па псеўданімамі).