Мой сервер работал, но я установил SpamAssassin
используя учебник от Digital Ocean.
Вот мой /etc/default/spamassassin
:
# /etc/default/spamassassin
# Duncan Findlay
# WARNING: please read README.spamd before using.
# There may be security risks.
# Change to one to enable spamd
ENABLED=1
# Options
# See man spamd for possible options. The -d option is automatically added.
# SpamAssassin uses a preforking model, so be careful! You need to
# make sure --max-children is not set to anything higher than 5,
# unless you know what you're doing.
SAHOME="/var/log/spamassassin/"
OPTIONS="--create-prefs --max-children 2 --username spamd -H ${SAHOME} -s ${SAHOME}spamd.log"
# Pid file
# Where should spamd write its PID to file? If you use the -u or
# --username option above, this needs to be writable by that user.
# Otherwise, the init script will not be able to shut spamd down.
PIDFILE="${SAHOME}spamd.pid"
# Set nice level of spamd
#NICE="--nicelevel 15"
# Cronjob
# Set to anything but 0 to enable the cron job to automatically update
# spamassassin's rules on a nightly basis
CRON=1
И /etc/postfix/master.cf
:
# Postfix master process configuration file. For details on the format
# of the file, see the master(5) manual page (command: "man 5 master" or
# on-line: http://www.postfix.org/master.5.html).
#
# Do not forget to execute "postfix reload" after editing this file.
#
# ==========================================================================
# service type private unpriv chroot wakeup maxproc command + args
# (yes) (yes) (yes) (never) (100)
# ==========================================================================
smtp inet n - - - - smtpd
-o content_filter=spamassassin
#smtp inet n - - - 1 postscreen
#smtpd pass - - - - - smtpd
#dnsblog unix - - - - 0 dnsblog
#tlsproxy unix - - - - 0 tlsproxy
submission inet n - - - - smtpd
-o syslog_name=postfix/submission
-o smtpd_tls_security_level=encrypt
-o smtpd_sasl_auth_enable=yes
-o smtpd_client_restrictions=permit_sasl_authenticated,reject
# -o smtpd_reject_unlisted_recipient=no
# -o smtpd_client_restrictions=$mua_client_restrictions
# -o smtpd_helo_restrictions=$mua_helo_restrictions
# -o smtpd_sender_restrictions=$mua_sender_restrictions
# -o smtpd_recipient_restrictions=
# -o smtpd_relay_restrictions=permit_sasl_authenticated,reject
-o milter_macro_daemon_name=ORIGINATING
smtps inet n - - - - smtpd
-o syslog_name=postfix/smtps
-o smtpd_tls_wrappermode=yes
-o smtpd_sasl_auth_enable=yes
-o smtpd_client_restrictions=permit_sasl_authenticated,reject
# -o smtpd_reject_unlisted_recipient=no
# -o smtpd_client_restrictions=$mua_client_restrictions
# -o smtpd_helo_restrictions=$mua_helo_restrictions
# -o smtpd_sender_restrictions=$mua_sender_restrictions
# -o smtpd_recipient_restrictions=
# -o smtpd_relay_restrictions=permit_sasl_authenticated,reject
-o milter_macro_daemon_name=ORIGINATING
# See the Postfix UUCP_README file for configuration details.
#
uucp unix - n n - - pipe
flags=Fqhu user=uucp argv=uux -r -n -z -a$sender - $nexthop!rmail ($recipient)
#
# Other external delivery methods.
#
ifmail unix - n n - - pipe
flags=F user=ftn argv=/usr/lib/ifmail/ifmail -r $nexthop ($recipient)
bsmtp unix - n n - - pipe
flags=Fq. user=bsmtp argv=/usr/lib/bsmtp/bsmtp -t$nexthop -f$sender $recipient
scalemail-backend unix - n n - 2 pipe
flags=R user=scalemail argv=/usr/lib/scalemail/bin/scalemail-store ${nexthop} ${user} ${extension}
mailman unix - n n - - pipe
flags=FR user=list argv=/usr/lib/mailman/bin/postfix-to-mailman.py
${nexthop} ${user}
spamassassin unix - n n - - pipe
user=spamd argv=/usr/bin/spamc -f -e
/usr/sbin/sendmail -oi -f ${sender} ${recipient}
129,1 Bot
Разрешения следующие:
-rw-r----- 1 root root 329 Oct 17 13:58 dynamicmaps.cf
-rw-r--r-- 1 root root 2237 Oct 17 21:18 main.cf
-rw-r----- 1 root root 1359 Oct 17 18:04 main.cf.orig
-rw-r----- 1 root root 6383 Oct 18 08:47 master.cf
-rw-r----- 1 root root 6068 Oct 17 18:20 master.cf.orig
-rw-r----- 1 root root 160 Oct 17 18:18 mysql-virtual-alias-maps.cf
-rw-r----- 1 root root 151 Oct 17 18:18 mysql-virtual-email2email.cf
-rw-r----- 1 root root 148 Oct 17 18:16 mysql-virtual-mailbox-domains.cf
-rw-r----- 1 root root 147 Oct 17 18:17 mysql-virtual-mailbox-maps.cf
-rw-r----- 1 root root 20281 Feb 5 2015 postfix-files
-rwxr-x--- 1 root root 8861 Feb 5 2015 postfix-script
-rwxr-x--- 1 root root 28047 Feb 5 2015 post-install
drwxr-x--- 2 root root 4096 Feb 5 2015 sasl
Я получаю следующую ошибку:
Oct 18 08:57:57 ubuntuserver postfix/pipe[3132]: 40CA0A1A2C: to=<admin@mydomain.com>, relay=spamassassin, delay=356, delays=355/0.03/0/0.71, dsn=4.3.0, status=deferred (temporary failure. Command output: sendmail: fatal: open /etc/postfix/main.cf: Permission denied )
Следует ли мне изменить разрешения на 777 или что-то в файле конфигурации? Я думаю, это худшая идея.
Я только что установил права доступа 744 для этой папки, но она по-прежнему не работает (я пытался установить разрешения 777 для этого main.cf, но все еще не работает.
Spam Assasin не запускается от имени пользователя root, но spamd
вместо:
spamassassin unix - n n - - pipe
user=spamd argv=/usr/bin/spamc -f -e
/usr/sbin/sendmail -oi -f ${sender} ${recipient}
Сообщение журнала указывает на неправильные разрешения в конфигурации Postfix, когда Spam Assasin пытается доставить отсканированную почту обратно в систему Postfix:
18 октября 08:57:57 ubuntuserver postfix / pipe [3132]: 40CA0A1A2C: to =, relay = spamassassin, delay = 356, delays = 355 / 0,03 / 0 / 0,71, dsn = 4.3.0, status = deferred (временный сбой . Вывод команды: sendmail: fatal: open /etc/postfix/main.cf: отказано в доступе )
sendmail
реализован Postfix в вашей системе.
Вероятно, вы каким-то образом испортили права доступа к файлу конфигурации Postfix. /etc/postfix/main.cf
или /etc/postifx
папка. Оба должны принадлежать root и быть доступными для чтения для всех (но только для записи для root), каталог также требует набора разрешений для исполняемого файла:
$ ls -lad /etc/postfix /etc/postfix/main.cf
drwxr-xr-x 1 root root 146 Aug 12 21:52 /etc/postfix/
-rw-r--r-- 1 root root 1873 Feb 22 2016 /etc/postfix/main.cf
Могут быть конфиденциальные файлы, содержащие учетные данные в /etc/postfix
(например, для доставки смарт-хоста SMTP) - убедитесь, что у них жесткие разрешения!