Дополнительные возможности

Дополнительное ПО.


Настройка POP3 сервера (qmail-pop3d).

 Если у Вас до сего времени использовался pop3 сервер, то он будет продолжать работать с почтовыми ящиками в формате Mailbox ($HOME/Mailbox), если только Вы сделали символические ссылки из /var/spool/mail/$HOME на $HOME/Mailbox (хотя, как Вам наверное известно, pop3 сервер в своем исходном виде страшно дырявая штука).

 Родной qmail POP3(qmail-pop3d) сервер по соображениям безопасности и сохранности работает только с почтой, находящейся в каталоге в формате maildir. Поэтому, если Вы хотите использовать pop3 с qmail, необходимо перейти на новый формат почтовых ящиков - maildir.

 Последовательность работы qmail в общем случае следующая. Программа qmail-popup (после вызова inetd) принимает имя пользователя и пароль по сети, после чего вызывает программу checkpassword, производящую авторизацию пользователей. При успешной авторизации checkpassword устанавливает переменные окружения $USER, $SHELL и $HOME, далее запускает программу qmail-pop3d, которая устанавливает pop3-соединение между почтовым клиентом и почтовым каталогом пользователя ($HOME/Maildir).

Порядок настройки qmail-pop3 сервера:
 

  1.  Установка программы авторизации - пакет checkpassword (возможны варианты применения других типов авторизации - см. qmail home - раздел 'checkpassword'):

  2. a) компиляция программы и создание форматированных страниц руководства
    # make
    b) установка программ и страниц руководства
    # make setup check
    c) тестирование программы
    - задайте неверный POP login:
    # /var/qmail/bin/qmail-popup host /bin/checkpassword pwd
    +OK <...@host>
    user levshaaa
    +OK
    pass aaalevsha
    -ERR authorization failed
    - задайте верный POP login; Вы должны, вместо сообщения об ошибке, увидеть домашний каталог для данного account-a
     
  3.  Проверка, что в /etc/services присутствует строка

  4. pop3 110/tcp
     
  5.  Добавление (все на одной строке, включая два qmail-popup!)

  6. pop3 stream tcp nowait root /var/qmail/bin/qmail-popup qmail-popup
    YOURHOST /bin/checkpassword /var/qmail/bin/qmail-pop3d Maildir
    в /etc/inetd.conf, заменив YOURHOST на полное имя Вашей машины; пошлите inetd сигнал HUP.
  7. Установка доставки в Maildir для всех пользователей, желающих получать почту через POP3 (см. раздел FAQ - дополнительно). Если Вы хотите переместить имеющуюся почту из файла в формате mbox в каталог в формате maildir (заодно создав каталог maildir), можно воспользоваться программкой mbox2maildir. Для чтения почты с помощью привычных MUA (mailx, mail) можно использовать алиасы следующего вида (tcsh, файл .aliases):

  8. alias mlq='/var/qmail/bin/maildir2mbox; mailx -f ~/Mailbox'
Если у Вас инсталлирован tcpserver, пропустите конфигурирование inetd и внесите (в две строки, заменяя YOURHOST как для inetd и /bin/checkpassword на тот, что реально используется в Вашей системе)
tcpserver 0 pop3 /var/qmail/bin/qmail-popup YOURHOST \
/bin/checkpassword /var/qmail/bin/qmail-pop3d Maildir &

После этого перезапустите qmail.
Рекомендуется использовать программы типа tcp-wrapper для защиты от возможных попыток подслушивания регистрационной информации пользователей. Можно использовать другие типы авторизации для общения с почтовой системой при использовании pop3.


IMAP и qmail.

 IMAP (Internet Message Access Protocol) - метод доступа к электронной почте, расположенной на почтовом сервере. При этом почтовые сообщения физически остаются на сервере, а программы псевдо-клиенты имеют возможность обрабатывать их без необходимости передачи сообщений на машину клиента.

 Как известно, qmail по умолчанию доставляет почтовые сообщения в файл формата mbox, расположенный в домашнем каталоге пользователя $HOME/Mailbox. Предположим, что у Вас происходит именно так, и Вы хотите использовать данный файл при IMAP сеансах.

 IMAP сервер по умолчанию предоставляет возможность клиенту производить запросы по манипуляциям с почтой, находящейся в файле в формате mbox: /var/spool/mail/$USER. Если Вы оставите в использовании прежний IMAP сервер, то при подключении псевдо-клиентская программа (Netscape Messenger) будет производить запрос к серверу по открытию каталога, указанного в настройке IMAP клиента в поисках файлов в формате mbox, затрачивая некоторое количество лишнего времени. Можно, в принципе, указать в настройках IMAP клиента в качестве почтового пути на сервере $HOME/Mailbox и, по идее, конфигурация на этом должна успешно завершиться.
Но, если у Вас до сего времени не использовался IMAP, стоит при установке явно указать IMAP клиенту запрашивать у сервера соединения с файлом $HOME/Mailbox. Для этого необходимы некоторые простые изменения с исходных кодах IMAP сервера.

Порядок настройки IMAP сервера (для ОС Solaris 2.5):
 

  1. Скачайте программное обеспечение и документацию для IMAP сервера.

  2.  

     

  3. Раскройте полученный архив imap-4.5.BETA.tar.Z

  4.  

     

  5. Найдите в файле imap-4.5.BETA/Makefile трехбуквенное обозначение типа Вашей операционной системы, например - gso.

  6.  

     

  7. Исправьте файл imap-4.5.BETA/src/osdep/unix/env_unix.c в соответствие с описанным в imap-4.5.BETA-qmail.patch

  8.  

     

  9. Скомпилируйте программы, используя программу make с аргументом - обозначением типа Вашей операционной системы, например

  10. # make gso
     
     
  11. Установите IMAP демона imapd/imapd в системный каталог по Вашему выбору, например в /usr/local/etc/.

  12.  

     

  13. Добавьте в файл /etc/services информацию о сервисе IMAP:

  14. imap 143/tcp
     
     
  15. Добавьте информацию для вызова IMAP демона в файл /etc/inetd.conf указав полный путь к программе imapd (все на одной строке!):

  16. imap stream tcp nowait root /usr/local/etc/imapd imapd
     
     
  17. Пошлите демону inetd сигнал HUP:

  18. # killall -HUP inetd
     
     
Теперь осталось настроить соответствующим образом программу псевдо-клиента для IMAP, например, Netscape Messenger 4.5 - и вперед.
Возможно использование MUA pine в качестве 'клиента' для обработки почтовых сообщений при работе IMAP с qmail, причем доступен патч для pine, позволяющий получать доступ к каталогу в формате maildir.
Настоятельно рекомендуется использовать программы типа tcp-wrapper для предотвращения попыток нелегального проникновения в систему. Фактически, при удачной авторизации существует возможность, используя протокол (ACAP), по которому происходит общение с работающим демоном imapd через соответствующий порт (143), получить доступ к системным файлам. 


Использование сервера в качестве пересыльщика почты.

По соображениям безопасности qmail-smtpd отбрасывает сообщения для хостов, не перечисленных в конфигурационном файле control/rcpthosts при использовании Вашей машины в качестве пересыльщика почты. Существует возможность разрешить некоторым клиентам использовать Ваш почтовый сервер в качестве пересыльщика почты (mail relay). Рассмотрим два из возможных варианта обеспечения данной возможности.

Использование tcpserver.

  1. Установите tcpserver, являющийся частью пакета ucspi-tcp. Процесс установки описан в файле INSTALL полученного Вами архива ucspi-tcp-0_84_tar.gz.

  2.  

     

  3. Создайте файл /etc/tcp.smtp, содержащий

  4. 1.2.3.6:allow,RELAYCLIENT=""
    127.:allow,RELAYCLIENT=""
    Эти строчки разрешат smtp-соединение клиентам с IP адресами 1.2.3.6 и 127.*.
     
     

  5. Выполните

  6. tcprules /etc/tcp.smtp.cdb /etc/tcp.smtp.tmp < /etc/tcp.smtp

     При этом файл базы данных /etc/tcp.smtp.cdb должен иметь права доступа 644, а файл /etc/tcp.smtp - лучше 600.
     
     

  7. Запустите qmail-smtpd под управлением tcpserver.

  8. Для этого закомментируйте строку с smtp в файле /etc/inetd.conf. Перезапустите inetd (killall -HUP inetd). Выполните из командной строки, а также добавьте следующую строку:

    tcpserver -R -x /etc/tcp.smtp.cdb -u 7770 -g 2108 0 smtp /var/qmail/bin/qmail-smtpd &

    в стартовые файлы Вашей системы ( в файл запуска qmail ). Здесь 7770 - UID, а 2108 - GID qmaild.
    Опция -R необязательна, она сообщает tcpserver не производить ident запрос к машине-отправителю о регистрационном имени пользователя, отправившего почтовое сообщение.
    Если Вы хотите изменить число одновременно возможных процессов qmail-smtpd (например, увеличить до 80), используйте опцию tcpserver -c 80 , по умолчанию это число равняется 40.
    Не забудьте & в строке файла запуска qmail-smtpd.

Использование tcp-wrapper.

  1. Установите пакет tcp-wrapper (вместе с hosts_options!)
  2. Замените в файле /etc/inetd.conf строчку с qmail-smtpd на

  3. smtp stream tcp nowait qmaild /usr/local/bin/tcpd /var/qmail/bin/tcp-env
    /var/qmail/bin/qmail-smtpd
    (все на одной строке) и пошлите inetd сигнал HUP.
     
     

  4. Добавьте в файл hosts.allow для tcpd строку, делающую для указанных клиентов пустую строку значением переменной среды RELAYCLIENT:

  5. tcp-env: 1.2.3.4, 1.2.3.5: setenv RELAYCLIENT
    где 1.2.3.4 и 1.2.3.5 - IP-адреса клиентов.
    qmail-smtpd игнорирует control/rcpthosts, если установлена эта переменная Эта программа добавляет RELAYCLIENT к каждому служебному адресу получателя (envelope recipient address).


Отдельные POP3 эккаунты и альтернативная авторизация.

При работе с почтовой системой qmail имеется возможность заведения пользователей с отдельными POP3 эккаунтами без использования системных эккаунтов. Рассмотрим, что для этого необходимо сделать. Замечу, что далее везде подразумевается текущий каталог /var/qmail (или иной, определенный до установки домашний каталог qmail).
  1. Добавить в конец файла control/rcpthosts домен pop.ru (на который будет приходить почта для POP3 пользователей без системных эккаунтов), чтобы разрешить qmail принимать почту для данного домена.

  2.  

     

  3. Добавить виртуальный домен в файл control/virtualdomains следующим образом, при этом вся почта, приходящая на домен pop.ru будет переправляться пользователю pop-ru (см. FAQ):

  4.  pop.ru:pop-ru

  5. Отредактировать файл users/assign, добавив в него информацию о пользователях, которые будут иметь отдельные POP3 эккаунты для домена pop.ru. Каждая строка в этом файле должна выглядеть следующим образом (например, для пользователя account с будущим почтовым адресом [email protected]):

  6.  =pop-ru-account:popuser:1001:1111:/var/qmail/popboxes/account:::

    Здесь popuser - идентификационное имя пользователя в файле /etc/passwd, которое будет использовано для всех POP3 пользователей, 1001 и 1111 - UID и GID данного пользователя user, /var/qmail/pop3/account - каталог, в котором qmail будет искать файл .qmail для последующей обработки почты, приходящей на адрес [email protected]. Данный каталог должен иметь права доступа 0700 его владелец - popuser (UID - 1001, GID - 1111). Знак '=' в начале строки обеспечивает возможность данному пользователю принимать почту на адреса [email protected] (см. информацию о списках рассылки). Часть pop-ru-account означает комбинацию использующегося виртуального домена и POP3 пользователя account.
    Последняя строчка в файле user/assign должна содержать единственный символ '.'
    После этого необходимо выполнить команду для перестроения файла базы данных users/cdb, содержащем сведения из user/assign в бинарном формате:

     # /var/qmail/bin/qmail-newu

  7. Если Вы хотите использовать qmail-pop3d, необходимо перейти на формат почтовых ящиков Maildir (см. пункт о настройке qmail-pop3d). После чего нужно в первой строке файла /var/qmail/popboxes/account/.qmail записать:

  8.  ./Maildir/

    Это будет означать использование каталога /var/qmail/popboxes/account/Maildir и соответствующего формата почтового ящика для POP3 пользователя account.
     
     

  9. Теперь встает вопрос о программе, которая будет производить авторизацию POP3 пользователей. Один из стандартных вариантов - использование пакета checkpassword. В данном случае резонно использовать отдельный файл с паролями POP3 пользователей. Предлагается применять пакет checkpassword, исправленный в соответствие с патчем. Подправленный таким образом checkpassword вначале производит поиск пользователя в файле /etc/passwd, после чего просматривает альтернативный файл с паролями (в данном патче - /var/qmail/users/poppasswd). Формат альтернативного файла с паролями следующий:

  10.  pop_login:crypted_password:real_login:path

    Например, для POP3 пользователя с pop-логином account, системным логином popuser и 'домашним' каталогом, содержащим файл .qmail - /var/qmail/popboxes/account строка в данном файле будет выглядеть следующим образом (второе поле содержит зашифрованный пароль POP3 пользователя account):

     account:I5zMOM3LREGQA:popuser:/var/qmail/popboxes/account

    Но, как известно, с qmail можно использовать различные типы авторизации (см. qmail home - раздел checkpassword), поэтому предложенный вариант не является единственно возможным.
    Для добавления новых POP3 пользователей в альтернативный файл паролей /var/qmail/users/poppasswd можно использовать программку htpasswd, поставляемую с Web-сервером apache с последующим форматированием полей для приведения их к надлежащему виду.

После проделанных манипуляций резонно проверить корректность работы системы. Но сначала - перезапустите qmail для зачитывания измененных конфигурационных файлов. Теперь произведем тестирование (110 - порт POP3):
  # telnet mailhost 110
  USER account
  PASS accountpwd
  LIST
  RETR 1
  QUIT
Если все в порядке - можно открывать новый hotmail.com, ну или mail.ru - кому как нравится... Замечу, что при этом сохраняется POP3 сервис и для системных пользователей с авторизацией по файлу /etc/passwd.


Информационные ресурсы на английском языке.

Информационные ресурсы на русском языке.


Зеркала сайта http://www.qmail.org.

  США     АЗИЯ/ОКЕАНИЯ     ЕВРОПА     МИР
Главный сайт
Калифорния 1
Калифорния 2
Индиана
Нью-Джерси
Нью-Йорк
Орегон
Пенсильвания
Вирджиния
  Австралия 1
Австралия 2
Австралия 3
Китай
Гонконг
Индонезия
Япония 1
Япония 2
Япония 3
Корея
Тайвань
 
Австрия
Бельгия 1
Бельгия 2
Великобритания
Чехия 1
Чехия 2
Дания
Эстония
Финляндия
Германия 1
Германия 2
Греция 1
Греция 2
Венгрия
Италия
  Нидерланды
Норвегия
Польша 1
Польша 2
Польша 3
Португалия 1
Португалия 2
Румыния
Россия
Швеция 1
Швеция 2
Швейцария
Великобритания 1
Великобритания 2
  Бразилия 1
Бразилия 2
Канада

Использована информация с сайта http://www.qmail.org
Author Logo
© 1998,99 by Alexey Abramov, OO "RUXY".
e-mail: [email protected]