系統和軟件版本:
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 即可解決,雖然本例並未對筆者的環境有效,但想來這問題在其他環境中也是有的,因此做個簡單的記錄