web-dev-qa-db-ja.com

PAMはmysqlで認証されません(make_scrambled_pa​​sswordは非推奨)

私はこれを検索するのにしばらく時間を費やしましたが、現在の更新のためにmysqlを介して認証されないPAMに問題があるのは私だけのようですので、ここに問題を投稿し、解決策が見つかった場合はここにも投稿しますフォローする他の人。

要するに-私はsaslauthdとdovecotでpostfixを実行しています。どちらも、資格情報ソースとしてmysqlを使用するpamを介して認証しています。

今日の更新まですべてが正常に機能していました-メールサーバーに接続できなくなりました。ログに表示される内容は次のとおりです。

PAM unable to dlopen(/usr/lib/security/pam_mysql.so): /usr/lib/security/pam_mysql.so:     undefined symbol: make_scrambled_password
PAM adding faulty module: /usr/lib/security/pam_mysql.so
DEBUG: auth_pam: pam_authenticate failed: Module is unknown
do_auth         : auth failure: [user=xxxx] [service=smtp] [realm=xxxx] [mech=pam] [reason=PAM auth error]

したがって、私は間違っているかもしれませんが、私の理解では、pam_mysql.soは、mysqlでサポートされなくなった非推奨のmake_scrambled_pa​​sswordを使用しています。

私は解決策が何であるかわかりません、そして誰かがアドバイスをすることができれば感謝します。


プロジェクトページでソースコードを確認したところ、非推奨の関数が使用されていることがわかりました。したがって、これはpam_mysqlのバグのようであり、更新が必要になります([pam_mysqlsourceforgeページで報告されたバグ] [1]およびArchコミュニティのバグトラッカー( https://bugs.archlinux.org/task/39083?project = 5&pagenum = 1 ))


インターネットに関する回避策のパッチを見たことがあります( https://lists.fedoraproject.org/pipermail/scm-commits/2011-June/613231.html )が、それがに適しているかどうかはわかりません本番環境。自分でパッチを当てる必要があるようです。他の人が使用できるように、ここにパッチを投稿します。

どうもありがとう、グレッグ

1
Greg0ry

プロジェクトがほぼ6年間停止したため、pam_mysqlのサポートが終了しました。解決策は、移行して別のpamバックエンドを使用することです。

私はcyrussaslを使用していました-これはアンインストールされ、postfixによって認識されるsmtpd認証バックエンドを提供するdovecotに置き換えられました。 SQLをネイティブに使用するようにdovecotを構成しました(途中でpamを使用しません)。

0
Greg0ry