歡迎您光臨本站 註冊首頁

proftpd+mysql與pureftpd+mysql互相轉移的方法

←手機掃碼閱讀     火星人 @ 2014-03-04 , reply:0

proftpd+mysql與pureftpd+mysql互相轉移的方法

用哪個ftp到無所謂,因為用戶信息都存放在資料庫之中,只要將數據表欄位的對應關係找清楚,平滑轉移也應該沒有問題:)
對於proftpd+mysql的users數據表信息,在proftpd.conf中如下描述:
SQLUserInfo                users userid passwd uid gid homedir shell
具體參數含義請參照http://www.proftpd.org/docs/directives/linked/config_ref_mod_sql.html
pureftpd+mysql的配置信息是在pure-ftpd.conf其中包含配置
MySQLConfigFile             /path/to/pureftpd-mysql.conf
具體與資料庫的連接還有用戶表等參數在pureftpd-mysql.conf中:
#如下幾個欄位是users表基本項。
#如果對sql語言熟悉,錶轉換可以很少更改欄位名如Dir在proftpd中是homedir,修改為SELECT homedir FROM users WHERE User="\L"即可。
#
MYSQLGetPW      SELECT Password FROM users WHERE User="\L"
MYSQLGetUID     SELECT Uid FROM users WHERE User="\L"
MYSQLGetGID     SELECT Gid FROM users WHERE User="\L"
MYSQLGetDir     SELECT Dir FROM users WHERE User="\L"
#如下是可選設置,根據需要設定表結構
MySQLGetQTAFS  SELECT QuotaFiles FROM users WHERE User="\L"
MySQLGetQTASZ  SELECT QuotaSize FROM users WHERE User="\L"
MySQLGetRatioUL SELECT ULRatio FROM users WHERE User="\L"
MySQLGetRatioDL SELECT DLRatio FROM users WHERE User="\L"
MySQLGetBandwidthUL SELECT ULBandwidth FROM users WHERE User="\L"
MySQLGetBandwidthDL SELECT DLBandwidth FROM users WHERE User="\L"
#有了如下2項,用戶表可不要uid,gid欄位,我們可不要這麼做:),如果用戶表gid為空,則必須設定默認值,認證過程需要。
#MYSQLDefaultUID 65533  //設定為ftp賬號的組id
MYSQLDefaultGID 65533
==============================================================================
#如果要加快查詢速度,可以用文檔推薦的存儲過程(Mysql5)。
MYSQLGetDir   CALL get_path_from_name("\L")
替代了
MYSQLGetDir   SELECT Dir FROM user WHERE User="\L"
===============================================================================
簡單轉換后,都能正常運行,如果需要進一步的控制設定,可自行調整,包括sql語句的修改。
順便問一下,pureftpd的匿名賬號必須用系統中的ftp么?應該和apache,proftpd一樣可以選定吧~有知道的說一聲啊
《解決方案》

虛擬用戶還是很好的

[火星人 ] proftpd+mysql與pureftpd+mysql互相轉移的方法已經有580次圍觀

http://coctec.com/docs/service/show-post-21147.html