Serv-U是一種被廣泛運(yùn)用的FTP服務(wù)器端軟件,支持3x/9x/ME/NT/2K等全Windows系列。可以設(shè)定多個(gè)FTP服務(wù)器、限定登錄用戶的權(quán)限、登錄主目錄及空間大小等,功能非常完備。 它具有非常完備的安全特性,支持SSl FTP傳輸,支持在多個(gè)Serv-U和FTP客戶端通過SSL加密連接保護(hù)您的數(shù)據(jù)安全等。
Serv-U 支持基于ODBC數(shù)據(jù)庫(kù)的用戶和用戶組設(shè)置,這為我們基于Serv-U編程提供了良好的接口,接下來我們介紹如何具體實(shí)現(xiàn)。
一、使用ODBC數(shù)據(jù)庫(kù)管理Serv-U
前提條件:企業(yè)版的Serv-U(4.1以上版本)才能夠支持ODBC,常見可支持的數(shù)據(jù)庫(kù)包括access、mysql、oracle和mssql等。
Serv-U英文官方網(wǎng)站上提供了部分?jǐn)?shù)據(jù)庫(kù)示例,本站提供下載,請(qǐng)選擇:
·Access示例:MS Access ODBC Example
·Ms SQL示例:MS SQL Server ODBC Example
·MySQL示例:MySQL ODBC Example
·Oracle創(chuàng)建表結(jié)構(gòu)的SQL文件:Oracle database for use with Serv-U
以下以Ms SQL為例介紹使用方法
1、安裝好Serv-U企業(yè)版(4.1以上版本),創(chuàng)建一個(gè)新的域,在第四步中,域類型選擇“存儲(chǔ)于ODBC數(shù)據(jù)庫(kù)中”,如圖:
2、下載MS SQL Server ODBC Example示例包,獲得CreateServUTables.sql(用于在mssql中創(chuàng)建Serv-U的對(duì)應(yīng)表結(jié)構(gòu))文件,并在mssql中執(zhí)
行該文件,創(chuàng)建六個(gè)表,分別為:
·ftp_users
·ftp_userIPs
·ftp_userAccess
·ftp_groups
·ftp_groupIPs
·ftp_groupAccess
其中ftp_users為存放用戶的表,最為重要。
3、建立ODBC。示例過程如下
(1)添加系統(tǒng)DSN(系統(tǒng)數(shù)據(jù)源),選擇SQL Server,填好數(shù)據(jù)源名稱和服務(wù)器(本機(jī)使用local)
(2)登錄驗(yàn)證方式根據(jù)你的mssql設(shè)置決定,這里用SQL驗(yàn)證的方式登錄
(3)更改數(shù)據(jù)庫(kù)為你創(chuàng)建好Serv-U表的數(shù)據(jù)庫(kù),確認(rèn),完成ODBC設(shè)置?,F(xiàn)在你有了一個(gè)名為Serv-U的系統(tǒng)數(shù)據(jù)源,記得這個(gè)名字和登錄使用用戶和密碼。
4、配置Serv-U
(1)關(guān)閉Serv-U,從MS SQL Server ODBC Example示例包中獲得Add-to-Ini.txt文件,打開此文件,完整復(fù)制以下代碼:
[Domain1]
ODBCTables=ftp_users|ftp_groups|ftp_userAccess|ftp_groupAccess|ftp_userIPs|ftp_groupIPs
ODBCColumns=ftpUserName|ftpPassword|sKey|dirHome|loginMsgFile|accessRule|disabled|sessionEncryption|dirHomeLock|hideHidden|alwaysAllowLogin|changePassword|quotaEnable|maxUsersLoginPerIP|speedLimitUp|speedLimitDown|maxUsersConcurrent|timeOutIdle|timeOutSession|ratioUp|ratioDown|ratioCredit|quotaCurrent|quotaMax|expiration|privilege|ftpPasswordType|ratioType|groups|notes|indexNo
(2)打開Serv-U的安裝目錄,找到ServUDaemon.ini文件,將對(duì)應(yīng)[Domain1]及其后面的對(duì)應(yīng)設(shè)置用上面的代碼替換。
(3)重新打開你的Serv-U,找到剛才你新建的域,在ODBC設(shè)置中應(yīng)該已經(jīng)能夠看到ODBC鏈接設(shè)置中,除了ODBC源名稱、帳號(hào)和密碼部分空的外,其他的表名和列名都已經(jīng)設(shè)置好了。
(4)填寫好你的ODBC源名稱、帳號(hào)和密碼,應(yīng)用設(shè)置,如果你的設(shè)置沒有問題的話,域前面的圖標(biāo)將不再是禁止的樣子,表示已經(jīng)設(shè)置好了
(5)隨便建立一個(gè)用戶,然后對(duì)應(yīng)在你的ftp_users表中查找看是否存在,如果沒有問題,你已經(jīng)完成了Serv-U的ODBC設(shè)置。
二、編程實(shí)現(xiàn)ODBC管理Serv-U用戶
有了數(shù)據(jù)庫(kù),用編程實(shí)現(xiàn)管理Serv-U用戶應(yīng)該是一件非常簡(jiǎn)單而輕松的事情,唯一的難點(diǎn)在于密碼的加密。
我們知道Serv-U三種加密算法,默認(rèn)情況下是32位的md5加密算法,這和有的16位和64位加密算法有所不同,因此我們?cè)诰幊讨幸褂?2位的
MD5加密算法來實(shí)現(xiàn)密碼的加密。以下以ASP編程為例:
用以下兩個(gè)函數(shù)完成對(duì)密碼的加密,32位MD5加密文件在此下載MD5.ASP
Function SerUPassEnCode(strPass)
Dim Char1,Char2,Seed,prePass,EncodePass,FinalPass
If IsNull(strPass) Or strPass="" Then Exit Function
Char1 = Chr(Rand(97,122))
Char2 = Chr(Rand(97,122))
Seed = Char1 Char2
prePass = Seed strPass
EnCodePass = Ucase(md5(prePass)) '32位md5
FinalPass = Seed EnCodePass
SerUPassEnCode = FinalPass
End Function
Function Rand(n,m)
Dim a,b,t
a = n : b = m
If b lt; a Then t = b : b = a : a = t
Randomize
Rand = Int(rnd*(b-a+1)+a)
End Function
本文完全原創(chuàng),請(qǐng)尊重作者勞動(dòng),轉(zhuǎn)載請(qǐng)注明出處,謝謝。
您可能感興趣的文章:- 使用FTP下載目錄,即FTP命令批量自動(dòng)下載的bat文件
- Linux下使用Shell腳本實(shí)現(xiàn)ftp的自動(dòng)上傳下載的代碼小結(jié)
- 批處理bat下載FTP服務(wù)器上某個(gè)目錄下的文件
- JAVA技術(shù)實(shí)現(xiàn)上傳下載文件到FTP服務(wù)器(完整)
- php下連接ftp實(shí)現(xiàn)文件的上傳、下載、刪除文件實(shí)例代碼
- JAVA中使用FTPClient實(shí)現(xiàn)文件上傳下載實(shí)例代碼
- java操作ftp下載文件示例
- python實(shí)現(xiàn)支持目錄FTP上傳下載文件的方法
- 關(guān)于c#連接ftp進(jìn)行上傳下載實(shí)現(xiàn)原理及代碼
- Java語言實(shí)現(xiàn)簡(jiǎn)單FTP軟件 FTP軟件效果圖預(yù)覽之下載功能(2)