IMAP (Dovecot) サーバー上の仮想ユーザーにログインできません: pam_authenticate() が失敗しました。不明なユーザーです

IMAP (Dovecot) サーバー上の仮想ユーザーにログインできません: pam_authenticate() が失敗しました。不明なユーザーです

注: この投稿の一部には、潜在的に機密性の高い情報が含まれているため、検閲しました。どこかにアスタリスクが無数に並んでいるのが見える場合は、それが理由です。

私は、Ubuntu 18.04 LTSを実行しているクラウドインスタンス上でPostfix、Dovecot、MariaDBを使用してメールサーバーを作成しようとしています。これを行うには、次の手順に従っています。このチュートリアル以前は、関連データベースに設定された仮想ユーザーにログインし、メールを送受信できるシステムを作成できました。

しかし、セキュリティ強化のために OpenDKIM を使用するように同じ Web サーバーを設定してからしばらく経つと、すべてが機能しなくなりました。アカ​​ウントにログインできなくなり、メールを受信できなくなりました。

ログインしようとすると、Thunderbird を使用しているか Roundcube を使用しているかに関係なく、資格情報が拒否されます。

最初は、次の SQL クエリを使用してデータベース内のハッシュを変更することで、アカウントのパスワードを変更しようとしました。

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

phpMyAdmin を使用すると、この変更がデータベースに正常に書き込まれたことがはっきりとわかりましたが、同じユーザー名で新しいパスワードを試したところ、アクセスが拒否されました。次に、まったく新しい仮想ユーザーを作成してログインしようとしましたが、再び拒否されました。

何を試しても、サーバーは資格情報を有効なものとして受け入れないようです。

最初は、これはデータベースの問題かもしれないと考えましたが、ユーザー、メールボックス、エイリアスのルックアップ クエリ ファイルで postconf を実行すると、チュートリアルで説明されているように、すべてのテストで期待どおりの結果が返されます。SQL 資格情報に関するすべての記述は正しいようです。サーバーの再起動を試みましたが、apparmor によってブロックされたために MariaDB が再起動できないという問題が発生しましたが、apparmor をシステムから完全に削除し、データベースと他のすべてのメール関連サービスを再起動した後でも、ログインできません。

最終的に、ログを確認することになりました。そこには、 という関数の失敗が繰り返し記載されていましたpam_authenticate。同様の問題を抱えている質問を見つけましたが、その質問にもメモリ不足について記載されていましたが、私のログにはその記載はありませんでした。

それらのログの例を挙げたいのですが、StackExchange ではそれらがスパムのように見えると考えているようです。申し訳ありません!

答え1

auth_username_formatラバーダック。を設定すべきではなかったことが判明しました/etc/dovecot/conf.d/10-auth.conf。 コメントアウトすることで、Dovecot はデータベース内のレコードを正常に読み取ることができました。

関連情報