web-dev-qa-db-ja.com

SpamAssassinsendmailの許可がPostfixで拒否されました

サーバーは機能しましたが、 Digital Oceanのチュートリアル を使用してSpamAssassinをインストールしました。

これが私の/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=<[email protected]>, 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の権限を設定しましたが、それでも機能しません(このmain.cfに777の権限を設定しようとしましたが、まだ機能しません。

4
frvzuaex

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システムに返送しようとしたときに、Postfix設定に対する不適切な権限を示しています。

10月18日08:57:57ubuntuserver 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:Permission denied

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スマートホスト配信の場合)-それらが厳密なアクセス許可を持っていることを確認してください!

2
Jens Erat