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

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

おお。

ざっと見て/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非公式パッケージこのバグを修正します。

[ソース]

関連情報