查看單個文章
舊 2003-12-04, 04:38 AM   #1
psac
榮譽會員
 
psac 的頭像
榮譽勳章
UID - 3662
在線等級: 級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時
註冊日期: 2002-12-07
住址: 木柵市立動物園
文章: 17381
現金: 5253 金幣
資產: 33853 金幣
預設 IoFTPD配置指南-windows下的glftpd

ioFTPD配置指南

一、ioFTPD介紹
ioftpd是套用於windows平台(Win2000, WinNT, WinXp及2003)的glftpd(一個linux下功能強大的ftpd),雖然現在還是beta版(ioftpd-beta-

5.3.x),但功能已經非常強大。無論是穩定性、速度、資源佔用率還是效率,都可與其他ftp伺服器軟體抗衡。作者追求在極限負荷下的最大

效能,宣稱用ioFTPD架構的伺服器,如果在線人數少於100人,是在浪費ioFTPD以及他的時間,ioFTPD可支持最大在線人數1萬人以上。言下之

意,ioFTPD伺服器的效能是卓越的。


程式碼:--------------------------------------------------------------------------------ioFTPD吸取了其他優秀ftp daemon的優點,並整合在一起,其特性包括:
* 效能卓越
- 在C語言下,用高度最佳化算法編譯
- 可昇級的多線程內核
* 資源佔用少
- 靈活的線程管理方式
- 採用先進的WinNT特殊使用
- 內部管理來防止記憶體碎片
- 準確的帶寬管理
* 安全效能良好
- SSL/TLS相容
- 靈活的權限管理
- 用緩衝檢查Ident (rfc 931)
- 用內部緩衝檢查Hostname reverse
- 類似於Unix的文件權限
* 擴展方便
- 用共用記憶體可與外部程序方便交流
- 支持外部模組
- 多個不同事件類型
- 內裝TCL編譯器
* 整合的 HTTP daemon
- 平台與管理分離
- Start/Stop/Create 虛擬服務
- http下流文件服務
- 管理用戶、組、計劃及文件系統
- 開發自己的指令碼,方便管理
- 用戶監控
* Telnet daemon--------------------------------------------------------------------------------


二、ioFTPD的文件結構


程式碼:--------------------------------------------------------------------------------/cache <-- 包含緩衝文件,請不要改動此目錄下的文件。目錄下的文件數量由配置文件設定。
/etc <-- 包括passwd,group,default.vfs,ioftpd.env文件:
passwd (為用戶名,用戶的uid和用戶id列表)
group (組列表及Gid,組ID)
default.vfs和admin.vfs (虛擬文件系統(VFS)範例)
ioftpd.env (環境變數列表)
/groups <-- 此目錄下為組資料列表. 檔案名即為組ID(GIDs)
/help <-- 求助文件.
/lib <-- TCL 庫.
/logs <-- 事件記錄文件如,Error.log 和 Sysop.log等.
/scripts <-- ioFTPD配套的第三方指令碼可放在此目錄下.
/site <-- 預設的伺服器的根目錄
/source <-- 變數來源碼(.h文件),給第三方指令碼開發者用
/system <-- ioFTPD.exe, ioFTPD.ini, tcl84.dll
/text <-- 用戶登入時顯示的信息,自己可以修改
/users <-- 用戶資料,檔案名就是用戶ID(UIDs).--------------------------------------------------------------------------------


像其他ftpd一樣,ioftpd的用戶均為組內用戶,可按組操作。在您的伺服器系統建好後,請將/groups, /users, 及/etc目錄制作備份,以備昇級用



三、基本的ioFTPD配置

ioFTPD的配置全部在ioFTPD.ini裡完成,修改的地方不多,大部分可預設。最簡單的配置只需將伺服器的IP位址與連接埠改變就可執行了。
幾個符號:

*:通配所有 ;和#:註釋此行,表示不執行這一行 !:表示拒絕。


1、 首先要配置虛擬目錄(SFV),該檔案在/etc目錄下面。你可對不用組、用戶命名不同的.sfv文件,並用site指令指定給不同的用戶。

程式碼:--------------------------------------------------------------------------------"c:\ioFTPD\site" / #根目錄,自己隨便指定
"d:\games" /games #引號內為實目錄,/後為伺服器顯示的虛擬目錄
"e:\mp3" /mp3
"c:\123" /mnt #將C:\123和d:\345的內容虛擬成一個目錄
"d:\345" /mnt--------------------------------------------------------------------------------



2、配置ioftpd.ini文件
該檔案在/system目錄下,與執行文件在一起。


程式碼:--------------------------------------------------------------------------------
[ioFTPD] #設定伺服器的全局變數
Ftp_Login_Attempts = 3 #最大重試數,若超過則被ban "Temporary_Ban_Duration"秒
Hide_Tray = False #隱藏圖示,未註冊版本無此功能
快取_Max = 100 # /cache目錄的最大文件資料
Directory快取_Size = 1000 # 緩衝的伺服器文件目錄最大數目
TCL_Pool_Size = 10 # TCL指令池的最大數目
Double_Click = https://127.0.0.1:10000/ #這個不註釋(行前加;或#)的話,雙按會連此位址
Process_Priority = Normal # (Idle/Normal/High/Realtime) 處理程序的優先權
Worker_Thread_Count = 10 # 工作者線程數
Io_Thread_Count = 3 # io線程數(設為4比較好,只有註冊版本才有此功能)
Encryption_Thread_Count = 5 # 加密線程數目
LogIn_TimeOut = 15 # 登入時的時長限制
Idle_TimeOut = 120 # 空閒時間限制
File_Concurrent_Requests = 5 # 每個device最大同時讀寫操作數(註冊版本才能此功能)
File_PreAllocation = 0 # 上傳時預定位的字元大小


[Locations] #系統檔案存放位置
User_Id_Table = ..\etc\UserIdTable
Group_Id_Table = ..\etc\GroupIdTable
Hosts_Rules = ..\etc\Hosts.Rules

User_Files = ..\users
Group_Files = ..\groups
Log_Files = ..\logs
快取_Files = ..\cache

Ftp_Messages = ..\text\ftp
Telnet_Messages = ..\text\telnet
Html_Files = ..\text\http

Default_Vfs = ..\etc\default.vfs
Environment = ..\etc\ioftpd.env



##################### DEVICES ########################
##
#
# [Device Name]
# Host = <Host/IP> # External host. Address shown to clients. (0.0.0.0 = any local ip)
# Ports = <Begin-End> # Ports to use for data transfers. May contain comma seperated list of port ranges.
# Random = <True/False> # Use ports in random order
# Bind = <Host/IP> # Internal host. If specified, connections are bound to this address instead of HOST.
#
# Global_Inbound_Bandwidth = <kB/s> # Limit overall inbound speeds
# Global_Outbound_Bandwidth = <kB/s> # Limit overall outbound speeds
# Client_Inbound_Bandwidth = <kB/s> # Limit client inbound speeds
# Client_Outbound_Bandwidth = <kB/s> # Limit client outbound speeds
#


[Any] # 設備名,要與Device_Name下的相同。不然失敗。可用預設名。
Host = 0.0.0.0 # IP位址,用0.0.0.0表示所有適配的IP位址
Ports = 1024-2048 # 讀取文件的連接埠範圍。用預設值比較好
Random = True # 讀取文件時是否隨機,應該選True比較好
;Global_Inbound_Bandwidth = 1000 # 上傳總帶寬控制,去掉;就表示套用此功能
;Global_Outbound_Bandwidth = 2000 # 下載總帶寬控制
;Client_Inbound_Bandwidth = 100 # 每用戶上傳帶寬控制,註冊版本功能
;Client_Outbound_Bandwidth = 50 # 每用戶下載帶寬控制,註冊版本功能
;Bind =


################## END OF DEVICES ####################



##################### SERVICES #######################

[FTP_Service]
Type = FTP
Device_Name = Any # 此名要與前面的設備名相同!!
Port = 9999 # ftp伺服器的連接埠號
Description = My FTP Service # 想寫些什麼呢?
User_Limit = 10 # 最大同時在線用戶數
Allowed_Users = * # 表示允許所有用戶登入,如您不想讓sCry登入,可加上!sCry.
;Messages = ..\text\ftp # 系統反饋給您的一些有用信息

### Encryption ###
#
Require_Encrypted_Auth = !* # 是否請求加密認證,!*表示不認證,若為sCry,則只能sCry認證
Require_Encrypted_Data = !* # 是否請求資料傳輸認證,!*表示不認證,若為sCry,則只能sCry認證
Certificate_Name = 192.168.1.10 # 認證伺服器,請先加;,如果用SSL認證,下面再講。
Explicit_Encryption = True
Encryption_Protocol = SSL3
Min_Cipher_Strength = 1
Max_Cipher_Strength = 40
#Max_Cipher_Strength = 384

### IDNT command handler ###
#
Get_External_Ident = True

### Traffic Balancing ###
#
;Data_Devices =
;Random_Devices = True


[Telnet_Service] # Telnet與http服務,如果不用的話,可以將這兩個session刪除
Type = Telnet
Device_Name = Any
Port = 10001
Description = My Telnet Service
User_Limit = 10
Allowed_Users = T !*
;Messages = ..\text\telnet


[HTTP_Service]
Type = HTTP
Device_Name = Any
Port = 10000
Description = My HTTP Service
User_Limit = 50
Allowed_Users = H !*
;Messages = ..\text\http
Certificate_Name = 192.168.1.10
Explicit_Encryption = False
Encryption_Protocol = SSL3
Min_Cipher_Strength = 128
Max_Cipher_Strength = 384


################## END OF SERVICES ###################


[Network]
Active_Services = FTP_Service Telnet_Service HTTP_Service #這個只要ftp_service就可

Nagle = True False # Enable/Disable TCP Nagle算法(我不懂這是什麼算法)
Ident_Timeout = 5 # Set ident timeout (seconds)
Hostname_快取_Duration = 1800 # Seconds cached hostname is valid
Ident_快取_Duration = 120 # Seconds cached ident is valid
Connections_To_Ban = 1000000 # 超過這麼多連接數就被ban "Temporary_Ban_Duration"秒
Ban_Counter_Reset_Interval = 30 # Ban計數重置間隔,應該是每隔30秒檢查一次
Temporary_Ban_Duration = 1200 # 被Ban的機器20分鐘內不能登入
Internal_Transfer_Buffer = 65536 # Internal transfer buffer size
Scheduler_Update_Speed = NORMAL # Socket scheduler update speed (HIGH/NORMAL/LOW/DISABLED)


[Sections]
## Maximum of 10 different credit sections ##
#
# <alias> = <credit section #> <path>
# <alias> = <credit section #> <stats section #> <path>
#

Home = 0 1 /home/* # 0為計算credit的section, 1為計入統計的section, /home/*為虛擬目錄名注意後面的*號不能省。這個設定可

對不同的section配置credit,如/DivX/ /0Day/ /APPZ/等
Default = 0 *


[VFS]
###
# Default attributes for files & directories
#
# Required Parameters: <filemode> <owner uid>:<owner gid>
#

Default_Directory_Attributes = 755 0:0
# 4:read,2:write,1:execute. 第一個7表示目錄所有者的權限,也就是4+2+1=7, 該目錄對其所有者為dwrx.第2個數字5是目錄所有者所在組

的權限,5表示不可寫。第3個數字5是表示其他人對該目錄的權限。
Default_File_Attributes = 644 0:0


###
# Command specific rules
#
Modify_Stats_On_Delete = False


###
# Detailed permissions for directories
#
# priviledge = <virtual path> <rights>
設定:權限 = 虛擬目錄 權限

以下設定文件用戶的目錄權限。1表示ftp站點管理員,只能在/users文件內設定,不能用site指令改變。M即master,目錄管理員等,也只能在

/users文件裡設定。V: VFS管理員,還有N: nuker, 3:沒任何權限。A:匿名用戶,任何密碼都能登入。-USER, =Group.
Upload = * *
Resume = * *
Download = * * #如果你要設定/APE目錄 Group1組只可瀏覽不可下載,可寫成:
Download = /APE/* !=Group1 * #這一行意為APE目錄group1不能下載,而其他組的用戶都能下載
Download = * *
MakeDir = * *
RemoveOwnDir = * *
RemoveDir = * 1VM #這個表示為只有ftp站點管理員,或VFS管理員,或master可移動目錄,以下類似
Rename = * 1VM
RenameOwn = * *
Overwrite = * 1VM
Delete = * 1VM
DeleteOwn = * *
NoStats = * =lSpeed !*
ShowActivity = /private/* -ioFTPD !*
ShowActivity = * !A *--------------------------------------------------------------------------------


3、執行ioFTPD:

執行/system/ioftpd.exe,啟動ioftpd伺服器程序。如果沒什麼問題的話,現在應該可以看到你的伺服器內容了。

下載頁面:http://www.ioftpd.com/download/
參考: terencehe ioftpd的安裝和配置
psac 目前離線  
送花文章: 3, 收花文章: 1631 篇, 收花: 3205 次
向 psac 送花的會員:
CharlesHOOKE (2017-12-30)
感謝您發表一篇好文章