Windows Server 2003 內建 IIS 元件支援 FTP 服務,配合動態域名解析(如金萬維),即可在無固定公網 IP 環境下對外提供 FTP 存取。本文實戰記錄:IIS FTP 元件安裝、建立認證用戶、站台與虛擬目錄權限配置、防火牆/埠號考量、命令列測試驗證全流程。
控制台 → 新增/移除程式 → Windows 元件精靈控制台 → 管理工具 → 電腦管理 → 本地用戶和群組 → 用戶aamm),不需額外權限,僅供 FTP 登入驗證。Internet 資訊服務 (IIS) 管理員 → FTP 站台 → 預設 FTP 站台 → 內容D:\)IIS FTP 沒有直接「帳號-目錄」對應介面,實作方式是:虛擬目錄別名 = 系統帳號名稱。
aammD:\aammaamm 登入 FTP 根目錄,系統自動導向其同名虛擬目錄 D:\aamm。進階:一個用戶可對應多個虛擬目錄(不同別名),搭配 NTFS 權限 (FSO) 精細控制。
C:\> ftp yourdomain.dyndns.org
連線至 yourdomain.dyndns.org。
220 Microsoft FTP Service
使用者: aamm
331 密碼 needed
密碼: ********
230 使用者 aamm 登入。
ftp> dir
... 顯示 D:\aamm 內容 ...
ftp> put test.txt
... 上傳成功 ...
ftp> bye
測試通過後,外部使用者即可透過 ftp://yourdomain.dyndns.org 或 FTP 用戶端存取。
| 現象 | 原因 | 解決 |
|---|---|---|
| 連線逾時 | 防火牆封鎖 21 或被動埠 | 開放對應埠,IIS 指定被動埠範圍並同步開放 |
| 530 登入失敗 | 帳號密碼錯誤或匿名登入未關閉 | 確認帳密、關閉匿名、虛擬目錄別名=帳號 |
| 無法寫入 | NTFS 權限不足或站台未勾寫入 | 資料夾給用戶寫入權限、站台/虛擬目錄勾選寫入 |
| 被動模式無法列表 | 資料連線直連失敗 | 用戶端強制主動模式,或伺服器端開放被動埠範圍 |
善用 IIS 內建 FTP + 虛擬目錄映射系統帳號,無需第三方軟體即可建立多用戶、隔離目錄、支援動態域名的 FTP 服務。關鍵在於「虛擬目錄別名 = 帳號」的對應邏輯,以及根站台與虛擬目錄權限的層級關係(站台 ≥ 虛擬目錄)。配合防火牆埠口與動態域名維護,即可穩定對外服務。