Cyrus IMAP сървър

Материал от Xgu.ru

Съдържание

[редактиране] Сайръс

  • Благодарение на възможността за използване на множество шпули, той ви позволява да заобиколите ограниченията на файловата система за броя на вложените директории (важно за голям брой потребители).
  • Убийство на Cyrus- позволява ви да разпространявате йерархията на пощенските кутии в различни сървъри (без излишък).
  • Mupdate- позволява ви да правите главна репликация -> реплика (от версия 2.3).
  • Споделени пощенски кутии- споделени папки, можете да конфигурирате нивото на достъп.
  • Условен МАГАЗИН(Condstore) - RFC 4551.

[редактиране] Разни

[редактиране] Местоположение на файлове и папки

  • Данните за папките, абонирани за потребителя, се съхраняват във файла /var/imap/user/login_first_letter/login.sub (FNAME_SUBSSUFFIX ".sub" в mboxlist.c);
  • Всяка макара създава "сцена". за обработка на временни файлове, "domain" за виртуални домейни и "user" за съхраняване на първични акаунти.
  • За виртуални домейни: /var/imap/domain/first_domain_letter/domain/user/login_first_letter/login.sub;
  • "first_letter_of_login" = "q" ако символът не принадлежи към [a-z], подобно за "first_letter_of_domain" (функция dir_hash_c в util.c);
  • Ако unixhierarchysep = "/", всички знаци "." в данните за влизане се заменят (функция mboxname_hiersep_tointernal в mboxname.c) с "^" (DOTCHAR в mboxname.h), домейните се изписват така, както са.
  • Имената на не-ASCII папки се съхраняват съответно в UTF-7 и могат да бъдат прекодирани обратно с командата
  • чрез промяна на символа "&" до "+".
    • Ако създадете папка с потребителско име в /var/imap/log, към нея ще бъдат добавени имап регистрационни файлове.

    [редактиране] Виртуални домейни

    Разделът не е писан.

    [редактиране]cyrus.conf

    Разделът не е писан.

    [редактиране] imapd.conf

    [редактиране] Сигурност

    anyoneuseracl- позволява на не-администратори да задават ACL за всеки (всеки) в своите пощенски кутии. Активирано по подразбиране.imapidresponse- ако е разрешено, в отговор на командата ID, сървърът връща: версия, доставчик, url-адрес за поддръжка, os, версия на os, команда, аргументи, среда. Ако не е включено, връща NIL. Активирано по подразбиране.информация за сървъра

    [редактиране] IMAP тестване

    или с telnet:

    [редактиране] Репликация на Cyrus

    Използва се протоколът Mupdate (RFC 3656). Позволява главна репликация --> реплика (от версия 2.3). Fastmail.fm стартира през 2006 г. и работи оттогава (от началото на 2010 г.).

    Ако сървърът "реплика" не е наличен, главният сървър поддържа регистър на промените, след което при първа възможност нулира промените в реплика. Можете да стартирате репликация ръчно паралелно с работеща основна.

    Примерна конфигурация можете да намерите тук (на руски).

    [редактиране] Убийството на Сайръс

    Позволява ви да разпространявате йерархията на пощенските кутии между различни сървъри (без излишък).

    [редактиране] Помощни програми

    [редактиране] chk_cyrus

    Cyrus идва с помощната програма chk_cyrus. Позволява ви да поставите отметка във всички кутии, или отделен дял, или една кутия.

    Грешките и всяко отстраняване на грешки се записват в stderr, имената на кутиите, съдържащи грешки, се записват в stdout, така че е по-добре незабавно да пренасочите изхода към файл и да изчакате да бъде попълнен, след което да преминете през намерените кутии с ръцете си.

    [редактиране] реконструирам

    Помощна програма за възстановяване на пощенска кутия, която може да работи рекурсивно.

    [редактиране] Синтаксис

    [редактиране] Описание

    [редактиране] Опции

    [редактиране]Примери

    [редактиране] ctl_mboxlist

    Операции с потребителската база данни (обикновено /var/imap/mailboxes.db).

    • -d— изхвърля базата данни в текстов формат.
    • -u— чете базата данни от stdin. Форматът трябва да съответства на изхода на-d.
    • -v— проверка на съответствието между базата данни и реалните пощенски кутии. Ще бъдат върнати пощенски кутии, които присъстват в базата данни, а не в дяловете, и присъстват в дяловете и имат правилния cyrus.header, а не в базата данни. Имайте предвид, че тази функция изисква много I/O файлове.

    [редактиране] клекнал

    squatterе помощна програма, която създава SQUAT индекси за пощенските кутии на Cyrus.

    Индексът се създава във файла cyrus.squat.tmp и след успешно завършване автоматично се преименува на cyrus.squat. Това гарантира, че не засягаме никого, който работи със стария отворен индекс.

    [редактиране] Cyradm

    cyradm е шел за администриране на Cyrus, който е интерфейс за perl модула Cyrus::IMAP::Shell (безполезно е да търсите в CPAN, идва с Cyrus).

    [редактиране] Синтаксис

    cyradm [--user потребител] [--[no]rc] [--systemrc файл] [--userrc файл] [--port n] [--auth механизъм] [--tlskey ключов файл] [--notls] [--server] сървър

    perl -MCyrus::IMAP::Shell -e 'run("myscript")'

    или дори (не се препоръчва)

    [редактиране] Описание

    Cyradm е обвивка около Cyrus::IMAP::Admin perl модула. Командните опции могат да бъдат Tcl-съвместими или GNU стил.

    [редактиране] Команди

    "authenticate" ["--minssf" N] ["--maxssf" N] [списък "--mechanisms"] [потребител]"auth" ["--minssf" N] ["--maxssf" N] [списък "--mechanisms"] [потребител]"login" ["--minssf" N] ["--maxssf" N] ["--mechanisms" list] [user]Удостоверяване на сървъра. Трябва да сте свързани към сървъра. Cyrus няма да ви даде опция за повторно удостоверяване, ако вече сте удостоверени.

    Директория "chdir"Директория "cd"Промяна в директория. Няма вградена команда "pwd", но действието по подразбиране е да се изпълни "pwd" от обвивка.

    "createmailbox" ["--partition" partition] пощенска кутия"createmailbox" дял на пощенска кутия"create" ["--partition" partition] пощенска кутия"create" mailbox partition"cm" ["--partition" partition] пощенска кутияДял на пощенска кутия "cm"Създайте пощенска кутия (пощенска кутия) по подразбиране или посочения раздел (дял). Можете да използвате както старите, така и опциите за стил getopt, но не и двете.

    идентификатор на пощенска кутия "deleteaclmailbox" [. ]идентификатор на пощенска кутия "deleteacl" [. ]идентификатор на пощенска кутия "dam" [. ]Премахнете ACL от посочената пощенска кутия.

    пощенска кутия "deletemailbox"пощенска кутия "delete"пощенска кутия "dm"Изтриване на пощенска кутия.

    Администраторите обикновено нямат разрешение да изтрият пощенска кутия. Използвайте командата setaclmailbox, за да дадете разрешение "x" на вашия акаунт, ако искате да изтриете пощенска кутия, която не е ваша.

    Обърнете внимание, че онлайн помощта допуска незадължителен аргумент за хост. този аргумент не се използва в момента и ще бъде отхвърлен с грешка, ако е посочен; той е запазен за IMSP.

    Права за идентификатор на пощенска кутия "setaclmailbox" [права за идентификатор . ]Права за идентификатор на пощенска кутия "setacl" [права за идентификатор . ]"sam" пощенска кутия id права [id rights . ]Задайте ACL на пощенската кутия. ACL може да бъде в следната форма: "няма", "четене" ("lrs"),„публикуване“ („lrsp“), „добавяне“ („lrsip“), „запис“ („lrswipkxte“), „изтриване“ („lrxte“), „всички“ („lrswipkxte“) или произволна комбинация от ACL:

    • lТърсене (пощенската кутия ще бъде видима за командите за пощенска кутия LIST/LSUB, SUBSCRIBE)
    • rПрочетете (ИЗБЕРЕТЕ/ПРЕГЛЕДАЙТЕ пощенската кутия, изпълнете СТАТУС)
    • sSeen (задайте/изчистете \SEEN флаг чрез STORE, също така задайте \SEEN флаг по време на APPEND/COPY/FETCH BODY[. ])
    • wЗапишете флагове, различни от \SEEN и \DELETED
    • iВмъкване (ДОБАВЯНЕ, КОПИРАНЕ местоназначение)
    • pПубликуване (изпращане на имейл до пощенска кутия)
    • kСъздаване на нова пощенска кутия (СЪЗДАВАНЕ на нови подпощенски кутии, родителска за нова пощенска кутия в RENAME)
    • xИзтриване на пощенска кутия (ИЗТРИВАНЕ на пощенска кутия, старо име на пощенска кутия в ПРЕИМЕНУВАНЕ)
    • tИзтриване на съобщения (задайте/изчистете \DELETED флаг чрез STORE, също така задайте \DELETED флаг по време на APPEND/COPY)
    • eИзпълнете EXPUNGE и expunge като част от CLOSE
    • aАдминистриране (SETACL/DELETEACL/GETACL/LISTRIGHTS)

    "listmailbox" ["--subscribed"] [шаблон [референция]]"списък" ["--subscribed"] [модел [референция]]"lm" ["--subscribed"] [модел [референция]]Списък на всички или всички абонирани пощенски кутии, отговарящи на посочения шаблон. Моделите могат да съдържат '*' и '%', които съответстват на всеки знак или нещо различно от разделители.

    Полученият списък може да бъде относителен към посочения, ако е даден. Това позволява списък с пощенски кутии да бъде ограничен до част от йерархия.

    В някои случаи, когато знакът '%' се използва в края на шаблон, той може да върне записи, които не са пощенски кутии, но може да съдържат други пощенски кутии (напр. ?). В този случай записът ще бъде в скоби, което показва, че това е коренът задруги пощенски кутии и не е самата пощенска кутия.

    [редактиране] Автоматично влизане

    Разделът не е писан.

    [редактиране] Как да

    Влезте от името на желания потребител или администратор:

    Разглеждаме ACL списъка на кутията:

    Вземете списък с папки:

    Получаваме списък с папки, за които потребителят е абониран:

    Разрешете на всички достъп до папката („Споделена“):

    Откажете на всички достъп до папка („споделена“):

    [редактиране] SASL

    Вижте също: SASL в wikipedia, rfc2222 - Обикновено ниво на удостоверяване и сигурност (SASL).

    • Конфигурацията за всяко приложение е в /usr/lib/sasl2/XXX.conf (във FreeBSD /usr/local/lib/sasl2/XXX.conf), където XXX е името на приложението.
    • SASL опциите за Cyrus са посочени в imapd.conf, започвайки със sasl_

    saslauthdе SASL сървърът за удостоверяване.

    • -a authmech - механизъм за удостоверяване. Например getpwent (от локален файл с парола), shadow (от локален файл с парола за сянка), pam, rimap (на отдалечен IMAP сървър), sasldb (в който случай трябва да се посочи pwcheck_method auxprop) или ldap;
    • -r - обединяване на сфера с влизане;
    • -d - режим на отстраняване на грешки;

    saslpasswd2е помощна програма за добавяне/премахване на потребители.

    • -c - създава запис за потребител, който не съществува в системата;
    • -d Изтрива записа за потребителя.

    sasldblistusers2- изброява потребителите в SASL базата данни (обикновено /etc/sasldb2). Това не е списък на всички потребители в /etc/passwd, shadow, PAM и т.н., а само тези, създадени в SASL (използвайки saslpasswd2). Настроики:

    • -f файл използва файл за sasldb;
    • -v отпечатайте версията на libsasl2 и излезте.

    testsaslauthd-u потребителско име -p парола - помощна програма за тестване на SASL. Паролата се предава несигурно като аргумент на командния ред.

    pluginviewer- списък на заредените SASL добавки и техните свойства.

    • -a — списък наauxpropдобавки;
    • -s - списък със сървърни добавки;
    • -c - списък с клиентски добавки;

    [редактиране] Сито

    Използва се TCP порт 2000:

    Нищо не се съхранява в базата данни, всички данни се съхраняват в йерархичната файлова структура /var/imap/sieve (параметър "sievedir:" в imap.conf). Блокирането не е предвидено. В поддиректории, първата буква от потребителското име. В същото време скриптовете на потребители, чиито данни за влизане не започват с буква, се съхраняват в /var/imap/sieve/q. Също '.' в влизането се заменя с '^' (скрипт за преименуване на инструменти/convert-sieve.pl).

    Директорията трябва да съдържа "defaultbc" - символна връзка към компилирания (sieve bytecode) активен скрипт (script.bc). Оригиналният текст на скрипта (script.script) също се съхранява в папката. Останалите скриптове в директорията се считат за неактивни.

    Пакетът включва скрипта инструменти/massievec за масово компилиране на sieve скриптове, компилира със sievec.

    [редактиране] Опции за сито в imapd.conf

    потребител/.сито.

  • anysievefolder - ?
  • autosievefolders - ?
  • [редактиране] ManageSieve

    [редактиране] Cyrus::SIEVE::managesieve

    Perl модул за управление на ситови филтри. Има много богата документация (вижте man Cyrus::SIEVE::managesieve)

    [редактиране] Инструменти на трети страни

    • mbsync - позволява ви да синхронизирате IMAP4 и Maildir пощенски кутии.
    • imapsync - за синхронизиране на IMAP пощенски кутии.
    • cyrus-utils е набор от помощни програми. Кой има отзиви?

    [редактиране] Бележки

    • http://cyrusimap.web.cmu.edu/ (английски) - официална страница на проекта
    • http://cyrusimap.web.cmu.edu/twiki/bin/view/Main/WebHome (английски) - официална уики
    • http://cyrus.org.ru/ Cyrus IMAP Server v2.1 Българска документация. Копирайте на opennet.ru
    • http://www.bog.pp.ru/work/Cyrus_IMAP.html Bog BOS: Cyrus: POP3/IMAP сървър: инсталация, подобрения, конфигурация (има описание на опциите на imap.conf на български).
    • http://www.opennet.ru/docs/RUS/Cyrus_imap/install-configure.html - Настройка на IMAP сървър.
    • http://www.l666l.ru/?p=999 Тестване на IMAP сървъра (telnet, TLS).
    • http://tomster.org/geek/freebsdcookbook/ar01s03.html (английски) - Инсталиране/конфигуриране със скриптове и съвети

    [редактиране] Материали за настройка на пощенски системи на Xgu.ru

    • изпрати писмо
    • Контрол на спама в Sendmail
    • Използване на ClamAV, SpamAssassin, MIMEDefang за борба със спама в Sendmail
    • Превключване от POP3 към IMAP4
    • Копиране на изходяща поща със Sendmail
    • Изпращане на имейл от скриптове
    • Cyrus IMAP сървър

    [редактиране] Текстов лиценз

    Текстът е достъпен под лиценз Creative Commons Attribution/Share-Alike