Procmail (ошибка)
Модераторы: SLEDopit, Модераторы разделов
-
CheGevara80
- Сообщения: 85
- ОС: aasp
Procmail
В логах Sendmaila вываливается постояно вот эта ошибка : Warning: program /usr/bin/procmail unsafe: Group writable directory, как от неё избавиться, права на этот файл стоят 755, для проверки поставил, куда еще копнуть можно?
-
Kataklysm
- Сообщения: 280
- ОС: Linux Suse 10.2-10.3 Sles-10.1
Re: Procmail
CheGevara80 писал(а): ↑29.07.2008 14:35В логах Sendmaila вываливается постояно вот эта ошибка : Warning: program /usr/bin/procmail unsafe: Group writable directory, как от неё избавиться, права на этот файл стоят 755, для проверки поставил, куда еще копнуть можно?
Конфиг в студию
-
CheGevara80
- Сообщения: 85
- ОС: aasp
Re: Procmail
Kataklysm писал(а): ↑29.07.2008 16:12CheGevara80 писал(а): ↑29.07.2008 14:35В логах Sendmaila вываливается постояно вот эта ошибка : Warning: program /usr/bin/procmail unsafe: Group writable directory, как от неё избавиться, права на этот файл стоят 755, для проверки поставил, куда еще копнуть можно?
Конфиг в студию
Код:
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/mail/sendmail.cf by running the following command:
dnl
dnl m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf
dnl include(`/usr/share/sendmail-cf/m4/cf.m4')
VERSIONID(`linux setup for Red Hat Linux')dnl
OSTYPE(`linux')
dnl Uncomment and edit the following line if your mail needs to be sent out
dnl through an external mail server:
dnl define(`SMART_HOST',`smtp.your.provider')
define(`confDEF_USER_ID',``8:12'')dnl
undefine(`UUCP_RELAY')dnl
undefine(`BITNET_RELAY')dnl
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
define(`confMILTER_MACROS_ENVFROM', `{auth_type}, {mail_addr}')dnl
define(`confMILTER_MACROS_ENVRCPT', `{rcpt_addr}')dnl
INPUT_MAIL_FILTER(`clmilter',`S=local:/var/run/clamav/clmilter.sock,F=, T=S:4m;R:4m')dnl
INPUT_MAIL_FILTER(`spamassassin', `S=local:/var/run/spamass-milter.sock, F=T, T=C:15m;S:4m;R:4m;E:10m')
define(`confINPUT_MAIL_FILTERS', `spamassassin',`clmilter')
define(`confMILTER_MACROS_CONNECT', `b, j, _, {daemon_name}, {if_name}, {if_addr}')dnl
define(`confMILTER_LOG_LEVEL', `6')
dnl define(`confINPUT_MAIL_FILTERS', `cmilter')dnl
dnl define(`STATUS_FILE', `/etc/mail/statistics')dnl
define(`confUSERDB_SPEC', `/etc/mail/userdb.db')dnl
define(`confPRIVACY_FLAGS',`authwarnings,novrfy,noexpn,restrictqrun')dnl
define(`confAUTH_OPTIONS', `A')dnl
TRUST_AUTH_MECH(`LOGIN PLAIN DIGEST-MD5 CRAM-MD5')dnl
define(`confAUTH_MECHANISMS', `LOGIN PLAIN DIGEST-MD5 CRAM-MD5')dnl
dnl define(`confCACERT_PATH',`/usr/share/ssl/certs')
dnl define(`confCACERT',`/usr/share/ssl/certs/ca-bundle.crt')
dnl define(`confSERVER_CERT',`/usr/share/ssl/certs/sendmail.pem')
dnl define(`confSERVER_KEY',`/usr/share/ssl/certs/sendmail.pem')
dnl define(`confTO_QUEUEWARN', `4h')dnl
dnl define(`confTO_QUEUERETURN', `5d')dnl
dnl define(`confQUEUE_LA', `12')dnl
dnl define(`confREFUSE_LA', `18')dnl
define(`confTO_IDENT', `0')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
dnl FEATURE(use_cw_file)dnl
FEATURE(use_ct_file)dnl
dnl The '-t' option will retry delivery if e.g. the user runs over his quota.
FEATURE(local_procmail,`',`procmail -t -Y -a $h -d $u')dnl
FEATURE(`access_db',`hash -T<TMPF> -o /etc/mail/access.db')dnl
FEATURE(`blacklist_recipients')dnl
FEATURE(`dnsbl', `bl.deadbeef.com', `Rejected - see http://deedbeef.com/')dnl
FEATURE(`dnsbl', `bl.spamcop.net',`Spam blocked - see http://spamcop.net/bl.shtml?$&{cl..._addr}')dnl
dnl FEATURE(`dnsbl', `dul.ru')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.
DAEMON_OPTIONS(`Port=smtp, Name=MTA, M=E')
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
FEATURE(`relay_based_on_MX')dnl
MAILER(smtp)dnl
MAILER(procmail) dnl Cwexample.ru
Запущен еще конфиг который отвечает за копирование почты.
-
Rootlexx
- Бывший модератор
- Сообщения: 4471
- Статус: GNU generation
- ОС: Debian GNU/Linux
Re: Procmail
CheGevara80 писал(а): ↑29.07.2008 14:35Warning: program /usr/bin/procmail unsafe: Group writable directory
Похоже, что папка /usr/bin доступна на запись группе, чего не должно быть.
-
CheGevara80
- Сообщения: 85
- ОС: aasp
Re: Procmail
Rootlexx писал(а): ↑29.07.2008 16:41CheGevara80 писал(а): ↑29.07.2008 14:35Warning: program /usr/bin/procmail unsafe: Group writable directory
Похоже, что папка /usr/bin доступна на запись группе, чего не должно быть.
Спасибо, добрый человек, абсолютно правильно, всё, ошибки нет, тема закрыта.
-
pcodr
- Сообщения: 283
- ОС: Debian
Re: Procmail
Пытаюсь создать конфиг .procmailrc вот уже несколько часов, но ничего не выходит, поэтому прошу вашей помощи.
Приведу то что у меня получилось, и комментарии как я ожидаю это должно работать:
Итого, что я хочу?
Чтобы правило выполнялось только для письма пришедшего с одного определенного адреса (в примере example@some.com), с определенной темой (в примере 32285109328926). Если эти условия выполняются тело письма помещается в переменную и далее мы эту переменную передаем на обработку некой системной команде.
Подскажите, как это сделать правильно?
Приведу то что у меня получилось, и комментарии как я ожидаю это должно работать:
Код: Выделить всё
:0 #смотрим в заголовке пришедшего письма
* ^From:.*example@some.com #распростроняем правило только на письма пришедшие с адреса "example@some.com"
* ^Subject: 32285109328926 #распространяем правило только на письма с темой "32285109328926"
{#если два предыдущих правила выполнились попадаем сюда
:0 B #теперь смотрим в теле письма
* ^.* #этой регулярке должно соответствовать всё тело письма, ну или хотябы его первая строка, письмо предпологается однострочное
BODY="$MATCH" #скидываем полученное соответствие (тело письма) в переменную
| echo "$BODY" | perl -e '...' > /var/mail/result #здесь с телом письма проводим некие действия
}Итого, что я хочу?
Чтобы правило выполнялось только для письма пришедшего с одного определенного адреса (в примере example@some.com), с определенной темой (в примере 32285109328926). Если эти условия выполняются тело письма помещается в переменную и далее мы эту переменную передаем на обработку некой системной команде.
Подскажите, как это сделать правильно?
remote system type is unix