在 IIS 7 中設定 FTP 用戶隔離
相容性
版本 | 備註 |
---|---|
IIS 7.5 | FTP 7.5 服務隨附為 Windows 7 和 Windows Server 2008 R2 中 IIS 7.5 的功能。 |
IIS 7.0 | FTP 7.0 和 FTP 7.5 服務已針對 IIS 7.0 隨附頻外,需要從下列 URL 下載並安裝服務: https://www.iis.net/downloads/microsoft/ftp。 |
簡介
Microsoft 已建立新的 FTP 服務,已針對 Windows Server 2008 完全重寫。 這個新的 FTP 服務包含許多新功能,可讓 Web 作者比之前更妥善地發佈內容,並提供 Web 系統管理員更多的安全性和部署選項。
本檔將逐步引導您使用新的 FTP 使用者介面,以及直接編輯 IIS 組態檔,完成各種 FTP 使用者隔離設定。
注意
本逐步解說包含一系列步驟,您將在其中使用本機系統管理員帳戶登入 FTP 網站。 只有在伺服器本身使用回送位址或透過來自遠端伺服器的 SSL 時,才應該遵循這些步驟。 如果您想要使用個別的用戶帳戶,而不是系統管理員帳戶,您必須建立適當的資料夾,並在必要時為該使用者帳戶設定正確的許可權。
必要條件
需要下列專案才能完成本文中的程式:
IIS 7 必須安裝在您的 Windows Server 2008 RC0 伺服器上,而且必須安裝 Internet Information Services Manager。
必須安裝新的 FTP 服務。 您可以使用下列其中一個連結,從 https://www.iis.net/ 網站下載並安裝 FTP 服務:
- 適用於 IIS 7 的 FTP (x64)
- 適用於 IIS 7 的 FTP (x86)
您必須建立 FTP 發行的根資料夾:
在建立資料夾
%SystemDrive%\inetpub\ftproot
設定允許匿名存取的權限:
開啟命令提示字元。
輸入以下命令:
ICACLS "%SystemDrive%\inetpub\ftproot" /Grant IUSR:R /T
關閉命令提示字元。
您必須建立其他內容資料夾:
- 在建立資料夾
%SystemDrive%\inetpub\ftproot\LocalUser\Public
- 在建立資料夾
%SystemDrive%\inetpub\adminfiles
- 在建立資料夾
使用 FTP 月臺精靈建立 FTP 月臺
在第一節中,我們將建立新的 FTP 網站,以供匿名用戶開啟,以及系統管理員帳戶的讀取/寫入存取權。
在 [IIS 管理員] 的 [ 連線 ] 窗格中,按兩下樹狀結構中的 [月臺] 節點。
如下圖所示,以滑鼠右鍵按兩下樹狀結構中的 [月臺] 節點,然後按兩下 [新增 FTP 月臺],或按兩下 [動作] 窗格中的 [新增 FTP 網站]。
當 [ 新增 FTP 月 臺精靈] 出現時:
- 在 [FTP 網站名稱 ] 方塊中輸入 [我的新 FTP 網站],然後流覽至
%SystemDrive%\inetpub\ftproot
您在 [必要條件] 區段中建立的資料夾。 請注意,如果您選擇輸入內容資料夾的路徑,您可以在路徑中使用環境變數。 - 當您完成這些項目之後,請按 [下一步]。
- 在 [FTP 網站名稱 ] 方塊中輸入 [我的新 FTP 網站],然後流覽至
在精靈的下一頁:
- 您通常會從 [IP 位址] 下拉式清單中選擇 FTP 網站的 IP 位址 ,或者您可以選擇接受預設選取 [所有未指派]。由於您稍後在本逐步解說中將會使用系統管理員帳戶,因此您想要確定您限制對伺服器的存取,並在 [ IP 位址 ] 方塊中輸入 “127.0.0.0.1” 來輸入計算機的本機回送 IP 位址。
- 您通常會在 [埠] 方塊中輸入 FTP 網站的 TCP/IP 連接埠 。 針對此逐步解說,您將選擇接受預設埠 21。
- 針對此逐步解說,您不會使用主機名,因此請確定 [ 虛擬主機 ] 方塊空白。
- 確定 [ 憑證 ] 下拉式清單已設定為 [未選取],並已選取 [ 允許 SSL ] 選項。
- 當您完成這些項目之後,請按 [下一步]。
在精靈的下一頁:
- 針對 [驗證] 設定選取 [匿名]。
- 針對 [授權設定],從 [允許存取] 下拉式清單中選擇 [匿名使用者],然後針對 [許可權] 選項選取 [讀取]。
- 當您完成這些專案時,請按兩下 [ 完成]。
在 IIS 管理員中,按兩下您所建立 FTP 月臺的節點;這會顯示所有 FTP 功能的圖示。
我們需要新增基本身份驗證,讓使用者可以登入。 若要這樣做,請按兩下 [FTP 驗證 ] 圖示,以開啟 [FTP 驗證功能] 頁面。
當 [FTP 驗證] 頁面顯示時,反白顯示 [基本身份驗證],然後按兩下 [動作] 窗格中的 [啟用]。
在 IIS 管理員中,按兩下 FTP 月臺的節點,以重新顯示所有 FTP 功能的圖示。
我們需要新增授權規則,讓系統管理員能夠登入。 若要這樣做,請按兩下 [FTP 授權規則] 圖示,以開啟 [FTP 授權規則] 功能頁面。
當 [FTP 授權規則] 頁面顯示時,按兩下 [動作] 窗格中的 [新增允許規則]。
顯示 [ 新增允許授權規則 ] 對話框時:
- 選取 [指定使用者],然後在方塊中輸入 「系統管理員」。
- 針對 [許可權],選取 [讀取 ] 和 [ 寫入]。
- 當您完成這些項目之後,請按兩下 [確定]。
摘要
若要回顧您在本節中完成的專案:
- 您已建立名為 「My New FTP Site」 的新 FTP 網站,其位於 的網站內容根目錄
%SystemDrive%\inetpub\ftproot
。 - 您將 FTP 月臺系結至埠 21 上電腦的本機回送地址,我們選擇不要針對 FTP 月臺使用安全套接字層 (SSL) 。
- 您已建立 FTP 網站的預設規則,以允許匿名使用者「讀取」檔案的存取權。
- 您已新增授權規則,允許 FTP 網站的系統管理員帳戶「讀取」和「寫入」許可權。
- 您已將基本身份驗證新增至 FTP 網站。
檢查新的 FTP 用戶隔離設定
在 IIS 管理員中,按兩下您所建立 FTP 月臺的節點;這會顯示所有 FTP 功能的圖示。
按兩下 FTP 使用者隔離 圖示以開啟 FTP 使用者隔離功能。
當 [FTP 使用者隔離 ] 功能頁面顯示時,請注意,您有五個不同的選項可用:
這五個選項定義為:
請勿隔離使用者。 在中啟動使用者:
FTP 根目錄
這個選項指定所有 FTP 工作階段都會在 FTP 月臺的根目錄中啟動。
注意
此選項在此 FTP 伺服器中是新功能,而且只會停用所有使用者隔離或啟動資料夾邏輯。
用戶名稱目錄
此選項指定如果資料夾存在,所有 FTP 工作階段都會在實體或虛擬目錄中啟動,且目前登入使用者的名稱相同;否則,FTP 會話將會在 FTP 月臺的根目錄中啟動。
注意
此選項與在 IIS 6.0 FTP 伺服器中選擇沒有使用者隔離相同。 如需使用此選項的其他資訊,請參閱裝載 多個 FTP 網站與 FTP 使用者隔離 (IIS 6.0) 主題中的一節。
隔離使用者。 將使用者限制為下列目錄:
使用者名稱目錄 (停用全域虛擬目錄)
此選項指定您想要將 FTP 使用者工作階段隔離至具有相同 FTP 使用者帳戶名稱的實體或虛擬目錄。 使用者只會看到他們的 FTP 根目錄位置,因此無法向上瀏覽到較高的實體或虛擬目錄樹狀結構。 系統會忽略任何建立的全域虛擬目錄。
注意
這個選項在此 FTP 伺服器中是新的選項。
使用者名稱實體目錄 (啟用全域虛擬目錄)
此選項指定您想要將 FTP 使用者工作階段隔離至具有相同 FTP 使用者帳戶名稱的實體目錄。 使用者只會看到他們的 FTP 根目錄位置,因此無法向上瀏覽到較高的實體目錄樹狀結構。 任何建立的全域虛擬目錄都會套用至所有使用者。
注意
此選項與在 IIS 6.0 FTP 伺服器中選擇使用者隔離相同。
Active Directory 中設定的 FTP 主目錄
此選項指定您想要將 FTP 使用者工作階段隔離至每個 FTP 使用者的 Active Directory 帳戶設定中設定的主目錄。
依實體目錄設定用戶隔離設定
只有實體目錄隔離使用者時,所有 FTP 用戶工作階段都會限製為具有相同 FTP 使用者帳戶名稱的實體目錄。 不過,任何建立的全域虛擬目錄都會套用至所有使用者。
- 在 IIS 管理員中,按兩下您所建立 FTP 月臺的節點;這會顯示所有 FTP 功能的圖示。
- 按兩下 FTP 使用者隔離 圖示以開啟 FTP 使用者隔離功能。
- 當 [FTP 使用者隔離] 功能頁面顯示時,請選取 [使用者名稱實體目錄] (啟用全域虛擬目錄) 選項,然後按兩下 [動作] 窗格中的 [套用]。
登入您的 FTP 網站
您現在可以使用使用者隔離登入 FTP 網站,但適用下列資訊:
- 如果您以匿名方式登入 FTP 網站,您的會話將會受限於您在必要條件一節中建立的 “LocalUser\Public” 資料夾。
- 如果您嘗試使用系統管理員帳戶登入 FTP 網站,您的登入要求將會遭到拒絕,因為系統管理員帳戶未定義主目錄。 若要允許系統管理員帳戶登入,您必須在 建立系統管理員帳戶
%SystemDrive%\inetpub\ftproot\LocalUser\Administrator
的主目錄。 之後,如果您使用系統管理員帳戶登入 FTP 網站,您的會話將會受限於您剛才建立的 “LocalUser\Administrator” 資料夾。
摘要
若要重新擷取您在此步驟中完成的專案,請使用 [用戶名稱實體目錄] 設定 FTP 使用者隔離, (啟用全域虛擬目錄) 選項。 使用此使用者隔離模式時,所有 FTP 用戶工作階段都受限於具有相同 FTP 使用者帳戶名稱的實體目錄,而建立的任何全域虛擬目錄都會套用至所有使用者。
若要為每個使用者建立主目錄,您必須先在 FTP 伺服器的根資料夾下建立實體目錄,該目錄會以您的網域命名,或針對本機用戶帳戶命名為 LocalUser。 接下來,您必須為每個將存取 FTP 網站的使用者帳戶建立實體目錄。 下表列出 FTP 服務隨附之驗證提供者的主目錄語法:
用戶帳戶類型 | 實體主目錄語法 |
---|---|
匿名使用者 | %FtpRoot%\LocalUser\Public |
本機 Windows 使用者帳戶 (需要基本身份驗證) | %FtpRoot%\LocalUser\%UserName% |
Windows 網域帳戶 (需要基本身份驗證) | %FtpRoot%\%UserDomain%\%UserName% |
IIS 管理員或 ASP.NET 自定義驗證用戶帳戶 | %FtpRoot%\LocalUser\%UserName% |
注意
在上表中,%FtpRoot% 是您 FTP 網站的根目錄;例如, C:\Inetpub\Ftproot
。
重要事項:已啟用全域虛擬目錄;所有在 FTP 月臺根層級設定的虛擬目錄,都可以由所有 FTP 用戶存取,前提是他們有足夠的許可權。
設定所有目錄的用戶隔離設定
隔離所有目錄的使用者時,所有 FTP 用戶工作階段都會限製為具有相同 FTP 使用者帳戶名稱的實體或虛擬目錄。 此外,將會忽略所有建立的全域虛擬目錄。 在此步驟中,您會為所有目錄設定用戶隔離,併為系統管理員使用者新增虛擬目錄。
在 IIS 管理員中,按兩下您所建立 FTP 月臺的節點;這會顯示所有 FTP 功能的圖示。
按兩下 FTP 使用者隔離 圖示以開啟 FTP 使用者隔離功能。
當 [FTP 使用者隔離] 功能頁面顯示時,請選取 [使用者名稱目錄] (停用全域虛擬目錄) 選項,然後按兩下 [動作] 窗格中的 [套用]。
展開 FTP 月臺的樹狀節點,然後以滑鼠右鍵按兩下 LocalUser 資料夾,然後按兩下 [ 新增虛擬目錄]。
注意
在此範例中,“LocalUser” 資料夾是實體目錄,但也可以使用虛擬目錄。
當 [ 新增虛擬目錄 ] 對話框出現時:
- 輸入 別名的 「系統管理員」。
- 針對 [實體路徑] 輸入
%SystemDrive%\inetpub\adminfiles
。 - 當您完成這些項目之後,請按兩下 [確定]。
登入您的 FTP 網站
您現在可以使用使用者隔離登入 FTP 網站,但適用下列資訊:
- 如同步驟 3,如果您以匿名方式登入 FTP 網站,您的會話將會受限於您在必要條件一節中建立的 “LocalUser\Public” 資料夾。
- 如果您使用系統管理員帳戶登入 FTP 網站,您的會話將受限於您剛才建立的 “/LocalUser/administrator” 虛擬目錄。
摘要
若要重新擷取您在此步驟中完成的專案,請使用 [ 用戶名稱目錄] 設定 FTP 使用者隔離, (停用全域虛擬目錄) 選項。 使用此使用者隔離模式時,所有 FTP 用戶工作階段都受限於具有相同 FTP 使用者帳戶名稱的虛擬或實體目錄,而且將會忽略任何建立的全域虛擬目錄。
若要為每個使用者建立主目錄,您必須先在 FTP 伺服器的根資料夾下建立虛擬或實體目錄,該資料夾會以網域命名,或針對本機用戶帳戶命名為 LocalUser。 接下來,您必須為每個將存取 FTP 網站的使用者帳戶建立虛擬或實體目錄。 下表列出 FTP 服務隨附之驗證提供者的主目錄語法:
用戶帳戶類型 | 實體主目錄語法 |
---|---|
匿名使用者 | %FtpRoot%\LocalUser\Public |
本機 Windows 使用者帳戶 (需要基本身份驗證) | %FtpRoot%\LocalUser\%UserName% |
Windows 網域帳戶 (需要基本身份驗證) | %FtpRoot%\%UserDomain%\%UserName% |
IIS 管理員或 ASP.NET 自定義驗證用戶帳戶 | %FtpRoot%\LocalUser\%UserName% |
注意
在上表中,%FtpRoot% 是您 FTP 網站的根目錄;例如, C:\Inetpub\Ftproot
。
全域虛擬目錄會被忽略;任何 FTP 使用者都無法存取所有在 FTP 月臺根層級設定的虛擬目錄。 所有虛擬目錄都必須明確定義在用戶的實體或虛擬主目錄路徑下。