如何在 MySQL 上使用 PAM(在 Xenial 上)?

如何在 MySQL 上使用 PAM(在 Xenial 上)?

我正在运行 Ubuntu 16.04 并安装了libpam-mysqlpamtester为了测试该模块,我尝试运行以下命令:

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并使用非官方软件包修复了此错误。

[来源]

相关内容