CentOS 7でpostfix + cyrusを実行して、smtpで認証するのが困難です。
ローカルでポート25(または587)にtelnetで認証しようとすると、メールログに次のエラーが表示されます。
9月25日10:25:00blabla postfix/smtpd [3858]:警告:SASL認証の問題:Berkeleyデータベースを開くことができません/ etc/sasldb2:アクセスが拒否されました
9月25日10:25:00blabla postfix/smtpd [31106]:警告:SASL認証の失敗:パスワードの検証に失敗しました
9月25日10:25:00blabla postfix/smtpd [31106]:警告:不明[:: 1]:SASLプレーン認証に失敗しました:認証に失敗しました
Sasldb2が何かとどう関係しているか、その警告が問題に実際に関係しているかどうかは不明です。同じ資格情報を持つtestsaslauthdはOKを返します。
Postfixはnot chrootモードで実行しています:
smtp inet n --n --- smtpd
smtps inet n --n --- smtpd
送信inet n-n--smtpd
-osmtpd_sasl_auth_enable = yes
認証に/ etc/shadowを使用しているので、ps aux | grep saslのコメント:
/ usr/sbin/saslauthd -m/var/run/saslauthd -aシャドウ
ソケットディレクトリは/ var/run/saslauthdなので、main.cfには次のものがあります。
smtpd_sasl_path =/var/run/saslauthd /
smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous
smtpd_sasl_local_domain = $ myhostname
tls_random_source = dev:/ dev/urandom
smtpd_sasl_local_domain =
broken_sasl_auth_clients =はい
smtpd_sasl_exceptions_networks =
smtpd_recipient_restrictions =
permit_sasl_authenticated、
permit_mynetworks、
reject_unauth_destination、
[。
最後に、/ etc/sasl2 /smtpd.confには次のものがあります。
pwcheck_method:saslauthd
mech_list:プレーンログイン
saslauthd_path:/ var/run/saslauthd /
allow_plaintext:true
ポインタはありますか?私は困惑しています...オンラインで見つけたほとんどのドキュメントはchrootされたpostfix設定またはより複雑な認証方法を指しているようです。
ありがとう!
エラーメッセージ
berkeley db/etc/sasldb2を開くことができません:アクセスが拒否されました
権限の問題のため、postfixがそのディレクトリを開くことができないという一般的なメッセージでした。 chmodやchownを使用して、/etc/sasldb2
へのアクセスをpostfixに許可します
chown postfix:postfix /etc/sasldb2
chmod 660 /etc/sasldb2
または
chmod 644 /etc/sasldb2
セキュリティ上の理由から、最初のオプションをお勧めします。
参照: blog.penumbra.be | www.murat.ws | このスレッド