web-dev-qa-db-ja.com

MySQL(Xenial上)でPAMを使用するにはどうすればよいですか?

Ubuntu 16.04を実行しており、libpam-mysqlおよびpamtesterをインストールしています。モジュールをテストするために、次のコマンドを実行してみました。

pamtester --item user=X --item passwd=X --item Host=127.0.0.1 --item db=X --item table=X --item usercolumn=X --item passwdcolumn=X --item crypt=1 mysql branja authenticate

ただし、常にエラーメッセージが返されます。

pamtester: Unknown item type "passwd"

指定したすべての接続情報が有効であることを保証できますが、認証はそこまで到達する前に失敗します。私が与えたものではないにしても、必要なパラメーターに関する情報を見つけることができないようです。


また、以下を/etc/pam.d/mysqlに入れてみました:

auth required pam_mysql.so user=X passwd=X Host=127.0.0.1 db=X table=X usercolumn=X passwdcolumn=X crypt=1
account sufficient pam_mysql.so user=X passwd=X Host=127.0.0.1 db=X table=X usercolumn=X passwdcolumn=X crypt=1

しかし、おそらく上記の例と同じ理由で、常に認証失敗になりますか?

1
Jared Brandt

ワオ。

/var/log/auth.logを参照して次のメッセージを確認した後、これはlibpam-mysqlパッケージのバグが原因であることが最終的にわかりました。

PAM unable to dlopen(pam_mysql.so): /lib/security/pam_mysql.so: undefined symbol: make_scrambled_password
PAM adding faulty module: pam_mysql.so

興味のある人のための解決策は、公式のlibpam-mysqlをアンインストールし、このバグを修正する 非公式パッケージ を使用することです。

[ ソース ]

1
Jared Brandt