系统和软件版本:

CentOS release 5.5 x86_64

vsftpd-2.0.5-28.el5

mysql-server-5.0.95-3.el5

pam_mysql-0.7RC1.tar.gz 编译安装

 

以此前写过的 vsftpd+TLS+MySQL 的解决方案,始终无法正常登陆ftp服务器,折腾了两个小时后,无意间查到修改mysql的/etc/my.conf的old_passwords=1修改为old_passwords=0,竟然好了~

经过搜索得知,在mysql4.1前后的,其加密方式的有所改变,而old_passwords=1使得mysq仍使用老的加密方式,因此和pam_mysql的加密结果不同,而导致登陆失败的。所以当修改old_passwords=0后,删除原来在mysql中插入的数据,重新写入,再次测试即可通过。

顺便说一下,在网上搜索问题时,有网友说是因为pam连接mysql时,使用的sock文件和mysql自身放置的位置不同,因此做链接 # ln -sf /var/lib/mysql/mysql.sock /tmp/mysql.sock 即可解决,虽然本例并未对笔者的环境有效,但想来这问题在其他环境中也是有的,因此做个简单的记录