天天看點

基于ECS搭建FTP服務Day01

Day01

背景知識

FTP概述
  • FTP(File Transfer Protocol,檔案傳輸協定) 是 TCP/IP 協定組中的協定之一。
  • 同大多數Internet服務一樣,FTP也是一個客戶/伺服器系統
  • FTP伺服器用來存儲檔案,使用者可以使用FTP用戶端通過FTP協定通路位于FTP伺服器上的資源。
FTP的應用
  • 在開發網站的時候,通常利用FTP協定把網頁或程式傳到Web伺服器上。
  • 由于FTP傳輸效率非常高,在網絡上傳輸大的檔案時,一般也采用該協定。
FTP的主動模式與被動模式
  • 主動模式
    1. 用戶端先與伺服器的

      TCP 21

      端口建立連接配接,用于傳輸控制資訊(PORT指令)。
    2. 用戶端在需要接受資訊時,通過

      TCP 21

      端口發送PORT指令給伺服器(PORT指令包含了用戶端用什麼端口接收資料)。
    3. 伺服器端通過自己的

      TCP 20

      端口連接配接至用戶端的指定端口發送資料。
  • 被動模式
    1. TCP 21

      端口建立連接配接,用于傳輸控制資訊(Pasv指令)。
    2. TCP 21

      端口發送Pasv指令給伺服器。
    3. 伺服器收到Pasv指令後,随機打開一個高端端口(端口号大于1024)并且通知用戶端在這個端口上傳送資料的請求
    4. 用戶端連接配接此端口,用戶端與伺服器通過此通道傳輸資料
  • 兩者對比

當用戶端主動時,伺服器就容易管理 → 用

TCP 21

端口傳輸控制資訊 ,

TCP 20

端口傳輸資料

當用戶端被動時,伺服器就難以管理 → 用

TCP 21

端口傳輸控制資訊, 高端端口 傳輸資料

FTP伺服器之 vsftpd
  • vsftpd(very secure FTP daemon)是一款在Linux發行版中最受推崇的FTP伺服器。
  • 它可以運作在諸如 Linux、BSD、Solaris、 HP-UNIX等系統上面
  • 是一個完全免費的、開放源代碼的ftp伺服器軟體,支援很多其他的 FTP 伺服器所不支援的特征。

比如:非常高的安全性需求、帶寬限制、良好的可伸縮性、可建立虛拟使用者、支援IPv6、速率高等。

開始實驗

連接配接ECS伺服器的幾種方式
  • 系統自帶的終端工具
  • putty, XShell(推薦)
安裝與配置vsftpd

修改配置檔案vsftpd.conf 時,解開

anon_upload_enable=YES

注釋的時候,可以借助vim的查找功能進行查找。

即:在vim的normal模式下輸入 '/' + 'keyword' + 回車

其餘部分實驗教程已經十分詳細,便不再贅述。

用戶端測試
  • 直接使用Windows下的資料總管進行測試
基于ECS搭建FTP服務Day01
基于ECS搭建FTP服務Day01
  • 此時,可能會顯示“請檢查權限的提示”。解決方案:
基于ECS搭建FTP服務Day01
  • 登入成功後,因為檔案夾

    /var/ftp/test

    必定為空
基于ECS搭建FTP服務Day01
  • 在本地建立test.txt檔案直接拖入
基于ECS搭建FTP服務Day01
  • 在伺服器檢視檔案是否成功上傳
基于ECS搭建FTP服務Day01

繼續閱讀