FTP服務,

來源:互聯網
上載者:User

FTP服務,

================FTP服務:
FTP:(File Transfer Protocol)檔案傳輸通訊協定,是TCP/IP協議組中的協議之一;
架構: C/S client/server
    B/S browser/server
連結:
  命令連結--------->command 21號連接埠
  資料連結---------> data
連結模式:
  主動模式:伺服器端從20號連接埠主動向用戶端發出連結請求;  

           

             被動模式 : 伺服器端在指定範圍內的某個連接埠被動等待用戶端發起連結請求;

               

傳輸模式:
  文字模式: ASCII模式,以文本序列傳輸資料;
  二進位模式:Binary模式,以二進位序列傳輸資料;
服務概述:

        

==============搭建vsftpd服務:

伺服器端:

1》安裝相關軟體包:
  yum -y install vsftpd
  service vsftpd start 開啟服務
  lsof -i:21 查看相關連接埠
  *****:預設情況下我們使用ftp使用者登入,只能下載檔案,不能上傳檔案,所以當我們登入ftp伺服器後直接進入ftp使用者的家目錄/var/ftp;建立本機使用者,才能實現上          
傳和下載檔案,上傳的檔案會在使用者的家目錄下;

2》建立本機使用者,實現上傳和下載檔案:

        

3》修改設定檔:/etc/vsftpd/vsftpd.conf

       

           

              

               ******man 5 vsftpd.conf 命令可以詳細查看設定檔中的各項配置意義
4》用戶端登入,並上傳下載檔案:

       

 

 

  ================匿名使用者相關案例:

    

  =================黑白名單:

     

 

  ==========虛擬賬戶:滿足大量賬戶的訪問需求
    如果需要訪問FTP的使用者不多,則可以直接建立系統賬戶以滿足對FTP訪問的請求,但當使用者量變得越來越龐大時,繼續建立更多的系統賬戶是不明智的,這時就需要為vsftpd建立虛擬賬戶;但vsftpd虛擬賬戶的資料需要儲存在Berkeley DB 格式的資料檔案中,所以需要安裝db4-utils工具來建立這樣的資料檔案:

1》建立虛擬賬戶資料庫:

         首先需要建立純文字密碼檔案,明文檔案奇數行為使用者名稱,偶數行為密碼,然後使用db_load工具將其轉換為資料庫檔案,db_load工具需要通過安裝db4-utils軟體獲得,最後可以通過修改檔案許可權以增強資料資料的安全性;

      

  2》建立PAM檔案,設定基於虛擬賬戶驗證:
    Linux一般通過PAM檔案設定賬戶的驗證機制,然後通過建立新的PAM檔案,使用新的資料檔案進行登入驗證,PAM檔案中的db選項於指定並驗證賬戶和密碼的資料庫檔案,資料庫檔案無須.db的名稱尾碼。

       

  3》設定虛擬賬戶共用目錄:
    因為所有的虛擬賬戶最終都需要映射到一個真實的系統賬戶,所有這裡需要添加一個系統賬戶並設定家目錄,可以設定一份測試檔案;
    useradd -s /sbin/nologin -d /home/ftp virtual
    cp /etc/passwd /home/ftp
4》修改主設定檔:
  與匿名使用者設定差不多,使用guest_enable選項開啟虛擬賬戶功能;

        

  5》為每個使用者佈建獨立的共用路徑:
  通過在主設定檔中使用user_config_dir選項,設定一個基於賬戶的配置目錄,在該目錄下可以建立若干個與賬戶名稱同名的檔案,並在檔案中為此賬戶設定獨立的配置選項,包括許可權與共用路徑等設定,這樣就可以為每個賬戶作單獨的使用權限設定等操作,當然如果你還需要對許可權,限速,並發量等選項進行設定,可以參考匿名帳號的設定選項添加至帳號獨立的設定檔中;

       

  6》重啟服務:
  service vsftpd restart

相關測試:

    

  相關命令: mirror 下載檔案夾
      mirror -R 上傳檔案夾
      wget命令解析: 只能用來下載檔案,不能用來下載檔案夾,下載的檔案預設放在目前的目錄下;

     

          

          

==================常見問題分析:
1》提示錯誤碼:530 Login incorrect
  說明登入過程中賬戶驗證失敗,則可能是因為你使用的是64位作業系統,而pam檔案中庫檔案的調用卻使用的是/lib/security/pam_usedb.so,或者是使用者名稱或密碼輸入有錯誤;此外,也可能是vsftpd主設定檔中pam_service_name設定的pam檔案名稱與/etc/pam.d中建立的pam檔案名稱不一致,導致無法驗證成功;

2》提示錯誤碼:500 OOPS: cannot change directory:/home/ftp/$USER
  該提示代表目錄不存在或無許可權導致的無法切換至目錄,也有可能是由於SELinux導致的無法共用賬戶家目錄,預設SELinux不允許共用家目錄;

3》使用windows系統訪問主動模式的vsftpd伺服器時無法訪問成功
  預設windows會使用被動模式串連FTP伺服器,如果需要以主動模式串連伺服器,需要修改瀏覽器的屬性,方法是尋找Internet選項的進階選項卡,找到使用被動FTP,取消該功能即可;

4》賬戶登入後無法上傳資料:
  根據不同的登入類型,檢查主設定檔的設定,匿名帳號與虛擬賬戶檢查以anon_開頭的使用權限設定,本地賬戶檢查以local_開頭的使用權限設定,並且要確保全域write_enable設定為YES,此外,檔案系統目錄的許可權也需要修改,確保用戶端賬戶有許可權訪問該目錄;
 ll -d /var/ftp

5》啟動服務時報錯:500 OOPS:bad bool value in config file
  vsftpd 設定檔設定錯誤,檢查檔案;設定檔要求每個設定項佔用獨立的一行,並且不可以有多於 的空格;

==================日誌分析與防火牆問題:
日誌:

        

             

   安全:

          

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.