Windows XP Windows 7 Windows 2003 Windows Vista Windows教程綜合 Linux 系統教程
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟件教程
 Windows教程網 >> Windows 2003系統教程 >> Windows 2003常見問題解答 >> 如何在IIS7上配置 FTP7並使用IIS管理憑據方式進行驗證?

如何在IIS7上配置 FTP7並使用IIS管理憑據方式進行驗證?

日期:2017/1/25 11:48:13      編輯:Windows 2003常見問題解答

在 Windows Server 2008 R2 發布後,gOxiA 就開始著手於相關的測試和評估。IIS 是重點測試和評估之一!而今天與大家分享的是如何在  IIS7 上配置 FTP7 使用 IIS管理憑據 方式進行身份驗證。提到 MSFTP 服務,恐怕知道的人多,但是真正使用的人少!特別是 IDC 環境下多數會選擇 Serv-U FTP Server,gOxiA 從 Windows Server 2008 開始就不再使用 Serv-U,原因很簡單!Serv-U 不是免費的,此次 Serv-U 默認存在安全隱患。況且開放 FTP 也是為了方便自己維護網站,下載上傳資料用!所以用系統自身的軟件不是更好!維護也相對容易很多!但是,使用過 MSFTP 的朋友知道從  FTP7 開始,微軟才為 MSFTP 設計提供了對非 Windows 身份驗證功能的支持,也就是說如果我們要訪問 MSFTP 則不必再在系統裡添加用戶帳號,而可以使用 IIS 來統一管理單獨的憑據!現在我們再也不用擔心,使用 MSFTP 會存在用戶帳號安全隱患的問題。

        這是一篇 Step by Step,所以其中涉及到的相關原理及知識內容不作過多介紹!我們將通過 IIS7 提供的 IisManagerAuth 身份驗證模塊來實現 IIS管理憑據的 FTP 帳號。具體步驟如下:

        在 開始配置之前,我們需要修改相關目錄的目錄安全權限,這一步驟是必須的,否則在登錄 FTP 的時候會出現錯誤。如下圖所示,我們會看到由於權限不足導致無法讀取配置文件的錯誤提示。而無權限讀取的文件是位於 inetsrv\config 下的 redirection.config 文件。經過 gOxiA 的測試發現即使為該文件添加了相應的權限但仍提示登錄失敗,最終要配置 config 目錄權限,賦予 Network Service(FTP7 進程的默認帳戶)有讀取權限後才能正常登錄。

點擊查看原大圖片

        為了簡單的演示目錄權限的設置過程,gOxiA 參考了 IIS.net 中相關文章的命令行,其中涉及到的 cacls 可以直接運行就可以得到參數幫助。要執行的命令行如下:

cacls c:\windows\system32\inetsrv\config /G "Network Service":R /E

        配置了 config 目錄權限後,請確保 “Network Service”對該目錄下的 administration.config 和 redirection.config 文件有讀取權限,否則請執行如下命令行:

cacls c:\windows\system32\inetsrv\config\administration.config /G "Network Service":R /E cacls c:\windows\system32\inetsrv\config\redirection.config /G "Network Service":R /E

點擊查看原大圖片

        之後創建一個 FTP 的默認目錄,注意請添加“Network Service”有完全控制的權限。

        下面,我們開始配置 IIS7,創建一個 FTP 站點,為其啟用 IisManagerAuth,並創建一個 IIS管理憑據的帳戶,使其具備 FTP 相應的訪問權限。

        在開始之前請確認已經安裝了 IIS7 的 管理服務組件,否則請進入服務器管理,單擊添加角色服務,選中 IIS7 的管理服務組件,進行安裝。

點擊查看原大圖片

點擊查看原大圖片

        默認可以使用 C:\Inetpub\Ftproot 作為 FTP 主目錄,當然也可以根據自己的需要創建或選擇一個目錄,但是需要注意,請賦予“Network Service”有完全控制權限。

        下來我們配置 IIS7 啟用 IIS管理器憑據,在啟用之後才能使用 IisManagerAuth。為此,打開 IIS管理器,雙擊“管理服務”,選中“Windows 憑據或 IIS 管理器憑據”,最後單擊右邊操作列表下的“應用”。

點擊查看原大圖片

點擊查看原大圖片

        之後使用“IIS管理器用戶”創建一個 IIS 所管理的用戶帳號。為此,雙擊“IIS 管理器用戶”,單擊“添加用戶”,在彈出的窗體中輸入用戶名和密碼。

點擊查看原大圖片

點擊查看原大圖片

點擊查看原大圖片

        上述操作一旦完成,就可以開始創建一個 FTP 站點,首先選中 IIS 管理器左邊的導航窗體中的“網站”,之後單擊鼠標右鍵,左鍵單擊“添加 FTP 站點…”。

點擊查看原大圖片

        “站點信息”中輸入 FTP 站點名稱,如:Default FTP Site。並選擇默認的內容目錄,本例中 gOxiA 使用的是 C:\inetpub\ftproot,單擊“下一步”。

點擊查看原大圖片

        在“綁定和 SSL 設置”中,根據需要啟用虛擬主機名,注意:FTP“虛擬主機名”可能不被一些客戶端所支持。此外請將 SSL 默認的配置“需要”更改為“允許”,否則如果不配置 SSL 證書並使用 SSL FTP 登錄方式將導致客戶端連接失敗。

點擊查看原大圖片

        在 “身份驗證和授權信息”配置中,更具需要選擇身份驗證方式,並指定一個用戶和權限。如果你只允許 IIS管理器用戶能夠訪問該 FTP 站點,那麼這一步可以不配置,直接單擊“完成”。方便大家的學習,本例中允許系統用戶中的 Administrator 對該 FTP 有讀取和寫入的權限。

點擊查看原大圖片

        現在以 Windows 身份驗證方式的 FTP 站點已經創建好了,下面我們可以使用 Administrator 來登錄 FTP。

點擊查看原大圖片

        經過測試,創建的 FTP 站點已經正常運行,下面我們將要為該 FTP 站點添加之前創建的 IIS管理器用戶 — goxia 有相應的訪問權限。

        首先,選中“Default FTP Site”,在內容窗體中雙擊“FTP 身份驗證”,進入“FTP 身份驗證”設置後單擊右邊操作中的“自定義提供程序…”,在彈出窗體中勾選“IisManagerAuth”。

點擊查看原大圖片

點擊查看原大圖片

點擊查看原大圖片

        啟用了 IisMangerAuth 後,打開“FTP 授權規則”,添加指定的用戶 — goxia,並賦予有相應的訪問權限。

點擊查看原大圖片

點擊查看原大圖片

點擊查看原大圖片

        最後我們來使用 goxia 這個 IIS 管理器用戶登錄 FTP 進行測試。

點擊查看原大圖片

        如 果首次登錄失敗,提示無法驗證用戶和密碼,則需要打開該 FTP 站點的“IIS 管理器權限”設置,添加 goxia 這個帳號。之後測試登錄成功後再將其帳號從中刪除即可。查找 IIS.net 的相關指引文檔,發現默認是要執行這步配置的,但是 gOxiA 認為這一步是配置用戶是否具有該 FTP 的遠程管理權限的,一旦配置並啟用 IIS 的遠程管理服務,那麼該帳號具備的權限可能會造成安全隱患。目前 gOxiA 也未完全理解。希望有網友指點一二!

點擊查看原大圖片

點擊查看原大圖片

點擊查看原大圖片

Copyright © Windows教程網 All Rights Reserved