web-dev-qa-db-ja.com

Dovecot IMAP認証に失敗しました

Dovecot IMAPサーバーに接続しようとすると、認証に失敗したというメッセージが表示されます。このメッセージは/var/log/mail.logファイルからのものです。

Feb  7 15:22:17 celestine dovecot: imap-login: Disconnected (auth failed, 1 attempts in 2 secs): user=<celestine>, method=PLAIN, rip=::1, lip=::1, TLS, session=<QsPvvtbx5AAAAAAAAAAAAAAAAAAAAAAB>

Roundcube Webメールプログラムに接続してみましたが、IMAPログに次のように表示されています。

[07-Feb-2014 15:22:15 -0500]: [A4F2] S: * OK [CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID ENABLE IDLE AUTH=PLAIN] Dovecot ready.
[07-Feb-2014 15:22:15 -0500]: [A4F2] C: A0001 ID ("name" "Roundcube" "version" "0.9.5" "php" "5.4.4-14+deb7u7" "os" "Linux" "command" "/")
[07-Feb-2014 15:22:15 -0500]: [A4F2] S: * ID NIL
[07-Feb-2014 15:22:15 -0500]: [A4F2] S: A0001 OK ID completed.
[07-Feb-2014 15:22:15 -0500]: [A4F2] C: A0002 AUTHENTICATE PLAIN AGNlbGVzdGluZQAxMDA5OTU=
[07-Feb-2014 15:22:17 -0500]: [A4F2] S: A0002 NO [AUTHENTICATIONFAILED] Authentication failed.

別のプログラムに接続しようとすると、それも機能しません。

SSLを有効にしているので、IMAPサーバーはポート993で実行されています。以下は私の/etc/dovecot/dovecot.confです。

disable_plaintext_auth = no
mail_privileged_group = mail
mail_location = mbox:~/mail:INBOX=/var/mail/%u
userdb {
  driver = passwd
}
passdb {
  driver = passwd
}

protocols = "imap"

protocol imap {
  mail_plugins = " autocreate"
}
plugin {
  autocreate = Trash
  autocreate2 = Sent
  autosubscribe = Trash
  autosubscribe2 = Sent
}

service auth {
  unix_listener /var/spool/postfix/private/auth {
    group = postfix
    mode = 0660
    user = postfix
  }
}

ssl = required
ssl_cert = </etc/ssl/localcerts/mail.pem
ssl_key = </etc/ssl/localcerts/mail.key

PostfixがインストールされたDebianSqueezeを使用しています。

1
dengsn

最初に、ユーザーcelestine(パスワード100995を使用)がシステムに正しく設定されていると想定します(単純に、ログインが成功し、エラーや警告が出ていないかどうかを確認します)。

Dovecot.confによると、Lookup databasewithpasswdを使用して、サーバー認証プロセスを設定します。。これはユーザーデータベースとしては問題ありませんが、passwdがPassword Databaseの場合、公式のDovecotのドキュメントに記載されているように、Debianではユーザーのパスワードを取得できません。

hxxp://wiki2.dovecot.org/AuthDatabase/Passwd:

ユーザーデータベースとして最も一般的に使用されます。最近の多くのシステムはシャドウパスワードを使用しているため、通常はパスワードデータベースとして機能しません。

この問題を回避するには、

passdb {
  driver = shadow
}

Passwd-file でpassdbを使用することもできますが、Dovecot認証システム PAMを使用 をセットアップすることをお勧めします。

頑張って、メゴディン

6
Megodin

Imapサーバーが入力されたすべてのユーザー名を小文字に変更することがわかりました。そのため、自分が書いたと思った名前のユーザーがいませんでした。私はすべて小文字のユーザーを作成しましたが、問題なく動作しました。

0
JVE999