LINUX.ORG.RU
ФорумAdmin

вопрос по virtusertable. Horez! спасай! ;)


0

0

в сендмайл.мц есть такая строка:
===
FEATURE(`virtusertable',`hash -o /etc/mail/virtusertable.db')dnl
===
перекомпилируем сендмайл.конф,
почту для sofex.ru (для известных юзеров) принимаем номально,

вот virtusertable:
===
#
evgeny@office.sofex evgeny
alexfk@office.sofex alexfk
root@localhost evgeny@office.sofex
root@office.sofex evgeny@office.sofex
@sofex.ru evgeny
#
===

потом
[root@rh2 mail]# makemap hash /etc/mail/virtusertable.db < /etc/mail/virtusertable.in

...и нихрена не работает, т.е. письмо на unknownuser@sofex.ru отправляется обратно с
сообщением 550: User unknown

что делать?


да, седндмайл 8.12.2

Agathis
() автор топика

makemap hash /etc/mail/virtusertable.db <
/etc/mail/virtusertable.in
^^^^^^^^^^^^^^^^^^^^^^^^^^ файл такой есть?
и что это за домены???
evgeny@office.sofex <- это что внутренние домены?
что в логе пишет?

Skor78
()

мало того, что файл есть, так еще и содержимое его я привел.
office.sofex внутренний домен. ДНС работает.
в логе:
May 14 12:30:03 rh2 sendmail[23375]: g4E8ThUE023375: <unknownuser@sofex.ru>... User unknown
May 14 12:30:05 rh2 sendmail[23375]: g4E8ThUE023375: from=<ekhr@nm.ru>, size=668, class=0, nrcpts=0, proto=ESMTP, daemon=MTA, relay=elk.zenon.net [213.189.198.216]

Agathis
() автор топика

У меня в мц файле написано:
FEATURE(`virtusertable',`hash -o /etc/mail/virtusertable')dnl
.db вроде не надо указывать (само вроде добавляет)
посмотри при старте сендмала не на что не ругается в логи?

Skor78
()

ничего не изменилось. ну то есть, вообще ничего, и в логи ни на что не ругается.

Agathis
() автор топика

ты сендмали как перезапускал?
у тя в скрипте который сендмаил запускает случайне не переписывает твой virtusertable.db?
покажи мц файл

Skor78
()

файл не переписывается. да и какая разница?
потом в sendmail.cf я еще руками поправляю Cw

divert(-1)
dnl This is the sendmail macro config file. If you make changes to this file,
dnl you need the sendmail-cf rpm installed and then have to generate a
dnl new /etc/sendmail.cf by running the following command:
dnl
dnl m4 /etc/mail/sendmail.mc > /etc/sendmail.cf
dnl
include(`/usr/share/sendmail-cf/m4/cf.m4')
VERSIONID(`linux setup for ASPLinux')dnl
OSTYPE(`linux')
define(`confDEF_USER_ID',``8:12'')dnl
undefine(`UUCP_RELAY')dnl
undefine(`BITNET_RELAY')dnl
define(`confAUTO_REBUILD')dnl
define(`confTO_CONNECT', `1m')dnl
define(`confTRY_NULL_MX_LIST',true)dnl
define(`confDONT_PROBE_INTERFACES',true)dnl
define(`PROCMAIL_MAILER_PATH',`/usr/bin/procmail')dnl
define(`ALIAS_FILE', `/etc/aliases')dnl
dnl define(`STATUS_FILE', `/etc/mail/statistics')dnl
define(`UUCP_MAILER_MAX', `2000000')dnl
define(`confUSERDB_SPEC', `/etc/mail/userdb.db')dnl
define(`confPRIVACY_FLAGS', `authwarnings,novrfy,noexpn,restrictqrun')dnl
define(`confAUTH_OPTIONS', `A')dnl
dnl define(`POP_B4_SMTP_TAG',`')dnl
dnl TRUST_AUTH_MECH(`DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
dnl define(`confAUTH_MECHANISMS', `DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
dnl define(`confTO_QUEUEWARN', `4h')dnl
dnl define(`confTO_QUEUERETURN', `5d')dnl
dnl define(`confQUEUE_LA', `12')dnl
dnl define(`confREFUSE_LA', `18')dnl
dnl define(`LUSER_RELAY', `local:postmaster')dnl
dnl FEATURE(delay_checks)dnl
FEATURE(`no_default_msa',`dnl')dnl
FEATURE(`smrsh',`/usr/sbin/smrsh')dnl
FEATURE(`mailertable',`hash -o /etc/mail/mailertable.db')dnl
FEATURE(`virtusertable',`hash -o /etc/mail/virtusertable.db')dnl
FEATURE(redirect)dnl
FEATURE(always_add_domain)dnl
FEATURE(use_cw_file)dnl
FEATURE(use_ct_file)dnl
FEATURE(local_procmail,`',`procmail -t -Y -a $h -d $u')dnl
FEATURE(`access_db',`hash -o /etc/mail/access.db')dnl
FEATURE(`blacklist_recipients')dnl
EXPOSED_USER(`root')dnl
dnl This changes sendmail to only listen on the loopback device 127.0.0.1
dnl and not on any other network devices. Comment this out if you want
dnl to accept email over the network.
dnl DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA')
dnl NOTE: binding both IPv4 and IPv6 daemon to the same port requires
dnl a kernel patch
dnl DAEMON_OPTIONS(`port=smtp,Addr=::1, Name=MTA-v6, Family=inet6')
dnl We strongly recommend to comment this one out if you want to protect
dnl yourself from spam. However, the laptop and users on computers that do
dnl not have 24x7 DNS do need this.
FEATURE(`accept_unresolvable_domains')dnl
dnl FEATURE(`relay_based_on_MX')dnl
MAILER(smtp)dnl
MAILER(procmail)dnl
dnl HACK(`popauth')dnl
Cwlocalhost.localdomain

Agathis
() автор топика

> файл не переписывается. да и какая разница?
просто у asp в скрипте запуска сендмаила насколько я помню при каждом старте заново создаются virtusertable access domaintable mailertable (всмысле .db создаются)
но скрипт использует в качестве исходного virtusertable а у тебя испльзуется virtusertable.in
поэтому и спрашиваю...
PS:только что в sendmail.cf изменил имя файла /etc/mail/virtusertable на /etc/mail/virtusertablezzzz и при старте он не выругался и виртуальные домены не работали :(
PPS: запусти sendmail -bt -d60.99
и на запрос:
ADDRESS TEST MODE (ruleset 3 NOT automatically invoked)
Enter <ruleset> <address>
>
введи:
3,0 unknownuser@sofex.ru
и посмотри что получилось...
у меня получилось так:
> 3,0 blablabla@vesnasignal.dp.ua
canonify input: blablabla @ vesnasignal . dp . ua
Canonify2 input: blablabla < @ vesnasignal . dp . ua >
map_lookup(domaintable, vesnasignal.dp.ua, %0=vesnasignal.dp.ua) => NOT FOUND (0)
map_lookup(host, vesnasignal.dp.ua, %0=vesnasignal.dp.ua) => vesnasignal.dp.ua.
(0)
Canonify2 returns: blablabla < @ vesnasignal . dp . ua . >
canonify returns: blablabla < @ vesnasignal . dp . ua . >
parse input: blablabla < @ vesnasignal . dp . ua . >
Parse0 input: blablabla < @ vesnasignal . dp . ua . >
map_lookup(dequote, blablabla, %0=blablabla) => NOT FOUND (0)
Parse0 returns: blablabla < @ vesnasignal . dp . ua . >
ParseLocal input: blablabla < @ vesnasignal . dp . ua . >
ParseLocal returns: blablabla < @ vesnasignal . dp . ua . >
Parse1 input: blablabla < @ vesnasignal . dp . ua . >
map_lookup(virtuser, blablabla@vesnasignal.dp.ua, %0=blablabla@vesnasignal.dp.ua, %1=blablabla) => NOT FOUND (0)
map_lookup(virtuser, @vesnasignal.dp.ua, %0=@vesnasignal.dp.ua, %1=blablabla) => sergey@orbita.dp.ua (0) <--- вот это сработал файл virtusertable весь домен перевел на один адрес
Recurse input: sergey @ orbita . dp . ua
canonify input: sergey @ orbita . dp . ua
Canonify2 input: sergey < @ orbita . dp . ua >
map_lookup(domaintable, orbita.dp.ua, %0=orbita.dp.ua) => NOT FOUND (0)
map_lookup(host, orbita.dp.ua, %0=orbita.dp.ua) => orbita.dp.ua. (0)
Canonify2 returns: sergey < @ orbita . dp . ua . >
canonify returns: sergey < @ orbita . dp . ua . >
parse input: sergey < @ orbita . dp . ua . >
Parse0 input: sergey < @ orbita . dp . ua . >
map_lookup(dequote, sergey, %0=sergey) => NOT FOUND (0)
Parse0 returns: sergey < @ orbita . dp . ua . >
ParseLocal input: sergey < @ orbita . dp . ua . >
ParseLocal returns: sergey < @ orbita . dp . ua . >
Parse1 input: sergey < @ orbita . dp . ua . >
map_lookup(virtuser, sergey@orbita.dp.ua, %0=sergey@orbita.dp.ua, %1=sergey) =>
NOT FOUND (0)
map_lookup(virtuser, @orbita.dp.ua, %0=@orbita.dp.ua, %1=sergey) => NOT FOUND (0)
Parse1 returns: $# local $: sergey
parse returns: $# local $: sergey
Recurse returns: $# local $: sergey
Parse1 returns: $# local $: sergey
parse returns: $# local $: sergey
>

Skor78
()

ну наконец-то!!! спасибо! действительно скрипт при перезапуске втихую переписывает .db в логе об этом -- ни слова :(

Agathis
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.