無法登入 IMAP (Dovecot) 伺服器上的任何虛擬用戶:pam_authenticate() 失敗,未知用戶

無法登入 IMAP (Dovecot) 伺服器上的任何虛擬用戶:pam_authenticate() 失敗,未知用戶

注意:本文中的某些內容包含我已刪除的潛在敏感資訊。如果您在任何地方看到隨機堆積的星號,那就是原因。

我正在嘗試在運行 Ubuntu 18.04 LTS 的雲端實例上使用 Postfix、Dovecot、MariaDB 建立電子郵件伺服器。為此,我一直在關注本教程。以前,我曾設法創建一個系統,透過該系統我可以登入關聯資料庫中配置的虛擬用戶,以及發送和接收郵件。

然而,在我將同一個 Web 伺服器設定為使用 OpenDKIM 來增強安全性一段時間後,一切都停止了。我無法登入我的帳戶,也無法再接收任何郵件。

當我嘗試登入時,無論我使用的是 Thunderbird 還是 Roundcube,我的憑證都會被拒絕。

首先,我嘗試使用以下 SQL 查詢更改資料庫中的雜湊值來更改帳戶的密碼:

UPDATE `mailserver`.`virtual_users` SET password=ENCRYPT('newpassword', CONCAT('$6$', SUBSTRING(SHA(RAND()), -16))) WHERE username='************';

我可以使用 phpMyAdmin 明顯看到此變更已成功寫入資料庫,但是當我使用相同的使用者名稱嘗試新密碼時,我被拒絕存取。然後我嘗試創建一個全新的虛擬用戶並登入。我又被拒絕了。

無論我嘗試什麼,伺服器似乎都不會接受有效的憑證。

起初,我認為這可能是資料庫問題,但是當我在使用者、郵箱和別名的查找查詢檔案上執行 postconf 時,每個測試都會給出預期的結果,如教程中所述。所有提及的 SQL 憑證似乎都是正確的。我嘗試重新啟動伺服器,雖然我確實遇到了 MariaDB 由於 apparmor 封鎖而無法重新啟動的問題,但在從系統中完全清除 apparmor 並重新啟動資料庫和所有其他郵件後,我仍然無法登入相關服務。

這最終導致我查看日誌。他們不斷提到一個名為 的函數失敗pam_authenticate。我發現一個問題有類似的問題,但也提到記憶體不足,但我的日誌沒有。

我會給出這些日誌的範例,但 StackExchange 似乎認為它們看起來太像垃圾郵件。對不起!

答案1

橡皮鴨。事實證明我不該auth_username_format進來/etc/dovecot/conf.d/10-auth.conf。透過註解掉它,Dovecot 能夠成功讀取資料庫中的記錄。

相關內容