關於vsftpd與mysql結合的問題,參考了網上不少的方案,結果到最後,都是login incorrect,非常納悶html
(配置基本參考這個:http://www.howtoforge.com/vsftpd_mysql_debian_etch_p2, 數據庫建立參考別的,簡單的那種)mysql
不當心發現每次數據庫連接,mysql的id都會+1,因而發現及時我登錄失敗,也是進行了mysql驗證,也就是說,個人/etc/vsftpd.conf的配置都是對的,問題是出在pam.d/vsftpd的配置或者密碼驗證。sql
檢查了好久vsftpd的配置,沒問題,突然想到了數據庫存的用戶名和密碼,都是char(16),char是固定長度,會不會和這個有關;同時也想到,經過mysql的password加密後,是否長度大於16數據庫
因而作了改動,類型都改爲varchar,passwod改爲長度30,發現依舊有錯。看了下實際數據庫裏的這個字段,發現恰好長度也是30,也許還須要增加,後來擴到到50,發現登錄沒錯了。此時遺留了一個問題,就是權限等等,都臨時解決了函數
後來看到(http://www.diybl.com/course/7_databases/mysql/myshl/20090721/168051.html )中有說」須要注意的是,從MySQL4.1版本開始,password()函數生成的加密字串須要佔用41個字節,所以vusers表中的passwd字段寬度應大於或等於該值,不然將致使虛擬用戶驗證失敗 「,印證了個人想法,同時想起了最先每次插入數據的時候都有一個warning,原來是截斷處理了,惋惜沒注意加密
結論:參考別人的方法的時候必定要考慮本身的本地環境,一切都要本地化,不能盲從htm