Microsoft FTP7.5 For IIS7.x使用中的一些問題及解決方法

最近在IIS7.0上安裝了Microsoft FTP7.5,但是使用FTP7.5的過程中,卻遇到不少問題,在網上找到有用資料不多,經過一個下午的摸索,在這裏分享出來,希望可以幫助那些在使用Microsoft FTP7.5時遇到類似問題的朋友。
 
本文僅僅說明Microsoft FTP7.5 For IIS7.x的設置問題,包括ftp站點建立和設置、用戶權限設置等等。
 
本文內容不會涉及如下內容:
  1. 其他可替代Microsoft FTP7.5功能軟件的安裝與使用
  2. 如何創建Windows用戶和組
  3. 如何安裝IIS7.x
  4. 如何安裝Microsoft FTP7.5 For IIS7.x
  5. 如何設置和使用Microsoft FTP7.5的SSL功能
  6. 如何設置和使用Microsoft FTP7.5的用戶隔離功能
如果你希望瞭解以上內容,可以參考http://www.iis.net/和微軟網站的相關說明。
 
我要實現的目標:
在系統中創建FTP Users用戶組,並在該用戶組下創建bimoo、bimooftp二個用戶。
用戶bimoo可以查看整個FTP站點的內容列表,同時擁有該站點中的子應用程序upload的讀寫權限,但不能查看和讀寫子應用程序upload以外的任何內容;bimooftp擁有整個站點的讀寫權限。
 
我們首先按照正確的方式操作一遍,文章最後會列出使用過程中遇到的一些問題。
 
打開IIS管理器,右鍵點擊"服務器名稱"或"網站"節點,選擇"Add FTP Site",如下圖:
然後輸入FTP 網站名稱,選擇內容目錄的物理路徑,點擊"下一步"按鈕,彈出如下窗口:
不要選中上面的"Enable Virtual Host Name"項,如果選中,建立網站後,使用FTP客戶端連接,會出現如下錯誤:
 
SSL可以根據實際情況設置,這裏選擇"Allow SSL",然後點擊"下一步"按鈕,彈出如下窗口:
這裏啓用Basic認證[Authentication]類型,在授權[Authorization]選項中選擇允許"指定用戶[Specified Users]"訪問,並輸入用戶名,多個用戶名使用逗號[,],選擇相應的權限[Permissions]後,點擊"完成"按鈕。然後想這個FTP站點中添加二個"應用程序"或"虛擬目錄",這時候一個FTP站點就建立好了。
我這裏建立的FTP站點名稱是"ftp_server",其中有sites和upload二個應用程序,大致結構如下圖所示:
下面開始說一下用戶授權的問題,我這裏不允許匿名用戶訪問,所以我在站點的"FTP Authentication"中啓用"Basic Authentication"認證類型,禁用了"Anonymous Authentication"。然後在"FTP Authorization Rules"中添加授權規則,如下圖:
 
給ftp_server中的應用程序sites中的"FTP Authorization Rules"中添加授權規則,如下圖:
 
給ftp_server中的應用程序upload中的"FTP Authorization Rules"中添加授權規則,如下圖:
說明:由於這裏用戶bimooftp和bimoo都隸屬FTP Users用戶組,而且他們都具有Read,Write權限,所以也可以直接給用戶組FTP Users設置規則。另外,子應用程序和虛擬目錄會自動繼承整個FTP站點的授權規則,這裏我刪除了繼承來的規則,添加自己的規則。
 
還有一個問題,在站點的"FTP Directory Browsing"中,"Directory Listing Style"中一定選擇"MS-DOS",如果選擇"UNIX",那麼使用ftp客戶端連接時,無法列出目錄和文件列表。如下圖:
OK,如果您安裝上面的步驟做完,那麼就應該實現目標了,用戶bimoo可以讀寫upload應用程序,可以查看整個FTP站點的內容列表,但是卻不能查看或讀寫sites應用程序的內容;bimooftp用戶擁有這個站點的查看和讀寫權限。現在使用FTP客戶端試一下吧。
 
下面開始說一下我安裝過程中遇到的問題:
 
  1. 用戶授權不當
    剛開始對用戶進行授權的時候,給用戶bimooftp授予整個FTP站點的讀寫權限,沒有給用戶bimoo授予任何權限;然後給用戶bimoo授予FTP站點子應用程序sites的讀寫權限。此時用戶bimooftp可以連接ftp站點,但用戶bimoo連接子應用程序sites時,卻出現下面的錯誤:
    解決方法:
    在FTP站點級別授予用戶bimoo讀權限。如果希望把虛擬目錄或者子應用程序授權給用戶,必須保證給用戶對其父目錄或站點至少擁有讀權限。
     
  2. FTP站點綁定域名
    如果給FTP站點綁定域名,比如ftp://ftp.bmshops.com,那麼就會出現下面的錯誤:
    解決方法:
    不要給FTP站點綁定域名,主機頭留空即可。這樣就不能建立多個FTP站點,不知道有沒有更好的方法解決這個問題。
    後來在IIS的官方網站中的一篇文章中找到答案,文章地址如下:
    由於FTP7.5提供了類似Web站點功能的虛擬主機[Virtual Host]功能,多個FTP站點都可以使用21端口和相同的IP地址,所以在訪問FTP站點的時候,用戶名需要使用VirtualHost|UserName的形式,否則就會發生"503 Valid hostname is expected"錯誤。
    這樣就解決了FTP站點綁定域名和建立多個FTP站點的問題,哈哈:)
     
  3. FTP站點設置不當
    剛開始由於設置不當,導致FTP客戶端連接可以成功,但是無法列出目錄和文件。後來網搜了一下,大部分都說將FTP客戶端的數據連接類型改爲被動模式[PASV Mode],但還是不行。後來發現,在FTP服務器端把Directory Listing Style設置成了UNIX,設置爲MS-DOS後解決。
 
參考:
基本就寫這些吧,歡迎大家指點、拍磚,來者不拒!
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章