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
しかし、おそらく上記の例と同じ理由で、常に認証失敗になりますか?
ワオ。
/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
をアンインストールし、このバグを修正する 非公式パッケージ を使用することです。
[ ソース ]