web-dev-qa-db-ja.com

UbuntuでPostfixを使用したDovecot:警告:SASL:private / auth-clientへの接続に失敗しました:そのようなファイルまたはディレクトリはありません

Dovecotを起動させることができないようです。私のログは次のものを示し続けます:

connect from localhost[127.0.0.1]
Mar  1 17:15:01 mac postfix/smtpd[32526]: warning: SASL: Connect to private/auth-client failed: No such file or directory
Mar  1 17:15:01 mac postfix/smtpd[32526]: fatal: no SASL authentication mechanisms
Mar  1 17:15:02 mac postfix/master[21369]: warning: process /usr/lib/postfix/smtpd pid 32526 exit status 1
Mar  1 17:15:02 mac postfix/master[21369]: warning: /usr/lib/postfix/smtpd: bad command startup -- throttling
Mar  1 17:15:03 mac postfix/smtpd[32546]: connect from localhost[127.0.0.1]
Mar  1 17:15:03 mac postfix/smtpd[32546]: warning: SASL: Connect to private/auth-client failed: No such file or directory
Mar  1 17:15:03 mac postfix/smtpd[32546]: fatal: no SASL authentication mechanisms
Mar  1 17:15:04 mac postfix/master[21369]: warning: process /usr/lib/postfix/smtpd pid 32546 exit status 1
Mar  1 17:15:04 mac postfix/master[21369]: warning: /usr/lib/postfix/smtpd: bad command startup -- throttling

私の/etc/postfix/main.cfには:

home_mailbox = Maildir/
mailbox_command =
inet_protocols = ipv4
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth-client
smtpd_sasl_local_domain =
smtpd_sasl_security_options = noanonymous

グーグルすると、次のようなクライアントブロックを追加する必要があるように見えます。

client {
  path = /var/spool/postfix/auth/dovecot
  mode = 0660
  user = postfix
  group = mail
}

しかし、私が見つけたすべての例以来、dovecotは変更されているようです。そのため、どこに配置するかわかりません。 Dovecot2.0.13を使用しています

これを修正する方法はありますか?ありがとう!

4
99miles

私はこれを探し回ってみて、何も見つかりませんでした。 Dovecot 2.0.19を使用しています。

最終的に/etc/dovecot/conf.d/10-master.confを編集し、以下を設定して修正を見つけました。

  # Postfix smtp-auth
  unix_listener /var/spool/postfix/private/auth_client {
    mode = 0666
    user = postfix
  }

次に、dovecotを再起動します(「servicerestartdovecot」)

ファイル/etc/dovecot/conf.d/10-master.confがない場合は、/ etc/dovecotをgrepして、構成されている可能性のある場所を見つけてください。

cd /etc/dovecot
grep -ri postfix *

/ var/pool/postfixのどこかにパスを宣言しているファイルを探し、必要に応じて調整します。私のdovecot構成では、unix_listenerがコメント化されており、間違ったファイル(/ var/spool/postfix/private/auth)を指しています。

2
James K

もちろん、DovecotとPostfixでソケットのパス名が一致している必要があります。そうでない場合、存在しないソケットに接続しているという明らかな理由により、そのようなファイルまたはディレクトリエラーは発生しません。

いずれかのパス名を選択し、DovecotとPostfixで同じように構成します。たとえば、Dovecotの設定をPostfixが期待しているものと一致させます。

auth default {
  ...
  socket listen {
    ...
    client {
      path = /var/spool/postfix/private/auth-client
      mode = 0660
      user = postfix
      group = mail
    }
    ...
  }
  ...
}
1
Celada

は新しいソケット認証の名前であるため、auth-clientをdovecot-authに変更する必要があります。 /var/spool/postfix/private/にあります。したがって、/var/spool/postfix/private/dovecot-authの代わりに/var/spool/postfix/private/auth-clientを入れてください。

同じ問題が発生し、これで解決しました。

0
Juan