Ubuntu
Ubuntu 16.04 新郵件伺服器可以接收但不能發送電子郵件
我遵循了在 Digitalocean 上找到的分步教程,如何使用 Postfix、Dovecot、Mysql 在 Ubuntu 上設置郵件伺服器(我將最後一個更改為 MariaDB)。
我面臨的問題是我能夠接收郵件,但我無法發送任何郵件。
也許很高興知道我使用我的使用者和關鍵字完成了整個安裝
sudo
。所以我已經有這個問題兩週了,嘗試了很多東西,是時候在這裡試試我的運氣了。
執行時
sudo service postfix status
我看到以下錯誤返回May 06 09:27:05 mailserver01 postfix/qmgr[8494]: 6AC1F2C093A: from=<info@mydomain.be>, size=652, nrcpt=1 (queue active) May 06 09:27:05 mailserver01 postfix/postdrop[25691]: fatal: /etc/postfix/dynamicmaps.cf: file open failed: Permission denied May 06 09:27:06 mailserver01 postfix/sendmail[25689]: warning: command "/usr/sbin/postdrop -r" exited with status 1 May 06 09:27:06 mailserver01 postfix/sendmail[25689]: fatal: info@purewebdesign.be(1001): unable to execute /usr/sbin/postdrop -r: Success May 06 09:27:06 mailserver01 postfix/pipe[25688]: 6AC1F2C093A: to=<jav@gmail.com>, relay=spamassassin, delay=147723, delays=147722/0/0/1, dsn=4.3.0, status=deferred (temporary failure. Command output: postdrop: fatal: /etc/postfix/dynamicmaps.cf: file open failed: Permission denied sendmail: status=deferred (temporary failure. Command output: postdrop: fatal: /etc/postfix/dynamicmaps.cf: file open failed: Permission denied sendmail: warning: command "/usr/sbin/postdrop -r" exited with status 1 sendmail: fatal: info@purewebdesign.be(1001): unable to execute /usr/sbin/postdrop -r: Success ) May 06 09:33:48 mailserver01 postfix/submission/smtpd[25746]: connect from cust-228-37-109-94.dyn.as47377.net[94.109.37.228]
也許這可能是我知道的權限問題,但為了清楚起見,我已經嘗試使用 root、postfix、myuser、dovecot、spamd 作為該組的使用者創建一個新組。然後我授予該組對該後綴文件夾和子文件夾的讀寫權限。沒有運氣…
這是今天的權限:
-rw-r----- 1 root root 153 Apr 28 12:51 dynamicmaps.cf -rw-r--r-- 1 root root 2674 May 5 09:05 main.cf -rw-r----- 1 root root 1388 Apr 28 14:23 main.cf.orig -rw-r----- 1 root root 6261 May 5 09:49 master.cf -rw-r----- 1 root postfix 142 May 1 13:07 mysql-virtual-alias-maps.cf -rw-r----- 1 root postfix 130 May 1 13:08 mysql-virtual-mailbox-domains.cf -rw-r----- 1 root postfix 129 May 1 13:07 mysql-virtual-mailbox-maps.cf -rw-r----- 1 root root 21233 Apr 13 2016 postfix-files -rwxr-x--- 1 root root 9344 Apr 13 2016 postfix-script -rwxr-x--- 1 root root 29446 Apr 13 2016 post-install drwxr-x--- 2 root root 4096 Apr 13 2016 sasl
有人知道如何解決這個問題嗎?
postdrop
通常應用了 setgid 位,這意味著當 spamassasin 等其他程序使用它來傳遞郵件時,該程序在其他程序使用者(例如 spamassasin)下執行,但是postdrop
’s 組:$ ls -la `which postdrop` -r-xr-sr-x 1 root postdrop 14328 Feb 5 2015 /usr/sbin/postdrop ^ ^ | | setgid bit set executed with postdrop's privileges
現在日誌告訴您,
postdrop
無法訪問它必須讀取的配置文件:May 06 09:27:05 mailserver01 postfix/postdrop[25691]: fatal: /etc/postfix/dynamicmaps.cf: file open failed: Permission denied
查看文件的權限,文件是root使用者可讀寫的,root組是可讀的。其他任何人都無法閱讀它(這是一件好事)。
-rw-r----- 1 root root 153 Apr 28 12:51 dynamicmaps.cf
要解決此問題,請將文件的所有權更改為
postdrop
組 (chown postdrop /etc/postfix/dynamicmaps.cf
)。讀取權限應該足夠了,所以沒有理由修改權限。如果其他文件也需要調整權限,請逐個進行(或僅仔細重新考慮所需權限)。通常,如果伺服器程序辨識出廣泛授予的權限以通知您消除由系統上每個人的特別讀寫權限引起的安全問題,則它們會拒絕執行任何操作。