не верно. с такими правами довекот не сможет создать там папкиНа какие папки ? /var/mail - drwxrwxr-x root
долен быть владельцем пользователь ексима
Модератор: xM
не верно. с такими правами довекот не сможет создать там папкиНа какие папки ? /var/mail - drwxrwxr-x root
Код: Выделить всё
../libclamav/.libs/libclamav.so: undefined reference to `gethostbyname_r'
*** Error code 1
Stop in /usr/ports/security/clamav/work/clamav-0.94/clamscan.
*** Error code 1
Stop in /usr/ports/security/clamav/work/clamav-0.94.
*** Error code 1
Stop in /usr/ports/security/clamav/work/clamav-0.94.
*** Error code 1
Stop in /usr/ports/security/clamav.
*** Error code 1
Stop in /usr/ports/security/clamav.
Подскажите как раскладывать самими эксимом.1. С ним в комплекте должна идти утилита delivery - она занимается доставкой почты в ящики пользователей. Её нет... Почему - непонятно. Поэтому пришлось раскладывать самим экзимом.
Код: Выделить всё
local_delivery:
driver = appendfile
directory = /var/mail/$local_part/.maildir
maildir_format
delivery_date_add
envelope_to_add
return_path_add
group = mail
mode = 0660
все там есть, смотри внимательнееВ Postfixadmin при создании ящика ничего такого нет.
квота указывается в байтах!!!а базе в таблице maildir есть поле qouta оно по умолчанию = 0 (это безлимит насколько я знаю)
пробовал ставить там например 1(1 мегабайт наверно или как ?)
а ты exim сообщил использовать квоты?нет эфекту - почта проходит и большего размера(правда не перегружал ексим)
Код: Выделить всё
$CONF['quota'] = 'YES';
еще раз, как ты сообщил о квотах exim? Или что ты там используешь в качестве LDAТолько теперь новый прикол - квота то есть, но почта продолжает приниматься не зависимо от того что уже превышено значение квоты.
Код: Выделить всё
mysql_delivery:
driver = appendfile
check_string = ""
create_directory
delivery_date_add
directory = ${lookup mysql{SELECT CONCAT('/usr/mail/exim/', `maildir`) \
FROM `mailbox` WHERE `username`='${local_part}@${domain}'}}
directory_mode = 770
envelope_to_add
group = mail
maildir_format
maildir_tag = ,S=$message_size
message_prefix = ""
message_suffix = ""
mode = 0600
quota = ${lookup mysql{SELECT quota FROM \
mailbox WHERE `username`='${local_part}@${domain}'}}
quota_size_regex = S=(\d+)$
quota_warn_threshold = 95%
Код: Выделить всё
exim[4493]: 1KlkJ9-0001AS-5P == mukhovaty.valentin@konark.kh.ua R=mysqluser T=mysql_delivery defer (-22): mailbox is full (MTA-imposed quota exceeded while writing to tmp/1223038980.H681810P4494.post.konark.kh.ua)
Код: Выделить всё
quota = ${lookup mysql{SELECT quota FROM \
mailbox WHERE `username`='${local_part}@${domain}'}}
quota_size_regex = S=(\d+)$
quota_warn_message = "\
To: $local_part@$domain\n\
Subject: Your mailbox\n\n\
This message is automatically created \
by mail delivery software.\n\n\
The size of your mailbox has exceeded \
a warning threshold that is\n\
set by the system administrator.\n"
quota_warn_threshold = 95%
Код: Выделить всё
primary_hostname = post.'тут мой домен'
hide mysql_servers = localhost/exim/exim/"пароль"
domainlist local_domains = ${lookup mysql{SELECT `domain` FROM \
`domain` WHERE `domain`='${domain}' AND `active`='1'}}
domainlist relay_to_domains = ${lookup mysql{SELECT `domain` FROM \
`domain` WHERE `domain`='${domain}' AND `active`='1'}}
hostlist relay_from_hosts = localhost:127.0.0.0/8
acl_smtp_rcpt = acl_check_rcpt
acl_smtp_data = acl_check_data
qualify_domain = "тут мой домен"
qualify_recipient = "тут мой домен"
allow_domain_literals = false
exim_user = mailnull
exim_group = mail
never_users = root
rfc1413_query_timeout = 0s
sender_unqualified_hosts = +relay_from_hosts
recipient_unqualified_hosts = +relay_from_hosts
ignore_bounce_errors_after = 45m
timeout_frozen_after = 15d
freeze_tell = support@"мой домен"
auto_thaw = 1h
smtp_banner = "Spamers mast die ! (fly)"
smtp_accept_max = 50
smtp_accept_max_per_connection = 50
smtp_connect_backlog = 30
smtp_accept_max_per_host = 20
split_spool_directory = true
remote_max_parallel = 15
return_size_limit = 70k
message_size_limit = 50M
helo_allow_chars = _
smtp_enforce_sync =false
log_selector = \
+all_parents \
+connection_reject \
+incoming_interface \
+lost_incoming_connection \
+received_sender \
+received_recipients \
+smtp_confirmation \
+smtp_syntax_error \
+smtp_protocol_error \
-queue_run
syslog_timestamp = no
begin acl
acl_check_rcpt:
accept hosts = :
deny message = "incorrect symbol in address"
domains = +local_domains
local_parts = ^[.] : ^.*[@%!/|]
deny message = "incorrect symbol in address"
domains = !+local_domains
local_parts = ^[./|] : ^.*[@%!] : ^.*/\\.\\./
require verify = sender
deny message = "what abaut HELO/EHLO ? ".
condition = ${if eq{$sender_helo_name}{}{yes}{no}}
accept authenticated = *
deny message = "Your IP in HELO - access denied!"
hosts = * : !+relay_from_hosts #: !81-196.lissyara.su
condition = ${if eq{$sender_helo_name}\
{$sender_host_address}{true}{false}}
deny condition = ${if eq{$sender_helo_name}\
{$interface_address}{yes}{no}}
hosts = !127.0.0.1 : !localhost : *
message = "main IP in your HELO! Access denied!"
deny condition = ${if match{$sender_helo_name}\
{\N^\d+$\N}{yes}{no}}
hosts = !127.0.0.1 : !localhost : *.
message = "can not be only number in HELO!"
deny condition = ${if eq{$sender_address}{}{yes}{no}}.
hosts = !127.0.0.1 : !localhost : *.
message = "? ?????? HELO ???????! ?? ?? RFC...".
deny condition = ${if match{$sender_address}{\N^\s+$\N}{yes}{no}}.
hosts = !127.0.0.1 : !localhost : *.
message = "? ?????? HELO ?????? (???? ???????)?! ?? ?? RFC...".
deny condition = ${if eq{$sender_address}{}{yes}{no}}.
hosts = !127.0.0.1 : !localhost : *.
message = "Where sender of this mail?!".
deny message = "your hostname is bad (adsl, poll, ppp & etc).".
condition = ${if match{$sender_host_name} \
{adsl|dialup|pool|peer|dhcp} \
{yes}{no}}
warn
set acl_m0 = 5s
warn
hosts = +relay_from_hosts
set acl_m0 = 3s
warn
logwrite = Delay $acl_m0 for $sender_host_name \
[$sender_host_address] with HELO=$sender_helo_name. Mail \
from $sender_address to $local_part@$domain.
delay = $acl_m0
accept domains = +local_domains
endpass
message = "In my mailserver not stored this user"
verify = recipient
accept domains = +relay_to_domains
endpass
message = "main server not know how relay to this address"
verify = recipient
deny message = "you in blacklist - $dnslist_domain \n $dnslist_text"
dnslists = opm.blitzed.org : \
cbl.abuseat.org : \
bl.csma.biz : \
dynablock.njabl.org
accept hosts = +relay_from_hosts
deny message = "--===You made some errors===--."
acl_check_data:
accept
begin routers
dnslookup:
driver = dnslookup
domains = ! +local_domains.
transport = remote_smtp
ignore_target_hosts = 0.0.0.0 : 127.0.0.0/8
no_more
system_aliases:
driver = redirect
allow_fail
allow_defer
data = ${lookup mysql{SELECT `goto` FROM `alias` WHERE \
`address`='${quote_mysql:$local_part@$domain}' OR \
`address`='${quote_mysql:@$domain}'}}
#dovecot_user:
# driver = accept
# condition = ${lookup mysql{SELECT `goto` FROM \
# `alias` WHERE \
# `address`='${quote_mysql:$local_part@$domain}' OR \
# `address`='${quote_mysql:@$domain}'}{yes}{no}}
# transport = dovecot_delivery
mysqluser:
driver = accept
condition = ${if eq{}{${lookup mysql{SELECT `maildir` FROM `mailbox` \
WHERE `username`='${quote_mysql:$local_part@$domain}'}}}{no}{yes}}
transport = mysql_delivery
begin transports
remote_smtp:
driver = smtp
mysql_delivery:
driver = appendfile
check_string = ""
create_directory
delivery_date_add
directory = ${lookup mysql{SELECT CONCAT('/usr/mail/exim/', `maildir`) \
FROM `mailbox` WHERE `username`='${local_part}@${domain}'}}
directory_mode = 770
envelope_to_add
group = mail
maildir_format
maildir_tag = ,S=$message_size
message_prefix = ""
message_suffix = ""
mode = 0600
quota = ${lookup mysql{SELECT quota FROM \
mailbox WHERE `username`='${local_part}@${domain}'}}
quota_size_regex = S=(\d+)$
quota_warn_message = "\
To: $local_part@$domain\n\
Subject: Your mailbox\n\n\
This message is automatically created \
by mail delivery software.\n\n\
The size of your mailbox has exceeded \
a warning threshold that is\n\
set by the system administrator.\n"
quota_warn_threshold = 95%
address_file:
driver = appendfile
delivery_date_add
envelope_to_add
return_path_add
address_pipe:
driver = pipe
return_output
address_reply:
driver = autoreply
begin retry
* * F,2h,15m; G,16h,1h,1.5; F,4d,6h.
begin rewrite
begin authenticators
auth_plain:
driver = plaintext
public_name = PLAIN
server_condition = ${lookup mysql{SELECT `username` FROM \
`mailbox` WHERE `username` = \
'${quote_mysql:$auth2}' AND `password` = \
'${quote_mysql:$auth3}'}{yes}{no}}
server_prompts = :
server_set_id = $auth2
auth_login:
driver = plaintext
public_name = LOGIN
server_condition = ${lookup mysql{SELECT `username` FROM \
`mailbox` WHERE `username` = \
'${quote_mysql:$auth1}' AND `password` = \
'${quote_mysql:$auth2}'}{yes}{no}}
server_prompts = Username:: : Password::
server_set_id = $auth1
auth_cram_md5:
driver = cram_md5
public_name = CRAM-MD5
server_secret = ${lookup mysql{SELECT `password` FROM \
`mailbox` WHERE `username` \
= '${quote_mysql:$auth1}'}{$value}fail}
server_set_id = $auth2
fly писал(а):Вопрос такой.
Есть у меня например 10 ящиков. test1@my_domain...test10@my_domain.
Хочу, чтобы никто никуда не мог отсылать письма не пройдя авторизацию.
С данными настройками получается так : любой из ящиков может отправить письмо на локальный домен на любой из ящиков без авторизации. Т.е. я могу написать письмо от ящика test1 на ящик test5 без авторизации(опция авторизация SMTP в MUA попросту отключена). Но на любой другой домен(не локальный) - без авторизации не проходит.
Конфиг если что - выше.
Код: Выделить всё
accept domains = +local_domains
endpass
message = "In my mailserver not stored this user"
verify = recipient
Вот я ж и спрашиваю, как мне прибить всех (локальных и не локальных) кто не прошел аутентификацию. Я не силен в правилах ексима. Посоветуйте чтонить.dikens3 писал(а):fly писал(а): К примеру прибивать всех, кто отправляет от имени *@мой_домен.ru или с диапазона нашей локальной сети не аутентифицировавшись !!
Не торопиться, а спокойно читать доки, пробовать, просветление придёт. Потом вопросы сами отпадут.fly писал(а):Хмм а что тогда в этой ситуации можно придумать?
Код: Выделить всё
) TYPE=MyISAM COMMENT='Exim and dovecot Admin - Virtual Vacation';
Код: Выделить всё
) ENGINE=MyISAM COMMENT='Exim and dovecot Admin - Virtual Vacation';