DovecotのSASL認証エラーを解決(user not found from userdb)

NEWS
この記事は約3分で読めます。

はじめ

結構ハマったのでメモします。

PostfixとDovecotをソースからコンパイルしてSMTP認証(Dovecot+SASL)を実装したメールサーバを構築しようとしたのですが、user not found from userdb エラーが出て苦戦。

ローカル端末にThunderbirdをインストールし、該当アカウントのメールをimapで受信しようとするが上記エラーで失敗。

結構ハマりました。。

でもやっと解決しました。

原因

時間がないので詳細はまた後日、記載しようと思うのですが、エラーの原因はDovecot+SASL認証用のパスワードファイル、今回は自分用に新しく作成したファイル、passwd(/etc/dovecot/passwd)の記載フォーマットが間違っていました。

正しくは/etc/passwdのフォーマットとほぼ同じで、/etc/passwdから該当ユーザの行をヤンク(コピー)し、/etc/dovecot/passwdに貼り付けます。

貼り付けた後、以下のフォーマットに変更します(私はSSL認証させているので「PLAIN」にしています)

アカウント名:{PLAIN}パスワード:ユーザID:グループID::/home/your_account_name:/bin/bash

後は念のため、dovecotを再起動(再起動しなくても、ファイルを修正すれば即反映されました)。

ローカル端末のThunderbirdで無事、受信することができることを確認します。

まとめ

もう寝ないとまずいので走り書きでメモりましたが、やっと解決できてぐっすり寝られそうです(笑)。

PostfixもDovecotもそうだと思いますが、パッケージでインストールするとかなり楽ですが、それなりにスキルを身につけようと思えばあえてソースから構築するのもいいかと思います。

ただ、構築作業中にいろんな所でハマると思いますが、解決できたときの充実感はなんとも言えませんね。

今回、かなりググりましたが、解決策が載っているサイトはありませんでした。

そのため、自分で色々試しまくってやっと解決できたので、同じようなエラーで苦しんでいる方がいれば、ご参考になれば幸いです。

コメント

タイトルとURLをコピーしました