久久精品水蜜桃av综合天堂,久久精品丝袜高跟鞋,精品国产肉丝袜久久,国产一区二区三区色噜噜,黑人video粗暴亚裔

Xlight FTP/使用ODBC用戶數(shù)據(jù)庫(kù)

來(lái)自站長(zhǎng)百科
夢(mèng)回千禧年討論 | 貢獻(xiàn)2011年8月5日 (五) 18:01的版本 (以內(nèi)容“{{Xlight FTP}} ==使用Xlight FTP服務(wù)器的ODBC功能== Xlight FTP服務(wù)器可以使用外部的用戶數(shù)據(jù)庫(kù)獲得用戶參數(shù).注意: 只有專業(yè)版本的Xl...”創(chuàng)建新頁(yè)面)
(差異) ←上一版本 | 最后版本 (差異) | 下一版本→ (差異)
跳轉(zhuǎn)至: 導(dǎo)航、? 搜索

Xlight FTP | Xlight FTP安裝 |Xlight FTP使用

使用Xlight FTP服務(wù)器的ODBC功能

Xlight FTP服務(wù)器可以使用外部的用戶數(shù)據(jù)庫(kù)獲得用戶參數(shù).注意: 只有專業(yè)版本的Xlight FTP服務(wù)器有這個(gè)功能, 用戶在30-天試用期也可以試用這個(gè)功能.使用外部用戶數(shù)據(jù)庫(kù)方便系統(tǒng)管理員管理大量用戶.

使用外部用戶數(shù)據(jù)庫(kù)需要配置ODBC數(shù)據(jù)源. 下面以MySQL數(shù)據(jù)庫(kù)為例. 對(duì)于其他數(shù)據(jù)庫(kù),設(shè)置方法很類似.

使用這個(gè)功能之前, 你首先需要設(shè)置ODBC數(shù)據(jù)源.

1. MySQL ODBC數(shù)據(jù)源可以在網(wǎng)址http://www.mysql.com/downloads/api-myodbc.html下載.在運(yùn)行Xlight FTP服務(wù)器的機(jī)器上安裝MySQL ODBC數(shù)據(jù)源.

2. 安裝完mysql ODBC數(shù)據(jù)源后你需要到Windows"控制面板-管理工具"中在"系統(tǒng)DSN"標(biāo)簽內(nèi)添加MySQL數(shù)據(jù)源.

3. 選擇"系統(tǒng)DSN"內(nèi)的"添加(D)..."按鍵,選擇"MySQL ODBC Driver",按"完成"按鍵.

4. 在這個(gè)例子里, 我們使用 "Xlight FTP Server" 作為數(shù)據(jù)源名字. 你可以使用任何數(shù)據(jù)源名字. 這里假定MySQL數(shù)據(jù)庫(kù)在遠(yuǎn)端192.168.11.2的LINUX服務(wù)器上. 我們現(xiàn)要在其中創(chuàng)建一個(gè)名字是"ftp_user_db"的空數(shù)據(jù)庫(kù). 這里你可以使用任何數(shù)據(jù)庫(kù)名字. 在機(jī)器192.168.11.2上, 在MySQL命令提示符 mysql>, 鍵入命令"create database ftpd_user_db;" 創(chuàng)建一個(gè)名字是 "ftpd_user_db" 的數(shù)據(jù)庫(kù).

9.png

5. 你需要在Xlight FTP服務(wù)器的 [全局選項(xiàng)]->[高級(jí)]->[ODBC 數(shù)據(jù)庫(kù)設(shè)置] 中配置外部數(shù)據(jù)庫(kù)". 你需要填入數(shù)據(jù)庫(kù)用戶和密碼,以及ODBC數(shù)據(jù)源. 如果你想手工創(chuàng)建數(shù)據(jù)庫(kù)表, 你可以跳到步驟 7. 在這個(gè)例子里,我們假定數(shù)據(jù)庫(kù)用戶"test"對(duì)數(shù)據(jù)庫(kù)"ftpd_user_db"有完全的訪問(wèn)權(quán)限. 你可以點(diǎn)擊"創(chuàng)建"鍵,讓Xlight FTP服務(wù)器替你在數(shù)據(jù)庫(kù)里創(chuàng)建需要的數(shù)據(jù)庫(kù).你也可以點(diǎn)擊"測(cè)試"鍵,檢查你是否已正確創(chuàng)建數(shù)據(jù)表. 注意: 對(duì)于64bit系統(tǒng), 你需要用32bit ODBC管理程序設(shè)置DNS. 32bit ODBC管理程序在C:\Windows\sysWOW64\odbcad32.exe. 10.png


6. 通過(guò)ODBC使用外部用戶數(shù)據(jù)庫(kù)認(rèn)證, 你需要到 [虛擬服務(wù)器設(shè)置]->[通用]->[虛擬服務(wù)器], 選擇選項(xiàng)"啟用外部用戶鑒權(quán)" . 單擊"設(shè)置..."鍵, 在虛擬服務(wù)器的"鑒權(quán)類型" 中必須選擇ODBC, 如下圖所示:

11.png


7. 這個(gè)步驟只是用于手工創(chuàng)建數(shù)據(jù)庫(kù)表. 如果你已經(jīng)在第5步完成數(shù)據(jù)庫(kù)表的創(chuàng)建,你可以忽略這個(gè)步驟. 手工創(chuàng)建數(shù)據(jù)庫(kù)表,在數(shù)據(jù)庫(kù)中需要兩個(gè)表: acct_table and acct_param_table. 你可以在Xlight FTP服務(wù)器的安裝目錄中的odbc目錄下找到文件 "odbc_tables.sql". 你可以用這個(gè)文件手工創(chuàng)建數(shù)據(jù)庫(kù)表.

8. 為了安全的數(shù)據(jù)庫(kù)訪問(wèn), 創(chuàng)建上面兩個(gè)表之后, 你可以在數(shù)據(jù)庫(kù)中創(chuàng)建一個(gè)只讀用戶,他對(duì)"ftp_user_db"的數(shù)據(jù)庫(kù)只有SELECT的權(quán)限,如下所示:

在MySQL命令提示符 mysql>, 鍵入命令 grant select on ftpd_user_db.* anon@'192.168.11.%' Identified by "ftpd"; 這里你創(chuàng)建了一個(gè)新的數(shù)據(jù)庫(kù)用戶"anon",他的密碼是"ftpd",他對(duì)數(shù)據(jù)庫(kù)"ftpd_user_db"只有SELECT的訪問(wèn)權(quán)限. 這個(gè)命令也限制用來(lái)查詢數(shù)據(jù)庫(kù)的訪問(wèn)只能來(lái)自網(wǎng)段"192.168.11.0". 然后你可以將Xlight FTP服務(wù)器的外部ODBC數(shù)據(jù)庫(kù)配置中的用戶和密碼改成這個(gè)只讀用戶.

現(xiàn)在你完成了ODBC設(shè)置步驟. ODBC功能是在每個(gè)虛擬服務(wù)器中單獨(dú)啟用的. 在同一個(gè)Xlight FTP服務(wù)器,你可以有一些虛擬服務(wù)器使用ODBC外部用戶數(shù)據(jù)庫(kù), 而一些不使用. 如果你選擇選項(xiàng) "忽略 host_id 列" 或 "忽略 host_port 列", 在數(shù)據(jù)庫(kù)查詢時(shí), Xlight FTP服務(wù)器將會(huì)忽略 "host_id" 或 "host_port" 列. 因?yàn)?"host_id" 列可以用來(lái)表示不同的機(jī)器, 而 "host_port" 列可以用來(lái)表示在同一臺(tái)機(jī)器上的不同的虛擬服務(wù)器. 這兩個(gè)選項(xiàng)可以用來(lái)在不同運(yùn)行Xlight FTP服務(wù)器的機(jī)器間共享用戶數(shù)據(jù)庫(kù),也可以在同一個(gè)機(jī)器的不同虛擬服務(wù)器間共享用戶數(shù)據(jù)庫(kù). 如果你只用數(shù)據(jù)庫(kù)鑒權(quán)用戶, 你可以選擇選項(xiàng) "只檢查用戶名和密碼", 使用這個(gè)選項(xiàng)你需要在本地FTP服務(wù)器創(chuàng)建同名的用戶. 數(shù)據(jù)庫(kù)只是用來(lái)檢查用戶存在數(shù)據(jù)庫(kù)中的密碼. 當(dāng)這個(gè)選項(xiàng)啟用, 所有的用戶設(shè)置都是從本地服務(wù)器中同名的用戶設(shè)置里獲得.

在數(shù)據(jù)庫(kù)中創(chuàng)建用戶

你可以使用外部的數(shù)據(jù)庫(kù)工具連接到數(shù)據(jù)庫(kù)并創(chuàng)建用戶. 這只是用于測(cè)試目的.

在實(shí)際的生產(chǎn)環(huán)境里, 你可以使用 PHP 或 其他 CGI 腳本創(chuàng)建基于網(wǎng)頁(yè)的界面,用于添加,刪除或允許用戶通過(guò)網(wǎng)頁(yè)更改密碼等等.這種方式便于管理大量的用戶.你也可以和你現(xiàn)有的數(shù)據(jù)庫(kù)應(yīng)用結(jié)合. 因?yàn)?a href="/wiki/Xlight_FTP" title="Xlight FTP">Xlight FTP服務(wù)器只需要讀取用戶數(shù)據(jù)庫(kù), 但不寫(xiě)入用戶數(shù)據(jù)庫(kù), 你不需要擔(dān)心和你其他數(shù)據(jù)庫(kù)應(yīng)用沖突.

在數(shù)據(jù)庫(kù)創(chuàng)建用戶之前, 你最好先閱讀 Xlight 幫助文檔中, "ODBC 數(shù)據(jù)庫(kù)表結(jié)構(gòu)" 這一節(jié).

用戶的密碼可以是以 MD5/SHA1 Hash或明碼的形式存放在數(shù)據(jù)庫(kù). 默認(rèn)是使用MD5 hash. 你可以在虛擬服務(wù)器的外部用戶認(rèn)證,ODBC設(shè)置中更改密碼類型. 如果使用 MD5 hash, 你可以通過(guò)搜索"MD5 calculator" 很容易在Google找到MD5計(jì)算的工具. 在我們的例子里用戶名是 "test" 他的密碼也是 "test" , 密碼的MD5 hash值是"098f6bcd4621d373cade4e832627b4f6". 如下圖所示:

12.png


注意: 如果用戶的主目錄不存在, 當(dāng)他第一次登錄時(shí), Xlight FTP服務(wù)器會(huì)自動(dòng)在本地創(chuàng)建目錄. 例如, 當(dāng)用戶名是"test" 的主目錄"c:\wutemp"不存在. 當(dāng)這個(gè)名字是"test"的用戶登錄時(shí), Xlight FTP服務(wù)器會(huì)自動(dòng)為他創(chuàng)建這個(gè)目錄.

如果你想使用更多的用戶參數(shù), 你可以在數(shù)據(jù)表 "acct_param_table" 中創(chuàng)建 "param_index" 列. 在這一行中填入你想使用的參數(shù), 并且將這個(gè)參數(shù)放到這個(gè)用戶在"acct_table"表中的"param_index"列. 列"param_index"的值可以在不同用戶間共享, 因此如果你有很多用戶有同樣的參數(shù), 在數(shù)據(jù)表 "acct_param_table" 中你不需要?jiǎng)?chuàng)建很多不同的"param_index"行.

13.png


對(duì)于你不使用的數(shù)據(jù)庫(kù)表中的那些列, 你可以讓它們的值為空. 但列 "host_id", "host_port", "username" 是必須的值, 你必須填寫(xiě). 另外如果使用"home_path"列,"home_perm"列也必須填寫(xiě).

"virtual_path_table" 被用來(lái)設(shè)置用戶的虛擬目錄. 一個(gè)用戶在數(shù)據(jù)庫(kù)中可以有多個(gè)虛擬目錄. 這些虛擬目錄在"virtual_path_table"表中有不同或相同的"virtual_path_index". 在"acct_table"中的"virtual_path_indexes"列通過(guò)"virtual_path_index"列鏈接到"virtual_path_table"的一個(gè)或多個(gè)行. 如果他包含多個(gè)"virtual_path_index", 它們之間必須通過(guò)","(逗號(hào))分隔.

14.png


參數(shù)%username%可以用于"virtual_path_table"里的real path. %username%將會(huì)被替換成實(shí)際登錄的用戶名. 如果用戶登錄時(shí)real path不存在, Xlight FTP服務(wù)器將會(huì)自動(dòng)創(chuàng)建目錄.

查找并解決數(shù)據(jù)庫(kù)認(rèn)證問(wèn)題

通過(guò)選中選項(xiàng)"在錯(cuò)誤日志顯示調(diào)試跟蹤信息",可以幫助你查找并解決數(shù)據(jù)庫(kù)認(rèn)證的問(wèn)題,這個(gè)選項(xiàng)可以在[虛擬服務(wù)器設(shè)置]->[啟用外部用戶鑒權(quán)]找到. 啟用這個(gè)選項(xiàng)后, 你可以在錯(cuò)誤日志看到Xlight FTP服務(wù)器數(shù)據(jù)庫(kù)查詢過(guò)程.

使用其他數(shù)據(jù)庫(kù)

當(dāng)用戶登錄Xlight服務(wù)器時(shí),服務(wù)器會(huì)通過(guò)ODBC連接,用SQL語(yǔ)句分兩次查詢數(shù)據(jù)庫(kù)。

第一個(gè)數(shù)據(jù)庫(kù)的SQL查詢用于在數(shù)據(jù)庫(kù)中找到與用戶登錄時(shí)輸入的用戶名,密碼相匹配的紀(jì)錄,并且獲得關(guān)于這個(gè)用戶的一些基本配置參數(shù),如"home_path", "home_perm" 等等. 在這次查詢中返回的"param_index"值將會(huì)同時(shí)用在第二次數(shù)據(jù)庫(kù)查詢。

第二次數(shù)據(jù)庫(kù)的SQL查詢將會(huì)用第一次查詢返回的"param_index"值,查詢數(shù)據(jù)庫(kù)的"acct_param_table",以得到更多的用戶參數(shù)設(shè)置。

Xlight服務(wù)器使用的"acct_table"和"acct_param_table"數(shù)據(jù)庫(kù)表可以不實(shí)際存在與數(shù)據(jù)庫(kù)里. Xlight服務(wù)器并不知道"acct_table"和"acct_param_table"是否存在于數(shù)據(jù)庫(kù)中. 它只是通過(guò)察看兩個(gè)SQL查詢的返回結(jié)果. 如果第一條SQL查詢替換語(yǔ)句從數(shù)據(jù)庫(kù)中返回一行, Xlight服務(wù)器就認(rèn)為用戶登錄驗(yàn)證成功,同時(shí)它會(huì)從返回的行中,獲得用戶的基本配置參數(shù). 如果數(shù)據(jù)庫(kù)沒(méi)有返回結(jié)果,它認(rèn)為用戶登錄驗(yàn)證失敗。 所以數(shù)據(jù)庫(kù)如果不想讓用戶訪問(wèn)服務(wù)器,就不要返回SQL查詢結(jié)果. 在第一條查詢返回的"param_index"值,將會(huì)用在第二條SQL查詢語(yǔ)句中.

Xlight服務(wù)器允許管理員替換上面兩個(gè)SQL查詢語(yǔ)句,以支持高級(jí)的數(shù)據(jù)庫(kù)應(yīng)用,如數(shù)據(jù)庫(kù)的"存儲(chǔ)過(guò)程"(Stored Procedure), 你可以看這個(gè)例子如何使用數(shù)據(jù)庫(kù)存儲(chǔ)過(guò)程

替換第一條內(nèi)部SQL查詢語(yǔ)句 - 在第一條SQL替換語(yǔ)句中,可以使用下面的變量:

$USER - 這個(gè)變量將以用戶的登錄名替換 $PASS - 這個(gè)變量將以用戶的密碼(MD5或Text)替換 $ID - 這個(gè)變量將以"本地主機(jī)ID"替換 $PORT - 這個(gè)變量將以虛擬服務(wù)器的端口替換 $USERIP - 這個(gè)變量將以用戶的IP地址替換 $SERVERIP - 這個(gè)變量將以虛擬服務(wù)器的IP地址替換

例如, 如果用語(yǔ)句 "EXEC proc_getuser '$USER', '$PASS', $ID, $PORT" 作為第一條SQL語(yǔ)句的替換, 當(dāng)用戶是"test"的用戶以密碼"hello"登錄到FTP服務(wù)器21端口, 本地主機(jī)ID是1, 經(jīng)過(guò)替換最后送到數(shù)據(jù)庫(kù)的SQL語(yǔ)句是 "EXEC proc_getuser 'test', 'hello', 21, 0".

替換第二條內(nèi)部SQL查詢語(yǔ)句 - 在第二條SQL替換語(yǔ)句中,可以使用下面的變量:

$INDEX - 這個(gè)變量將會(huì)替換為第一條SQL替換查詢語(yǔ)句返回的"param_index"值. $PORT - 這個(gè)變量將以虛擬服務(wù)器的端口替換 $SERVERIP - 這個(gè)變量將以虛擬服務(wù)器的IP地址替換


Xlight FTP使用手冊(cè)導(dǎo)航

Xlight FTP安裝

Xlight FTP服務(wù)器安裝

Xlight FTP使用

使用Xlight FTP的UPnP功能 | 設(shè)置Xlight FTP SSL/TLS功能 | 設(shè)置Xlight FTP SSH2/SFTP協(xié)議 | UNC路徑賬號(hào)身份模擬功能 | 使用ODBC用戶數(shù)據(jù)庫(kù) | 使用數(shù)據(jù)庫(kù)存儲(chǔ)過(guò)程 | 將文件傳輸日志通過(guò)ODBC寫(xiě)入數(shù)據(jù)庫(kù) | 設(shè)置電子郵件通知 | 整合微軟活動(dòng)目錄 | 整合LDAP服務(wù)器 | 設(shè)置外部認(rèn)證的默認(rèn)用戶