はじめ
結構ハマったのでメモします。
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もそうだと思いますが、パッケージでインストールするとかなり楽ですが、それなりにスキルを身につけようと思えばあえてソースから構築するのもいいかと思います。
ただ、構築作業中にいろんな所でハマると思いますが、解決できたときの充実感はなんとも言えませんね。
今回、かなりググりましたが、解決策が載っているサイトはありませんでした。
そのため、自分で色々試しまくってやっと解決できたので、同じようなエラーで苦しんでいる方がいれば、ご参考になれば幸いです。
コメント