Apache HTTP Server 版本 2.4
可用的語言: en
說明 | 提供檔案傳輸協定的支援 |
---|---|
狀態 | 外部 |
模組識別 | ftp_module |
原始檔 | mod_ftp.c |
相容性 | Apache 2.2 及以上版本 |
此模組在 Apache HTTP Server 中提供檔案傳輸協定的支援。此模組最初是由 Covalent Technologies, Inc. 開發,並且由他們貢獻給 Apache HTTP Server 專案。
Apache 的 FTP 協定模組可以用來搭配存取控制模組、mod_ssl 和任何動態內容產生器,以提供多功能、可擴充性與安全的 FTP 服務。
進一步的詳細資料、討論和範例可以在 FTP 說明文件 中找到。
說明 | 在此主機上執行 FTP 伺服器 |
---|---|
語法 | FTP on|off |
預設 | FTP off |
內容 | 伺服器設定、虛擬主機 |
狀態 | 外部 |
模組 | mod_ftp |
您必須定義一個 Listen
指令來監聽 FTP 請求。
說明 | 伺服器用於連線到用戶端埠號 |
---|---|
語法 | FTPActiveRange 最小值 [最大值] |
預設 | 短暫的高位元組埠號 |
內容 | 伺服器設定、虛擬主機 |
狀態 | 外部 |
模組 | mod_ftp |
此指令定義 mod_ftp 在建立與用戶端之間主動連線時將使用的埠號。它接受一個或兩個參數。如果只有一個參數,伺服器將始終使用該埠號。如果給了兩個參數,伺服器將把它們當作要使用的埠號範圍處理。
PORT
或 EPRT
請求後發出資料通道請求的時間點與伺服器連線到用戶端的時間點之間,原始埠號可能對任何其他用戶端不可用。FTPActiveRange
分配到 1024 以下,mod_ftp 需要 unix 域套接字,並且會建立一個額外的 httpd 程序來為 httpd 子工作程序提供這些已綁定、低位元組埠號。FTPActiveRange 20
強制伺服器使用 ftp-data 範例慣例
FTPActiveRange 5050
強制伺服器使用埠號 5050
FTPActiveRange 5050 5080
允許伺服器使用 5050 到 5080 之間的任何埠號,含這些埠號。
說明 | 設定初始登入訊息 |
---|---|
語法 | FTPBannerMessage 訊息|檔案:/路徑/到/檔案 |
預設 | 無 |
內容 | 伺服器設定、虛擬主機 |
狀態 | 外部 |
模組 | mod_ftp |
此指令設定在與客戶端進行初始連線時向客戶端顯示的訊息。它可以是字串,或檔案路徑。該訊息可以包含許多元字元
%T | 當地時間(格式為 週一 四月 29 20:36:48 2002 ) |
---|---|
%C | 目前工作目錄 |
%h | 遠端主機 |
%L | 當地主機 |
%E | 伺服器管理員(由 ServerAdmin 給定) |
%a | 遠端 IP 位址 |
%A | 當地 IP 位址 |
%u | 遠端用戶 |
%f | 傳輸的檔案數量 |
%t | 下載的所有位元組 |
%x | 資料傳輸次數 |
%b | 與連線相關的總流量(含控制器和資料) |
說明 | 控制通道測試之間的位元組區塊大小 |
---|---|
語法 | FTPDataBlockSize 位元組 |
預設 | FTPDataBlockSize 48000 |
內容 | 伺服器設定、虛擬主機 |
狀態 | 外部 |
模組 | mod_ftp |
當 mod_ftp 透過作業系統傳輸資料時,無法監視控制通道中的 ABOR
訊號。FTPDataBlockSize 會切割傳輸;在每個區塊間,mod_ftp 會檢查控制通道中是否有待處理的要求,或檢查 Socket 是否可以使用來傳送更多資料,然後再繼續下一個區塊。根據預期的頻寬,將此值設定為一個合理的視窗時間,在這個時間內,伺服器應該可以回應控制通道。
說明 | 設定建立目錄的 umask |
---|---|
語法 | FTPDirUmask umask |
預設 | FTPDirUmask 022 |
內容 | 伺服器設定,虛擬主機,目錄,.htaccess |
覆寫 | FileInfo |
狀態 | 外部 |
模組 | mod_ftp |
此指令設定目錄建立存取權限的掩碼。預設值為 022,這會讓擁有者擁有完整的存取權限,並停用群組及其他使用者的寫入存取權限。
說明 | 根據提供的環境變數(例如,每個使用者的 LDAP 屬性)設定 DocumentRoot |
---|---|
語法 | FTPDocRootEnv envvar |
預設 | 無 |
內容 | 伺服器設定、虛擬主機 |
狀態 | 外部 |
模組 | mod_ftp |
如果環境變數已定義,此指令會讓 FTP 使用 envvar
環境變數的值,來取代預設的 DocumentRoot
。envvar
變數必須包含完整的路徑檔案,例如,在 Unix 上為 /some/path
,在 Windows 上為 d:/some/path
。
這可以與任何認證模組搭配使用,此類模組會根據登入使用者或其他條件設定環境變數的值(類似於 mod_env
或 mod_setenvif
),以依每個使用者為基礎變更 FTP 的 Document Root。
說明 | 強制 EPSV 忽略要求的 IP 系列(IPv4 與 IPv6) |
---|---|
語法 | FTPEPSVIgnoreFamily On |
預設 | FTPEPSVIgnoreFamily Off |
內容 | 伺服器設定、虛擬主機 |
狀態 | 外部 |
模組 | mod_ftp |
此指令允許用戶端 EPSV
要求繫結到本機地址,並忽略用戶端要求的 IPv4 與 IPv6,以解決 NAT 問題(此問題會顯示不同的系列)。當 FTP 伺服器位於防火牆之後時,您可能會覺得這個功能很有用。
說明 | 設定登出訊息 |
---|---|
語法 | FTPExitMessage message|file:/path/to/file |
預設 | 無 |
內容 | 伺服器設定、虛擬主機 |
狀態 | 外部 |
模組 | mod_ftp |
此指令會設定在斷線時顯示給用戶端的 訊息。這可能是字串或檔案路徑。這個訊息可以包含各種元字元(請參閱 FTPBannerMessage
)。
說明 | 設定包含使用者首頁目錄的目錄路徑 |
---|---|
語法 | FTPHomeDir /directory |
預設 | 無 |
內容 | 伺服器設定、虛擬主機 |
狀態 | 外部 |
模組 | mod_ftp |
此指令定義使用者主目錄的位置。此目錄位置必須指定為絕對路徑,但實際上是以伺服器中設定的 DocumentRoot
為基準。例如,FTPHomeDir /home
將會讓 Apache FTP 伺服器在目錄 DocumentRoot
/home/
使用者名稱
中尋找使用者的主目錄 (其中 使用者名稱 為使用者的登入名稱)。
如果已經指定 FTPHomeDir
,但使用者主目錄不存在,伺服器會記錄錯誤,且使用者會登入至根目錄 ("/
")。如果您希望自動建立主目錄,請參閱 FTPOptions
指令中的 CreateHomeDirs
選項。
說明 | 內嵌使用 SSL |
---|---|
語法 | FTPImplicitSSL on|off |
預設 | FTPImplicitSSL off |
內容 | 伺服器設定、虛擬主機 |
狀態 | 外部 |
模組 | mod_ftp |
此指令決定與使用者建立連線時,控制連線的安全性。當設定為 開啟
,會要求使用者使用 SSL 連線。當設定為 關閉
,會要求使用者以不安全的方式連線,然後發出 AUTH
指令以開始安全連線。
說明 | 使用者無法離開其主目錄 |
---|---|
語法 | FTPJailUser on|off |
預設 | FTPJailUser off |
內容 | 伺服器設定、虛擬主機 |
狀態 | 外部 |
模組 | mod_ftp |
此指令將使用者限制於登入時所放置的目錄樹中。使用者可以存取其預設目錄下的任何子目錄,但無法存取上層目錄或任何其他相關目錄。
如果未使用 FTPHomeDir
指令,則 FTPJailUser
無效。這項指令的組合對於限制使用者在您的檔案系統中能瀏覽的位置非常有力。
說明 | 設定登入限制資料庫檔案的位置 |
---|---|
語法 | FTPLimitDBFile 檔案路徑 |
預設 | FTPLimitDBFile logs/ftplogins |
內容 | 伺服器設定 |
狀態 | 外部 |
模組 | mod_ftp |
為提供 FTPLimitLoginUser
、FTPLimitLoginServer
和 FTPLimitLoginIP
功能,mod_ftp 會使用一個小型 DBM 檔案來儲存登入資料。此指令決定該資料庫檔案的檔案名稱路徑。如果使用任何 FTPLimit
指令,此指令必須為此 DBM 指定一個檔案名稱,並讓伺服器可以寫入。
FTPLimitDBFile logs/ftplogins
說明 | 設定每個 IP 位址同時可登入的最大連線數目 |
---|---|
語法 |
|
預設 | FTPLimitLoginIP 0 (無限制) |
內容 | 伺服器設定、虛擬主機 |
狀態 | 外部 |
模組 | mod_ftp |
此指令容許管理員限制同時/並發 FTP 登入的總數。例如,如果設為 10,來自相同 IP 位址的 FTP 登入數將不得超過 10。預設值為 0(不限)。
說明 | 設定每個伺服器同時登入的最大數目 |
---|---|
語法 | FTPLimitLoginServer 數字 |
預設 | FTPLimitLoginServer 0(不限) |
內容 | 伺服器設定 |
狀態 | 外部 |
模組 | mod_ftp |
此指令容許管理員限制同時/並發 FTP 登入的總數。例如,如果設為 100,則同一虛擬主機的 FTP 登入數將不得超過 100。預設值為 0(不限)。
說明 | 設定每個使用者的同時登入的最大數目 |
---|---|
語法 | FTPLimitLoginUser 數字 |
預設 | FTPLimitLoginUser 0(不限) |
內容 | 伺服器設定 |
狀態 | 外部 |
模組 | mod_ftp |
此指令容許管理員限制個別 FTP 使用者的同時/並發登入數目。例如,如果設為 3,則每個 FTP 帳戶將不得有超過 3 個同時登入(包括訪客/匿名帳戶)。預設值為 0(不限)。
說明 | 用於傳遞低編號原始連接埠要求的 Unix 網域套接字的檔名前置字元 |
---|---|
語法 | FTPLowPortSock 路徑名稱 |
預設 | FTPLowPortSock logs/ftp-lowportd-sock |
內容 | 伺服器設定 |
狀態 | 外部 |
模組 | mod_ftp |
此指令設定套接字的檔名前置字元,用於與 CGI 守護程序通訊,將會附加與伺服器處理程序識別碼相應的延伸模組。套接字會使用啟動 Apache 使用者的權限建立(通常是 root)。為維護與 CGI 腳本通訊的安全性,相當重要的是沒有其他使用者有權在套接字所在的目錄中寫入。
FTPLowPortSock /var/run/cgid.sock
說明 | 最大登入嘗試次數 |
---|---|
語法 | FTPMaxLoginAttempts 次數 |
預設 | FTPMaxLoginAttempts 3 |
內容 | 伺服器設定、虛擬主機 |
狀態 | 外部 |
模組 | mod_ftp |
此指令控制允許登入的失敗嘗試次數,在此之後將斷開連線並記錄失敗嘗試。
說明 | 設定此伺服器的選項 |
---|---|
語法 | FTPOptions 選項1 [選項2] ... |
預設 | 無 |
內容 | 伺服器設定、虛擬主機 |
狀態 | 外部 |
模組 | mod_ftp |
此指令設定每個伺服器的選項。
目前的選項
AllowProxyPASV
此選項允許連接伺服器資料頻道,當它來自於 IP 位址、而不是控制頻道用戶端的 IP。它影響到 PASV
和 EPSV
資料連接。由於代理端 FTP 極少使用,且被認為潛在不安全,因此應謹慎使用此指令。
AllowProxyPORT
此選項允許伺服器建立資料頻道連接至 IP 位址、而不是控制頻道用戶端的IP。它影響到 PORT
和 EPRT
資料連接。由於代理端 FTP 極少使用,且被認為潛在不安全,因此應謹慎使用此指令。
CheckMaxClients
此選項在伺服器已滿時拒絕用戶端登入。如果它未啟用,用戶端將在接受佇列等待,直到另一位用戶端斷開連線為止。
CreateHomeDirs
此選項會讓伺服器自動建立一個家目錄,位置由 FTPHomeDir
指令指定。如果未指定 FTPHomeDir
指令,此選項就不會生效。
不建議在匿名網站上設定此選項。這是因為每個獨特用戶(通常以其電子郵件位址辨識)登入伺服器時,將會建立一個目錄。
此選項只有在 FTPHomeDir
目錄可讓 Apache HTTP Server 的處理序擁有者存取時才會生效,通常在 UNIX 系統上是使用者 nobody
。
LISTisNLST
此選項會讓伺服器在收到 LIST
要求或 NLST
要求時,顯示相同的輸出。與 NLSTisLIST
不同的是,輸出是不包含詳細資料的檔案清單。如果 -l 選項傳遞至 LIST
要求,則將提供詳細資料,無論此選項是否設定。
NLSTisLIST
此選項會讓伺服器在收到 LIST
要求或 NLST
要求時,顯示相同的輸出。與 NLSTShowDirs
一樣,此選項用於對 ls
或 dir
指令傳送不同要求的 FTP 用戶端。
設定此選項將導致要求多個檔案的指令失敗,而且應謹慎使用。
NLSTShowDirs
此選項會讓伺服器在收到 NLST
要求時顯示目錄以及檔案。一些 FTP 用戶端在使用者發出 ls
或 dir
指令時傳送 NLST
要求。由於預設回應僅顯示檔案,因此使用者可能會感到困惑。
設定此選項將導致要求多個檔案的指令失敗,而且應謹慎使用。
NoUTF8Feature
預設情況下,mod_ftp 會在回應 FEAT
指令時宣告 UTF8
。這可確保用戶端曉得他們可以用 8 位元組檔名(而不是 7 位元組 ASCII),建議使用 UTF-8 字元集。這個旗標只能在全域內容中使用,會停用所有主機的這個預設行為,從 FEAT
伺服器回應中略過 UTF8
。
RemoveUserGroup
這個選項會造成伺服器列印目錄清單的使用者身分識別碼 (UID) 和群組身分識別碼 (GID),而不用使用者名稱和群組名稱。它對 Windows 系統沒有作用。
RequireSSL
這個選項要求用戶端在傳送任何密碼資訊前,必須發布 AUTH
指令,以轉換為 SSL。這大部分就像隱性 SSL,其會強迫用戶端使用 SSL 傳送密碼資訊。兩者間的差異在於,使用 RequireSSL
選項時,會允許用戶端在沒有 SSL 的情況下連線,但接著會在傳送使用者名稱和密碼前發布 AUTH
SSL 指令。
ShowUnAuthorizedFiles
當伺服器收到 LIST
或類似的 NLST
指令時,這個選項會造成伺服器顯示使用者沒有權限擷取的檔案和使用者沒有權限進入的目錄(cd
會失敗)。接著這些指令會像大部分標準 FTP 伺服器一樣動作,使用者會看到所有檔案和目錄清單,即使是他們沒有權限存取的也一樣。
StripHostname
當使用者輸入 USER {user@hostname}
指令時,從提供的名稱移除「@hostname」文字,然後再呈現「user」給驗證模組。最常搭配下列 VirtualHostByUser
選項使用。
VirtualHostByUser
當使用者輸入 USER {user@hostname}
指令時,從提供的名稱中,根據「hostname」文字選取一個 VirtualHost
。必須適當地設定 NameVirtualHost
以符合這些主機。如果沒有已命名的虛擬主機根據 ServerName
或其任一 ServerAlias
相符,則登入會根據 IP 落入第一個相符的 VirtualHost,就像 HTTP 處理未相符的 Host:
標頭一樣。
說明 | 設定 PASV 資料通道的顯式伺服器 IP 位址 |
---|---|
語法 | FTPPASVAddr IP 位址 |
預設 | 控制通道連線的伺服器實際 IP 位址 |
內容 | 伺服器設定、虛擬主機 |
狀態 | 外部 |
模組 | mod_ftp |
此指令允許您指定一個不同的 IP 位址,在回應 PASV
要求時提供給用戶端。它對伺服器用於監聽的 IP 位址沒有影響,請使用 FTPPASVbindaddr
來影響實際資料連線的 IP 位址。
當 FTP 伺服器在防火牆後面時可能會用到它。它不會影響 EPSV
要求。
說明 | 設定並繫結資料頻道的允許 PASV 伺服器 IP 位址 |
---|---|
語法 | FTPPASVbindaddr IP 位址 |
預設 | 指定的 |
內容 | 伺服器設定、虛擬主機 |
狀態 | 外部 |
模組 | mod_ftp |
這個指令類似於 FTPPASVaddr
指令,除了 Apache FTP 伺服器會嘗試繫結到指定的 IP 位址,而且請注意任何 FTPPASVaddr
指令會持續覆寫提供給客戶端的位址。
當 FTP 伺服器在防火牆後面時可能會用到它。它不會影響 EPSV
要求。
說明 | 設定允許的被動連接埠範圍 |
---|---|
語法 | FTPPASVrange 數字 數字 |
預設 | 短暫的高位元組埠號 |
內容 | 伺服器設定、虛擬主機 |
狀態 | 外部 |
模組 | mod_ftp |
這個指令定義要使用於所有被動連線的連接埠範圍(從 數字 到 數字,包含兩端),包括 PASV
和 EPSV
要求。這個指令設計為用於只想要在防火牆上開啟特定範圍的連接埠的環境。
PASV
或 EPSV
要求時,與客戶端連線到指示連接埠的時間點之間,這個特定連接埠對任何其他客戶端來說都是無法使用的。說明 | 設定每個目錄的 Readme 檔案 |
---|---|
語法 | FTPReadmeMessage 訊息|檔案:/路徑/到/檔案 |
預設 | 無 |
內容 | 伺服器設定,虛擬主機,目錄,.htaccess |
覆寫 | 任意 |
狀態 | 外部 |
模組 | mod_ftp |
這個指令設定在進入新目錄時顯示給客戶端的 訊息。這個訊息可以是字串,或檔案路徑。訊息可以包含各種特殊字元(請參閱 FTPBannerMessage
)。
當這個指令放在 <VirtualHost>
儲存區中時,README 訊息會套用至所有目錄。當它用於 <Directory>
儲存區中,或放在 .htaccess
檔案中時,只有那個目錄會繼承 README 訊息。
為目錄設定 README 訊息也會覆寫任何全域 README 訊息。
說明 | 資料傳輸期間允許的閒置時間 |
---|---|
語法 | FTPTimeoutData 時間 |
預設 | FTPTimeoutData 300 |
內容 | 伺服器設定、虛擬主機 |
狀態 | 外部 |
模組 | mod_ftp |
這個指令設定伺服器在資料傳輸期間要等待的 時間(單位為秒)。如果在此時間內未將資料傳送到客戶端,則會關閉資料連線。
說明 | FTP 會話期間允許的閒置時間 |
---|---|
語法 | FTPTimeoutIdle 時間 |
預設 | FTPTimeoutIdle 600 |
內容 | 伺服器設定、虛擬主機 |
狀態 | 外部 |
模組 | mod_ftp |
此指令設定客戶端發送指令之間允許的 時間 秒數。如果在這個時間內未收到任何指令,使用者會斷線。
可用的語言: en