我在使用 mysql 和 vsftpd 的 PAM 中收到此错误:
PAM 无法 dlopen(/lib/security/pam_mysql.so):/lib/security/pam_mysql.so:未定义符号:make_scrambled_password
据我所知,libmysqlclient.so.18 是问题至少从 libmysqlclient.so.16 开始。看来 pam 中使用的名为 make_scrambled_password 的函数已被弃用。
至少我认为这是问题所在。我该如何解决这个问题?我想我可以破解代码(pam_mysql.c)来找到该函数的替代品,但我希望有一个更简单的选择。
我正在使用 CentOS。
答案1
幸运的是,我找到了一个带有补丁的 rpm:http://rpmfind.net/linux/RPM/epel/6/x86_64/pam_mysql-0.7-0.12.rc1.el6.x86_64.html
我下载了源 RPM 并修补了我的 PAM 版本。
patch < pam_mysql-0.7RC1-scrambled.patch
假设您位于 pam_mysql.c 所在的 Pam 源目录中。
重新编译 pam 和你的设置。呼。