From: Dmitry Lebkov <dima@sakhalin.ru> To: sisyphus@altlinux.ru Subject: Re: [sisyphus] Maildrop+userdb Date: Mon, 18 Nov 2002 17:45:19 +1000 Message-ID: <20021118174519.6c55debc.dima@sakhalin.ru> (raw) In-Reply-To: <3DD876A3.7060109@rmts.donpac.ru> On Mon, 18 Nov 2002 08:12:03 +0300 Прокопьев Евгений <john@rmts.donpac.ru> wrote: > Здравствуйте! > > Начал снова разбираться с userdb. > > /etc/postfix/master.cf: > > maildrop unix - n n - - pipe > flags=Ru user=mail argv=/usr/bin/maildrop-userdb -d ${recipient} > > Именно mail, а не vmail - у меня есть такой пользователь и я не хочу, > чтобы он сидел без дела > > /etc/postfix/main.cf: > > mailbox_command = /usr/bin/maildrop-userdb -d $LOGNAME > maildrop_destination_recipient_limit = 1 > > /etc/courier-imap/userdb: > > shared home=/var/spool/mail/shared|mail=/var/spool/mail/shared|uid=8|gid=12 > > /var/spool/mail/shared создавался так: > > su - mail > maildirmake -S /var/spool/mail/shared > > В README.ALT из maildrop на предмет -d $LOGNAME@$DOMAIN ничего не нашел. Опс, похоже я это удалил за ненадобностью, но смотри ниже: Пакет maildrop-doc, файл README-ALT-maildrop (в самом конце): maildrop-userdb + Postfix: -------------------------- [skip] maildrop-userdb нормально работает в качестве MDA для системных mailbox'ов (как в формате Mailbox так и в формате Maildir) после замены в /etc/postfix/main.cf: mailbox_command = /usr/bin/procmail -a $DOMAIN -d $LOGNAME на mailbox_command = /usr/bin/maildrop-userdb -d $LOGNAME ^^^^^^^^^^^^^^^ это работает только (!) для системных mailbox'ов !!! если заменить -d $LOGNAME на -d $LOGNAME@$DOMAIN (возможно перед '@' нужно будет поставить '\') и в userdb описать всех пользователей в формате user@domain, то можно будет использовать maildrop как для системных учетных записей (в userdb описываешь соответствующие каталоги и реальные uid/gid), так и для виртуальных (как описано ниже). Правда, в случае $LOGIN@$DOMAIN имеется одно 'НО' - если системный пользователь не будет описан в userdb - почта ему не доставится, т.к. getpwnam('user@domain') вернет ошибку - пользователь с таким именем в системе врядли найдется. Наверное, я поэтому и не стал описывать такой вариант в README-ALT-maildrop ... :) ------ Как MDA для виртуальных доменов:(все как описано в README.postfix из пакета maildrop): /etc/postfix/master.cf: maildrop unix - n n - - pipe flags=Ru user=vmail argv=/usr/bin/maildrop-userdb -d ${recipient} /etc/postfix/main.cf: maildrop_destination_recipient_limit = 1 transport: virtual.domain maildrop: # adduser -r vmail -d /var/spool/vmail -s /bin/false # mkdir /var/spool/vmail # chown vmail.vmail /var/spool/vmail /etc/courier-imap/userdb: # см. man userdb dbuser@dvl1.sakhalin.ru home=/var/spool/vmail/dbuser|mail=/var/spool/vmail/dbuser|gid=116|uid=116 В файле userdb запись для пользователя должна быть в одну строку. Имя пользователя должно быть с доменом и uid/gid == uid/gid пользователя vmail. ^^^^^^^^^^^^^^^^^ а это для виртуальных. А в твоем случае, ты создаешь виртуального пользователя shared и пытаешся доставить почту, используя конфиг для локальных ящиков. Т.е. для того, чтобы твоя конфигурация работала, необходимо в transport добавить направление: athlon.home maildrop: и в userdb описать пользователя как shared@athlon.home. Правда, я не знаю (вернее вроде бы я такое делал - но не помню результата %) как поведет себя postfix если ему в transport дописать имя домена, которое он считает локальным (т.е. почта в этот домен доставляется с использованием mailbox_command). Имеется широкое поле для экспериментов ... ;) > Постфикс перезапущен, userdb пересоздана. И тем не менее: > > [root@athlon mail]# echo hello | mail shared > [root@athlon mail]# tail /var/log/mail/all > Nov 17 12:10:21 athlon postfix/pickup[3620]: 186BF72DA: uid=0 from=<root> > Nov 17 12:10:21 athlon postfix/cleanup[3934]: 186BF72DA: > message-id=<20021117091021.186BF72DA@athlon.home> > Nov 17 12:10:21 athlon postfix/qmgr[3621]: 186BF72DA: > from=<root@athlon.home>, size=282, nrcpt=1 (queue active) > Nov 17 12:10:21 athlon postfix/local[3936]: 186BF72DA: > to=<shared@athlon.home>, relay=local, delay=0, status=bounced (unknown > user: "shared") WBR, Dmitry Lebkov PS. Для начала проверяй с помощью maildrop-userdb доставку почты в ящик: # cat some_text_file | maildrop-userdb -d user и только после успешой доставки таким методом пробуй использовать постфикс - проще будет разбираться, где проблема. И документацию лучше читать полностью, а не выборочно ... ;)
next prev parent reply other threads:[~2002-11-18 7:45 UTC|newest] Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top 2002-11-18 5:12 Прокопьев Евгений 2002-11-18 7:45 ` Dmitry Lebkov [this message] 2002-11-18 9:36 ` Прокопьев Евгений 2002-11-18 11:36 ` Dmitry Lebkov
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20021118174519.6c55debc.dima@sakhalin.ru \ --to=dima@sakhalin.ru \ --cc=sisyphus@altlinux.ru \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
ALT Linux Sisyphus discussions This inbox may be cloned and mirrored by anyone: git clone --mirror http://lore.altlinux.org/sisyphus/0 sisyphus/git/0.git # If you have public-inbox 1.1+ installed, you may # initialize and index your mirror using the following commands: public-inbox-init -V2 sisyphus sisyphus/ http://lore.altlinux.org/sisyphus \ sisyphus@altlinux.ru sisyphus@altlinux.org sisyphus@lists.altlinux.org sisyphus@lists.altlinux.ru sisyphus@lists.altlinux.com sisyphus@linuxteam.iplabs.ru sisyphus@list.linux-os.ru public-inbox-index sisyphus Example config snippet for mirrors. Newsgroup available over NNTP: nntp://lore.altlinux.org/org.altlinux.lists.sisyphus AGPL code for this site: git clone https://public-inbox.org/public-inbox.git