Windows XP Windows 7 Windows 2003 Windows Vista Windows教程綜合 Linux 系統教程
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟件教程
 Windows教程網 >> 電腦軟件教程 >> 服務器技術 >> 關於服務器 >> Windows中IIS內FTP服務器高級配置

Windows中IIS內FTP服務器高級配置

日期:2017/2/8 10:33:28      編輯:關於服務器
  提到FTP服務器,可能大家都會想到Serv-U、vs-FTP等軟件,其實微軟內置在IIS裡的FTP服務已經夠用,不信請往下看。

  實現對多用戶的管理

  首先需要取消“站點屬性/允許匿名連接”,如圖1。


  接著進入“計算機管理/本地用戶和組”,新建立一個組,這裡建立為FTPuser,然後新建立一個用戶FTP01,然後修改FTP01的屬性,把它加入FTPuser組,去掉系統默認的users組。在NTFS格式分區下(這裡為d盤)創建文件夾FTP01和FTP02,然後設置安全權限,如圖2。


  同樣設置文件夾FTP02的權限為FTP02完全控制,當然這裡可以按照實際情況分配不同用戶不同的權限。回到IIS管理器,選擇一個FTP站點“新建/虛擬目錄/下一步”在別名處輸入FTP01,選擇“下一步”,路徑選擇剛剛創建的FTP01目錄,選擇“下一步”,同樣新建一個虛擬目錄FTP02,路徑指向FTP02目錄。這裡注意的是:別名和目錄名以及用戶名3個必須完全一致。

  測試一下:這裡以IP為192.168.0.16為例,輸入FTP://192.168.0.16,回車,提示輸入用戶和密碼,輸入FTP01及其密碼,順利進入,這時進入的只能是FTP01虛擬目錄,可以上傳一個文件,然後在服務器上查看一下是放置在哪個目錄下就可判定了。同樣,以FTP02登入,就進入了FTP02目錄,用戶被限制在自己的目錄內不能進入他人目錄,安全性還是有保障。如果用戶需要能自己更改密碼,則只需要在創建用戶的時候,不選中圖3所示的選項即可。


小提示:
  客戶端修改FTP賬戶密碼的方法:
  在命令提示符下輸入:
    FTP 192.168.0.16
  輸入用戶名
  輸入密碼
  輸入quote “site pswd 舊密碼 新密碼”
  本方法優點:結合NTFS權限以及磁盤限額能很好地實現多用戶的多樣化管理。
  本方法缺點:由於FTP用戶密碼是以明文的方式在網絡上傳輸,所以不太安全,遺憾的是,IIS內置的FTP服務並不支持SSL,這一點比不上Serv-U。

  實現Serv-U中的鏈接功能

  這是利用路徑解析原理實現的,算得上是MS-FTP的一個隱藏功能。首先在FTP站點根目錄(這裡為d盤)下創建一個文件夾,名為tools,在IIS管理器中,在FTP站點下創建一個虛擬目錄,名為tools,路徑指向f盤下的“工具”目錄。注意這裡的虛擬目錄名必須和站點根目錄下創建的文件夾名一致。

  在客戶端登錄,這時不能使用FTP01、FTP02登錄了,因為他們登錄進去後直接到了站點根目錄下的對應子目錄下了,同時不能向上回到站點根目錄,所以只能另外創建新用戶,這裡我創建了一個FTP03用戶,登錄進去發現除了可看見FTP01、FTP02目錄外,還有其他目錄,但是前面設置了FTP01,FTP02目錄的權限,所以FTP03並不能訪問他們,只是知道這些目錄的存在而已。點擊tools目錄,您會發現自動指向了服務器的f盤下“工具”目錄。

  本方法優點:不用第三方工具實現了鏈接功能,在有多個驅動器可使用的情況下特別有用。如果是想鏈接到一個完整的分區,那麼在站點根目錄下創建一個文件夾,名字和驅動器號相同就可以了。

  本方法缺點:需要創建額外的用戶,如果FTP01這類用戶想浏覽其他磁盤上的內容就很難了。

  自動更新FTP站點目錄及文件列表

  Windows有一個很有用的命令tree在這裡可以大顯身手了。如果FTP站點根目錄是d,我們只要創建一個批處理文件,內容如下
    tree /f  /a d: >d:FTP.txt

  然後添加一個任務計劃,每小時運行一次。值得注意的是,添加完一個任務後必須進行高級設置才行,如圖4所示。


  這樣設置好後,用戶登錄時可以先下載FTP.txt這個文件到本地看看是否有更新,這樣可以節省用戶一個目錄一個目錄去找更新的時間,尤其是網速較慢的情況下。對這個進行擴展一下,可以更節省用戶的時間,還是得靠Windows另外一個有用的命令fc,編寫如下批處理文件FTP更新.bat:
    tree /f  /a d: >d:FTPnew.txt
    fc /L d:FTP.txt d:FTPnew.txt >d:FTP更新列表.txt

  然後運行一次前面編寫得FTP.bat,再運行一次FTP更新.bat,這時可以查看FTP更新列表.txt了,如果有更新的話,會以*****開頭*****結尾的形式指出哪個目錄有更新,更新的文件名是什麼都列出來了,是不是更一幕了然呢。用戶只需要首先下載FTP更新列表.txt查看就可以了,當然用戶已經浏覽過這個FTP站點,第一次浏覽下載FTP.txt就可以了,如果嫌FTPnew.txt這個文件不應該出現在站點根目錄下,也可以在編輯命令時指向其他位置即可。

  如今在論壇上也見很多FTP列表,手工維護實在很麻煩,只要把FTP更新列表.txt放在一個Web路徑下或專門為創建一個虛擬目錄指向FTP更新列表.txt所在目錄,那麼我們就可以通過浏覽器直接浏覽這個文件,因為IE浏覽器是可以直接解析txt文件的,所以不會提示下載。為了更好方便浏覽者還可對FTP更新.bat進行補充,完整的FTP更新.bat內容如下:
    tree /f  /a d: >d:FTPnew.txt
    fc /L d:FTP.txt d:FTPnew.txt >d:FTP更新列表.txt
    echo 更新時間>> d:FTP更新列表.txt
    date /t >> d:FTP更新列表.txt
    time /t >> d:FTP更新列表.txt

  然後添加一個計劃任務,每小時執行一次這個批處理文件,這樣浏覽者不僅僅看到更新的內容,還知道更新的時間,下一次更新時間也可以自己推算出來了。如果經常登錄這個FTP站點,還可以把這個地址加入收藏夾,不用登錄FTP也能知道服務器是否有更新,有興趣可訪問http://test.yuanlin.cn/FTP列表更新.txt看看效果。

  上面所涉及到的工具都是Windows自帶的,沒有使用任何第三方工具,其實Windows還有很多地方值得我們去深挖。

Copyright © Windows教程網 All Rights Reserved