web-dev-qa-db-ja.com

Postfixsmtpdはsaslauthdと通信しません

PAMに対して認証するためのsaslauthdセットアップがあります。それはそのことをしているようです:

root@sasltest:~# testsaslauthd -u quest -p #### -s smtp
0: OK "Success."

Libsasl 2.1.23、接尾辞2.7.1があります。

私はこのように構成された接尾辞を持っています:

smtpd_sasl_type = cyrus
smtpd_sasl_path = /var/spool/postfix/private/saslauthd/mux
smtpd_sasl_auth_enable = yes
broken_sasl_auth_clients = yes
smtpd_sasl_security_options = noanonymous

したがって、master.cfを使用すると:

submission inet n       -       -       -       -       smtpd
  -o smtpd_tls_security_level=encrypt
  -o smtpd_sasl_auth_enable=yes
  -o smtpd_client_restrictions=permit_sasl_authenticated,reject

ただし、この接尾辞で認証しようとすると、次のエラーメッセージが表示されます。

Jan 23 22:13:14 sasltest postfix/smtpd[1252]: warning: SASL authentication problem: unable to open Berkeley db /etc/sasldb2: No such file or directory
Jan 23 22:13:14 sasltest postfix/smtpd[1252]: warning: SASL authentication problem: unable to open Berkeley db /etc/sasldb2: No such file or directory
Jan 23 22:13:14 sasltest postfix/smtpd[1252]: warning: X[A.B.C.D]: SASL LOGIN

認証に失敗しました:認証に失敗しました

その間、私のデバッグログsaslauthdからの出力はありません。

これは、libsasl2がsaslauthdと通信しようとするのではなく、sasldbauthを使用しようとすることを意味すると解釈します。 libsaslにsaslauthdと通信させたいことを伝える方法がわからないこと。

さまざまな手順で、ファイル/etc/sasl2/smtpd.confまたは/etc/postfix/sasl/smtpd.confを作成するように通知されます。私はこれらのファイルを作成しようとしました:

pwcheck_method: saslauthd
mech_list: LOGIN PLAIN

しかし、効果はありません。

Saslauthd認証を使用するようにlibsaslに指示するにはどうすればよいですか?

(もちろん/ var/pool/postfix/etc/sasldb2を作成することはできますが、それでもsaslauthdへの接続は発生しません。)

1
Bittrance

この cyrus-saslメーリングリストの投稿 最終的に私は正しい道を歩み始めました。

後世のために、合理的に明示的な構成を作成する試み。 /etc/postfix/main.cf:

smtpd_sasl_type = cyrus
smtpd_sasl_path = smtpd
cyrus_sasl_config_path = /etc/postfix/sasl
smtpd_sasl_auth_enable = yes
broken_sasl_auth_clients = yes
smtpd_sasl_security_options = noanonymous

上記のconfのトリックは、postfix + libsasl2がこれを行うことです:$ {cyrus_sasl_config_path}/$ {smtpd_sasl_path} .conf

ここまで進んだら、/ etc/postfix/sasl/smtpd.confで、saslauthdと話したいことをlibsaslに伝えることができます。

pwcheck_method: saslauthd
mech_list: LOGIN PLAIN
saslauthd_path: private/saslauthd/mux

Smtpdはchrootされているため、saslauthd_pathは/ var/boost/postfixに相対的です。バインドマウントを使用して、/ var/run/saslauthdをプライベートにします。

2
Bittrance