Страница 1 из 1
Postfixadmin Exim Cyrus-imapd
Добавлено: 2011-11-19 20:13:53
djakson
Здравствуйте!
У меня следующая проблема при удалении почтового ящика из Posfixadmin удаляется только запись в базе exim(mysql), а реальные папки удаленного пользователя остаются /var/spool/imap/user/пользователь
Если удалить папку в ручную то будет противоречивость в базе /var/lib/imap и если создать снова пользователя с таким именем то у вновь созданного пользователя такие папки не создадутся будет ошибка.
Я тут обнаружил кое какие скрипты /Postfixadmin/ADDITIONS/cyrus/
cyrus-mailbox-postcreation.pl
cyrus-mailbox-postdelete.pl
cyrus-mailbox-postedit.pl
но куда их подключить не знаю?
Пробовал удалять старые папки с помощью cyradm но так как пользователи хранятся в Mysql то можно зайти только реальным пользователем который видит только свои папки а чужие mailbox нет.
Во общем нужна помощь - я уже свою голову сломал. Мне надо чтобы корректно при удалении пользователя удалялись и папки imap пользователя.
Мои конфиги:
/etc/cyrus.conf
Код: Выделить всё
START {
# do not delete this entry!
recover cmd="ctl_cyrusdb -r"
idled cmd="idled"
}
SERVICES {
imap cmd="imapd" listen="imap" prefork=5
#imaps cmd="imapd -s" listen="imaps" prefork=1
pop3 cmd="pop3d" listen="pop3" prefork=3
#pop3s cmd="pop3d -s" listen="pop3s" prefork=1
#sieve cmd="timsieved" listen="sieve" prefork=0
#nntp cmd="nntpd" listen="nntp" prefork=3
#nntps cmd="nntpd -s" listen="nntps" prefork=1
#lmtp cmd="lmtpd" listen="lmtp" prefork=0
lmtpunix cmd="lmtpd" listen="/var/lib/imap/socket/lmtp" prefork=1
}
EVENTS {
checkpoint cmd="ctl_cyrusdb -c" period=30
delprune cmd="cyr_expire -E 3" at=0400
tlsprune cmd="tls_prune" at=0400
}
/etc/imapd.conf
Код: Выделить всё
autocreatequota: 10485760
createonpost: yes
configdirectory: /var/lib/imap
partition-default: /var/spool/imap
admins: cyrus
allowplaintext: yes
virtdomains: userid
defaultdomain: *******
allowanonymouslogin: no
sasl_password_format: plaintext
sasl_sql_verbose: yes
sasl_pwcheck_method: auxprop
sasl_auxprop_plugin: sql
sasl_mech_list: LOGIN PLAIN
sasl_sql_engine: mysql
sasl_sql_user: exim
sasl_sql_passwd: ******
sasl_sql_database: exim
sasl_sql_hostnames: localhost
sasl_sql_select: SELECT password FROM mailbox WHERE local_part = '%u' and active=1 limit 1
/Postfixadmin/config.inc.php - так в принципе по умолчанию но изменил несколько строк
Код: Выделить всё
$CONF['configured'] = true;
$CONF['setup_password'] = '***';
$CONF['postfix_admin_url'] = '';
$CONF['postfix_admin_path'] = dirname(__FILE__);
$CONF['default_language'] = 'en';
// Database Config
$CONF['database_type'] = 'mysqli';
$CONF['database_host'] = 'localhost';
$CONF['database_user'] = 'exim';
$CONF['database_password'] = '******';
$CONF['database_name'] = 'exim';
ВОТ ИНТЕРЕСНЫЕ СТРОКИ НО КУДА ПОДСТАВИТЬ СКРИПТЫ НЕ ЗНАЮ
// Optional:
// $CONF['mailbox_postcreation_script']='sudo -u courier /usr/local/bin/postfixadmin-mailbox-postcreation.sh';
// Optional:
// $CONF['mailbox_postedit_script']='sudo -u courier /usr/local/bin/postfixadmin-mailbox-postedit.sh';
// Optional:
// $CONF['mailbox_postdeletion_script']='sudo -u courier /usr/local/bin/postfixadmin-mailbox-postdeletion.sh';
Re: Postfixadmin Exim Cyrus-imapd
Добавлено: 2011-11-20 0:00:59
ASY
А не хотите зайти с другой стороны ? Мысль такая. Есть cyrus-imap, и только он важен, так как там база пользователей, он "знает" про объём, переполнение ящиков и т.п. А MTA не надо знать про пользователей, MTA просто должен спросить у Cyrus-IMAP. Я использую в таком варианте Sendmail, но там, где я, когда-то, нашёл информацию про удобную связку Cyrus-IMAP с Sendmail, было описание аналогичной методики для Exim.
http://anfi.homeunix.org/exim/rtvcyrus.html
Правда, смотрю, там ссылка уже есть на
http://wiki.exim.org/CyrusImap
Соответственно, дальше надо будет просто переключиться на проблему работы с базой пользователей Cyrus-IMAP.
Re: Postfixadmin Exim Cyrus-imapd
Добавлено: 2011-11-20 4:45:25
djakson
Тут как бы больше проблема не MTA, а Postfixadmin c Curus.
Мне лично не нравятся что создается несколько своих баз - вот если бы cyrus и postfixadmin имели общую базу на мускуле то проблем бы во обще не было все бы знали про все и пути и квоты и т. п.
И переrлючиться для работы с базой Cyrus я не могу так как уже говорил что для подключения к тулсе cyradm -u блабла localhost нужен пользователь с правами локального админа на все mailbox всех
но как я такого заведу если он лезет в мускул за реальными пользователями и пускает только их.
Re: Postfixadmin Exim Cyrus-imapd
Добавлено: 2011-11-20 17:12:52
ASY
djakson писал(а):Тут как бы больше проблема не MTA, а Postfixadmin c Curus.
Мне лично не нравятся что создается несколько своих баз - вот если бы cyrus и postfixadmin имели общую базу на мускуле то проблем бы во обще не было все бы знали про все и пути и квоты и т. п.
Так это и есть решение данной проблемы. Администрировать надо только базу Cyrus, MTA о наличии и доступности ящиков узнаёт от Cyrus-IMAP.
djakson писал(а):
для подключения к тулсе cyradm -u блабла localhost нужен пользователь с правами локального админа на все mailbox всех
но как я такого заведу если он лезет в мускул за реальными пользователями и пускает только их.
А вот тут, на самом деле, я не очень понял. Пользователи в MySQL у Cyrus-IMAP не хранятся, по крайней мере, по-умолчанию. Может и есть какое расширение, но я не встречал (хотя и не искал). У него своя база. А вот пароли да, могут быть и в MySQL и быть использованы, например, через sasl-mysql. Удаление пользователя из базы MySQL, в данном случае, не означает удаление ящика и удаление ящика не означает автоматическую чистку базы - эти сущности сами по себе. Что касается суперпользователя, для которого дуступно заведение и удаление ящиков через, к примеру, cyradm, я не знаю, почему его может быть нельзя завести в базе mysql, которая используется через cyrus-sasl. В ощем, я что хочу сказать - у меня же работает. :-)
Правда есть проблема - у меня не было проблем с этим механизмом заведения пользователей и управления ящиками, возможно, я просто прошёл мимо каких-то грабель. Но, значит, я прошёл мимо не один раз...
И повторяю, MTA не надо знать про пользователей, его дело спросить у Cyrus-IMAP, можно ли доставлять в этот ящик. Получается красиво и логично.
Re: Postfixadmin Exim Cyrus-imapd
Добавлено: 2011-11-20 17:45:00
djakson
ASY писал(а):
А вот пароли да, могут быть и в MySQL и быть использованы, например, через sasl-mysql. Удаление пользователя из базы MySQL, в данном случае, не означает удаление ящика и удаление ящика не означает автоматическую чистку базы - эти сущности сами по себе. Что касается суперпользователя, для которого дуступно заведение и удаление ящиков через, к примеру, cyradm, я не знаю, почему его может быть нельзя завести в базе mysql, которая используется через cyrus-sasl. В ощем, я что хочу сказать - у меня же работает. :-)
Ну да имел ввиду хранение паролей в мускуле. Как я не пробовал создавать это пользователя нифига

. Сегодня попробовал воткнуть пользователя ручками в мускул без создания папок = но результат: в меню cyradm> пускает далее никаких операций с этой учеткой сделать не могу пишет что не существует mailbox для этого пользователя.
ASY писал(а):
Правда есть проблема - у меня не было проблем с этим механизмом заведения пользователей и управления ящиками, возможно, я просто прошёл мимо каких-то грабель. Но, значит, я прошёл мимо не один раз...
И повторяю, MTA не надо знать про пользователей, его дело спросить у Cyrus-IMAP, можно ли доставлять в этот ящик. Получается красиво и логично.
Ну поделись тогда печеньками.
И опять же заострю внимание на скрипты что идут в postfixadmin: cyrus-mailbox-postcreation.pl, cyrus-mailbox-postdelete.pl, cyrus-mailbox-postedit.pl - что такое никто не юзает?
Re: Postfixadmin Exim Cyrus-imapd
Добавлено: 2011-11-20 23:47:15
ASY
djakson писал(а):Ну поделись тогда печеньками.
Глобально печенька по ссылам у Andrzej Adam Filip (то, что я выше дал). Это что касается настройки MTA
djakson писал(а):Пробовал удалять старые папки с помощью cyradm
А вот почему это не работает, надо попробовать разобраться. Обязано работать.
djakson писал(а):И опять же заострю внимание на скрипты что идут в postfixadmin: cyrus-mailbox-postcreation.pl, cyrus-mailbox-postdelete.pl, cyrus-mailbox-postedit.pl - что такое никто не юзает?
Этими скриптами я не пользовался, у меня свои (то есть, не я писал, но у нас в организации). Работают через Cyrus::IMAP::Admin (perl-Cyrus), вышеперечисленные, наверняка, работают через эту же библиотеку. Через неё же, кстати, работает и cyradm. Так что всё сводится к проблеме правильного заведения пользователя - глобального постмастера. Как cyradm заработает, так всё должно начать работать.
Для начала, интересно вот это: grep "admins\|defaultdomain\|virtdomains" imapd.conf
И, кстати, а сейчас ящики как заводятся ? Или это кто-то когда-то сделал ?
Re: Postfixadmin Exim Cyrus-imapd
Добавлено: 2011-11-21 8:04:29
djakson
Пользователей(ящики автоматом с ними же)завожу через Postfixadmin в конфигах ничего особо не менял(я их приводил ниже). Заводит их сам cyrus после авторизации в мускуле.
Суперадмин cyrus тут никак не задействован - я имею ввиду в процессе создания пользователя и ящика через Postfixadmin.
Вчера вечером нашел и исправил причину "неактивности" не возможности захода суперадмином в тулсу cyradm - причина как бы была на поверхности:
дело в том когда работает авторизация через мускул то когда коннектишься к cyradm он как положено сравнивает пароли с мускулом вот эта строка:
imapd.conf
Еслм ее поменять на sasl_pwcheck_method: saslauthd - то суперпользователь заходит а вот остальные у которых учетки в мускуле нет.
Поискал я тут как можно скрестить два типа авторизации и нашел (вычитал на бурж.сайте форуме)
imapd.conf
А вот так все прекрасно работает и волки сыты и овцы целы.
Теперь я снова открываю файлик конфига для скриптов /Postfixadmin/ADDITIONS/cyrus/cyrus.conf и вписываю нормальные учетки суперадмина.
Код: Выделить всё
#!/usr/bin/perl
# Config
$cyrus_user = 'cyrus';
$cyrus_password = 'cyrus';
$cyrus_host = 'localhost';
# unixhierarchysep => 1 (yes) / 0 (no)
$unixhierarchysep = 1;
# Common routines
sub mailbox_name {
my $mailbox = shift;
if($unixhierarchysep) {
$mailbox = 'user/'.$ARGV[0];
} else {
$mailbox = 'user.'.$ARGV[0];
}
return $mailbox;
}
sub die_on_error {
my $cyradm = shift;
if($cyradm->error) { die $cyradm->error; }
}
1;
Но вопрос остается с силе куда разместить этот файл и другие файлы скриптов и где на них ссылаться?
Мое подозрение что где то в файле конфига Postfixadmin.
Re: Postfixadmin Exim Cyrus-imapd
Добавлено: 2011-11-21 8:12:59
djakson
Кстати вот содержимое этих скриптов:
cyrus-mailbox-postcreation
Код: Выделить всё
#!/usr/bin/perl
# Cyrus Mailbox creation
#
# I?aki Rodriguez (irodriguez@virtualminds.es / irodriguez@ackstorm.es)
#
# LICENSE
# This source file is subject to the GPL license that is bundled with
# this package in the file LICENSE.TXT.
#
# (26/10/2009)
use Cyrus::IMAP::Admin;
require '/etc/mail/postfixadmin/cyrus.conf';
use strict;
use vars qw($cyrus_user $cyrus_password $cyrus_host);
my %opts;
my $mailbox = mailbox_name($ARGV[0]);
my $client = Cyrus::IMAP::Admin->new($cyrus_host);
die_on_error($client);
$opts{-user} = $cyrus_user;
$opts{-password} = $cyrus_password;
$client->authenticate(%opts);
die_on_error($client);
$client->create($mailbox);
die_on_error($client);
$client->setquota($mailbox,'STORAGE',scalar $ARGV[3]) if ($ARGV[3] > 0);
die_on_error($client);
cyrus-mailbox-postdelete
Код: Выделить всё
#!/usr/bin/perl
# Cyrus Mailbox deletion
#
# I?aki Rodriguez (irodriguez@virtualminds.es / irodriguez@ackstorm.es)
#
# LICENSE
# This source file is subject to the GPL license that is bundled with
# this package in the file LICENSE.TXT.
#
# (26/10/2009)
use Cyrus::IMAP::Admin;
require '/etc/mail/postfixadmin/cyrus.conf';
use strict;
use vars qw($cyrus_user $cyrus_password $cyrus_host);
my %opts;
my $mailbox = mailbox_name($ARGV[0]);
my $client = Cyrus::IMAP::Admin->new($cyrus_host);
die_on_error($client);
$opts{-user} = $cyrus_user;
$opts{-password} = $cyrus_password;
$client->authenticate(%opts);
die_on_error($client);
$client->setacl($mailbox,$cyrus_user => 'all');
die_on_error($client);
$client->deletemailbox($mailbox);
die_on_error($client);
cyrus-mailbox-postedit
Код: Выделить всё
#!/usr/bin/perl
# Cyrus Mailbox edition
#
# I?aki Rodriguez (irodriguez@virtualminds.es / irodriguez@ackstorm.es)
#
# LICENSE
# This source file is subject to the GPL license that is bundled with
# this package in the file LICENSE.TXT.
#
# (26/10/2009)
use Cyrus::IMAP::Admin;
require '/etc/mail/postfixadmin/cyrus.conf';
use strict;
use vars qw($cyrus_user $cyrus_password $cyrus_host);
my %opts;
my $mailbox = mailbox_name($ARGV[0]);
my $client = Cyrus::IMAP::Admin->new($cyrus_host);
die_on_error($client);
$opts{-user} = $cyrus_user;
$opts{-password} = $cyrus_password;
$client->authenticate(%opts);
die_on_error($client);
$client->setquota($mailbox,'STORAGE',scalar $ARGV[3]) if ($ARGV[3] > 0);
die_on_error($client);
Re: Postfixadmin Exim Cyrus-imapd
Добавлено: 2011-11-21 17:59:54
ASY
djakson писал(а):Поискал я тут как можно скрестить два типа авторизации
Вообще-то, MySQL-ем оканчиваться может любой вариант. Приходилось видеть вариант цепочки, где был pam-radius, и уже только radius-сервер лазил в базу.
djakson писал(а):Но вопрос остается с силе куда разместить этот файл и другие файлы скриптов и где на них ссылаться?
Мое подозрение что где то в файле конфига Postfixadmin.
Ну так в приведённых файлах явно написано: require '/etc/mail/postfixadmin/cyrus.conf';
И, кстати, там уже должен бы быть указан нужный пользователь. Иначе бы не работало.
Re: Postfixadmin Exim Cyrus-imapd
Добавлено: 2011-11-22 10:39:00
ASY
И, кстати, там уже должен бы быть указан нужный пользователь.
Забыл ещё уточнить. Когда включены виртуальные домены, авторизоваться надо с доменом вместе.
Re: Postfixadmin Exim Cyrus-imapd
Добавлено: 2011-11-22 11:02:12
djakson
Точно не знаю(не пробовал) но наверное да, а как серв должен знать к какому домену относится твоя учетка.
Я еще косак офигенный обнаружил: если юзер создаст папки imap на кирилице то если при удалении учетки и потом нужно подчистить оставшиеся папки будет косяк System error I/O.
Лечится через Ж заходим в почтовый клиент переименовываем папки, потом в cyradm reconstruct -r <папочка> далее sam <папочка> cyrus all и на конец dm <папочка>
Может кто знает как не через Ж приручить нормально cyrus работать с кирилицей?
Re: Postfixadmin Exim Cyrus-imapd
Добавлено: 2011-11-22 13:26:51
ASY
djakson писал(а):а как серв должен знать к какому домену относится твоя учетка.
Либо авторизоваться надо с E-Mail в качестве логина, либо у сервера должно быть несколько IP с именами, соответствующими доменам.
djakson писал(а):Я еще косак офигенный обнаружил: если юзер создаст папки imap на кирилице то если при удалении учетки и потом нужно подчистить оставшиеся папки будет косяк System error I/O.
Вообще, имя папки кодируется в семибитное, не должно проблем быть. Возможно, это особенности сборки какие-то, либо конфига, хотя в конфиге я опцию помню только про преобразование точки в ^.
Re: Postfixadmin Exim Cyrus-imapd
Добавлено: 2011-11-22 17:38:56
djakson
У меня вот такие версии
Код: Выделить всё
cyrus-imapd-2.3.7-2.el5
cyrus-sasl-plain-2.1.22-4
cyrus-sasl-lib-2.1.22-4
cyrus-sasl-2.1.22-4
cyrus-sasl-devel-2.1.22-4
cyrus-sasl-sql-2.1.22-4
cyrus-imapd-utils-2.3.7-2.el5
cyrus-imapd-perl-2.3.7-2.el5
Re: Postfixadmin Exim Cyrus-imapd
Добавлено: 2011-11-25 16:22:15
ASY
Дошли руки проверить. И создаётся всё, и удаляется. Проверял с cyrus-imapd 2.4.12-alt0.M60P.1 и с самосборным древним, из ветки 2.1 ещё (стоит на RH 7.2). Да и не первый год разные Cyrus-IMAP использую. Нигде такого не замечал.
Re: Postfixadmin Exim Cyrus-imapd
Добавлено: 2011-11-25 19:20:10
djakson
Сорри за флуд, проверил на только что созданном тесте - все действительно работает видимо косяк от предыдущего админа.
Но разъясни куда мне подвязать вышеупомянутые сркипты где прописать. Про конфиг итак понятно что где и куда.
Я тут кину мож кому пригодитцо типа мой ман по настройке может я в дальнейшем создам статью с нуля и выложу VM только домен и ИП поменять и будет у вех счастье.
Типа ман:
- #Посмотреть какой пользователь прописан админом в imapd.conf
grep admins /etc/imapd.conf #admins: cyrus
#Создание пользователя cyrus для cyradm
passwd cyrus # поменять пароль пользователю
sasldblistusers2 # посмотреть какие пользователи заведены
/usr/sbin/saslpasswd2 -c cyrus #добавить пользователя cyrus
# если что можно удалить пользователей saslpasswd2 -d a.testuser # команда удалит пользователя a.testuser в базе sasldb2
/usr/sbin/testsaslauthd -u cyrus -p cyrus # Проверить что пользователь авторизуется
# назначить права на папки почты
chown -R cyrus:mail /var/lib/imap
chown -R cyrus:mail /var/spool/imap
# рестартануть сервис
service cyrus-imapd restart
# попробовать зайти в тулсу пользователем
cyradm --user cyrus localhost
lm #просмотр всех папок пользователя
Администрировать ящики необходимо уже известной Вам программой cyradm.
$ cyradm --user cyrus localhost
localhost> sam user.boss@example.org cyrus all
localhost> dm user.boss@example.org
localhost> quit
Если при проверке testsaslauthd -u cyrus -p cyrus вам выдает connect() : No such file or directory
То скорее всего не запущен демон авторизации saslauthd его можно проверить так
ps aux | grep auth
Если запущен то увидим следующее
root 2686 0.0 0.0 47728 524 ? Ss Nov18 0:00 /usr/sbin/saslauthd -m /var/run/saslauthd -a pam -r -n 0 -c
Если нет то лезем в конфиг и правим
/etc/sysconfig/saslauthd
SOCKETDIR=/var/run/saslauthd
MECH=pam
FLAGS="-r -n 0 -c"
Включим сервис
chkconfig --level 234 saslauthd on
service saslauthd restart
Воостановление неправильно удаленного почтового ящика
reconstruct -r user.<ящик>
#Типа команды cyradm
createmailbox, cm create a mailbox
deleteaclmailbox, dam delete an ACL on a mailbox
deletemailbox, dm delete a mailbox
help get help on commands
listaclmailbox, lam list the ACL on a mailbox
listmailbox, lm list mailboxes
listquota, lq list quota on root
listquotaroot, lqr, lqm list quota roots on mailbox
quit exit program
renamemailbox, renm rename a mailbox
setaclmailbox, sam set an ACL on a mailbox
setquota, sq set quota limits
Re: Postfixadmin Exim Cyrus-imapd
Добавлено: 2011-11-25 19:33:35
djakson
И еще совсем забыл если пользователи авторизируются на мускуле и тебе нужно включить заход по saslauth то в конфиге первым по авторизации должен стоять
Сделать наоборот то в логах будет фиксироваться ошибка авторизации так как сначала сетевые пользователи будут лезть в saslauth потом в мускул
А если написать как выше то основная масса народу будет идти вначале на мускул.
Ну вы же не каждые полчаса лезете в cyradm с авторизацией в saslauth.
Re: Postfixadmin Exim Cyrus-imapd
Добавлено: 2011-11-25 23:17:39
ASY
Вообще, это всё зависит от конфигурации. "passwd cyrus" может быть при чём, если авторизация завязана на системных пользователей. Чаще это не так. saslpasswd2/sasldblistusers2 нужны в том случае, если cyrus-imap использует sasldb для авторизации. В случае, если для хранения пользователей используется SQL-СУБД, надо знать, через какие закоулки организована эта связь. Самый прямой вариант - sasl-<что-то>, sasl-mysql, например.
Например, у меня auxprop и sasl_auxprop_plugin: SQL. И описаны SQL-запросы. saslauthd у меня не используется для cyrus-imap. В общем, вариантов вагон. reconstruct восстанавливает структуру (индексы то есть), а не удалённый ящик.
Re: Postfixadmin Exim Cyrus-imapd
Добавлено: 2011-11-26 7:03:59
djakson
Меня сейчас более волнует вопрос по скриптам, что более никто эту тему не читает? и не может чиркнуть здесь по теме

Re: Postfixadmin Exim Cyrus-imapd
Добавлено: 2011-11-26 10:48:42
ASY
djakson писал(а):Меня сейчас более волнует вопрос по скриптам
Что касается конкретики про "Postfixadmin", это не ко мне, я его не ставил и не использовал никогда.
Re: Postfixadmin Exim Cyrus-imapd
Добавлено: 2011-12-06 8:08:17
djakson
Ну догнал я куда нужно прикладывать эти скрипты. До всего приходится до ходить самому
первым делом правим файл конфига cyrus.conf что лежит /postfixadmin/ADDITIONS/cyrus/
Код: Выделить всё
#!/usr/bin/perl
# Config
$cyrus_user = 'cyrus';
$cyrus_password = '*****';
$cyrus_host = 'localhost';
# тут типа если в названиях ящиков есть '.' то ставим слеш
# у меня ящики типа user.<name> поэтому я отключил этот параметр
# а то у меня ошибка при поиске ящика было
# unixhierarchysep => 1 (yes) / 0 (no)
$unixhierarchysep = 0;
# Common routines
sub mailbox_name {
my $mailbox = shift;
if($unixhierarchysep) {
$mailbox = 'user/'.$ARGV[0];
} else {
$mailbox = 'user.'.$ARGV[0];
}
return $mailbox;
}
sub die_on_error {
my $cyradm = shift;
if($cyradm->error) { die $cyradm->error; }
}
1;
Ну потом я этот файл поместил в /etc/exim/
далее открываем файлы: cyrus-mailbox-postcreation.pl, cyrus-mailbox-postdelete.pl, cyrus-mailbox-postedit.pl
и правим во всех пути к файлу /etc/exim/cyrus.conf - не путать c конфигом от cyrus-imapd
Назначение:
cyrus-mailbox-postcreation.pl - после создания ящика в postfixadmin задает ему квоты в cyrus базе
cyrus-mailbox-postdelete.pl - после удаления ящика в postfixadmin удаляет папки для ящика ну сам ящик с квотами в базе cyrus
cyrus-mailbox-postedit.pl - после редактирования ящика изменяет квоты в базе cyrus.
Правим конфиг postfixadmin приведу только что нужно
Код: Выделить всё
// Позволяет задавать квоты при создании почтового ящика чтобы можно задавать их и для cyrus
$CONF['quota'] = 'YES';
// You can either use '1024000' or '1048576' - это для меня не понятный перевод но путем подбора понял что если в админке postfixadmin типа задать квоту 9Мб с таким(1024) параметром то получается именно 9Мб если значение
// будет другое то сами понимаете что будет. Я так и не понял почему они указывают(типа рекомендуют) такие параметры.
$CONF['quota_multiplier'] = '1024';
// $CONF['mailbox_postcreation_script']='sudo -u courier /usr/local/bin/postfixadmin-mailbox-postcreation.sh';
// Пишем так
$CONF['mailbox_postcreation_script']='/var/eximadmin/ADDITIONS/cyrus/cyrus-mailbox-postcreation.pl';
// $CONF['mailbox_postedit_script']='sudo -u courier /usr/local/bin/postfixadmin-mailbox-postedit.sh';
// Пишем так
$CONF['mailbox_postedit_script']='/var/eximadmin/ADDITIONS/cyrus/cyrus-mailbox-postedit.pl';
// $CONF['mailbox_postdeletion_script']='sudo -u courier /usr/local/bin/postfixadmin-mailbox-postdeletion.sh';
// Пишем так
$CONF['mailbox_postdeletion_script']='/var/eximadmin/ADDITIONS/cyrus/cyrus-mailbox-postdelete.pl';
Ну дадим права на выполнение этих скриптов я дал 777 но тут можете поэкспериментировать сами
Иначе а админке вылазит типа ошибка что не удается найти ящик
И теперь все прекрасно меняется и изменяется и удаляется без использования тулсы cyradm - все делается в одной админке