🦔
dovecotでメールのパスワードとログインのパスワードを分ける
パスワードをログインパスワードと分けたい
POP/IMAPサーバーにログインするためのパスワードは、通常はログインパスワードと一緒になります。
ログインパスワードと分けたいという要望は高いと思います。
方法は色々あるようですが、一番簡単なファイルによる手作業での更新をします。
以下の作業は、debian 12での作業記録です。
/etc/dovecot/conf.d/10-auth.conf
以下をコメントアウトします。(このシステムを使わない)
# !include auth-system.conf.ext
以下を追記します。(パスワードファイルを使う)
userdb {
driver = passwd
}
passdb {
driver = passwd-file
args = /etc/dovecot/users
}
/etc/dovecot/conf.d/10-mail.conf
以下を追記します。
# dovecotの指定が必要
mail_uid = dovecot
mail_gid = dovecot
# このuid,gid以下のidのユーザーはアクセスできない
first_valid_uid = 106
first_valid_gid = 113
/etc/dovecot/users
ファイルを新規作成し、ファイルのオーナーとパーミッションを変更
sudo touch /etc/dovecot/users
sudo chown dovecot:dovecot /etc/dovecot/users
sudo chmod 0640 /etc/dovecot/users
手作業でパスワードを追記する。フォーマットは次の通り。
ユーザー名:{パスワードの種類}パスワード:ホームディレクトリ
user_name:{PLAIN}password:/home/user_name
プレーンテキストで保存するのが嫌な場合は、次のコマンドでパスワードをハッシュ化できる。
doveadm pw -s SHA512-CRYPT
上記コマンドの結果を下のように記入する。
user_name:{SHA512-CRYPT}$6$PV19aOUUAA9D17IX$CdWRAGsL9s9XdagYjQ.jjBbeu3HKgRenEBl3ACdxK6XJgU0tOwUuVtOoFejAxWewijbxBFt.f4t4I28wChhQM/:/home/user_name
dovecotを再起動する
sudo systemctl restart dovecot
起動しているか確認
sudo systemctl status dovecot
検証について
設定が正しくても、メールクライアントの挙動でアクセスできないことは多い。[1]
設定が正しいかは、telnetで確認した方が良い。
telnetでアクセスできれば、他の要素でメールクライアントが使えないだけである。
-
SMTPが正しくないとか、暗号化されてないとか。どちらもPOP3の設定と直接関係がない。ThunderBirdとApple Mailでも挙動が違う。 ↩︎
Discussion