ALT Linux Sisyphus discussions
 help / color / mirror / Atom feed
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
    и только после успешой доставки таким методом пробуй использовать
    постфикс - проще будет разбираться, где проблема. И документацию лучше
    читать полностью, а не выборочно ... ;)


  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