1 / 38

檔案下載伺服器 FTP 架設與管理

檔案下載伺服器 FTP 架設與管理. 鄧姚文. 教材. 陳源謙( 2014 ), Ubuntu Linux 管理與架站實務, 博碩文化股份有限公司, ISBN 978-986-201-389-2 (書號 OS30004 ) 湯秉翰( 2013 ), CentOS Linux 系統建置與實務 ( 第二版 ) , 博碩文化股份有限公司, ISBN 978-986-201-764-7 (書號 OS31312 )

xaria
Télécharger la présentation

檔案下載伺服器 FTP 架設與管理

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 檔案下載伺服器FTP架設與管理 鄧姚文

  2. 教材 • 陳源謙(2014), Ubuntu Linux 管理與架站實務, 博碩文化股份有限公司, ISBN 978-986-201-389-2 (書號 OS30004) • 湯秉翰(2013), CentOS Linux系統建置與實務(第二版), 博碩文化股份有限公司, ISBN 978-986-201-764-7 (書號 OS31312) • 鳥哥(2011), 鳥哥的Linux私房菜--伺服器架設篇(第三版), 碁峰資訊股份有限公司, ISBN 9789862579329 (書號 ACA016100)

  3. 大綱 • FTP的應用介紹 • 架設FTP伺服器 • 管理FTP伺服器 • 測試FTP伺服器

  4. 檔案傳輸通訊協定 • FTP: File Transfer Protocol • 在主機之間互相傳送檔, • http://tools.ietf.org/html/rfc959 • FTP協定比HTTP協定複雜 • 兩個 TCP 連接 • 一個傳命令 • 另一個上傳、下載資料

  5. FTP 簡介 • FTP協定有兩種工作方式:PORT和PASV • PORT(主動方式)的連接過程是: • 當需要傳送資料時,用戶端在命令鏈路上用 PORT命令告訴伺服器:「我打開了*****埠,你過來連接我」。於是伺服器便透過埠號20向用戶端的*****埠發送連接請求,建立一條資料連結來傳送資料。 • PASV(被動方式)的連接過程是: • 當需要傳送資料時,伺服器在命令鏈路上用 PASV命令告訴用戶端:「我打開了*****埠,你過來連接我」。於是用戶端向伺服器的*****埠發送連接請求,建立一條資料連結來傳送資料。

  6. Active FTP

  7. Active FTP Example

  8. Passive Mode FTP

  9. Passive FTP

  10. Passive FTP Example

  11. FTP Commands • open • to open a connection with another computer • lsor dir • to list the names of the files in the current remote directory • cd • to change directory on the remote machine • binary • to set the mode of file transfer to binary • (the binary mode transmits all eight bits per byte and thus provides less chance of a transmission error and must be used to transmit files other than ASCII files) • get • to copy one file from the remote machine to the local machine

  12. FTP Commands • ascii • to set the mode of file transfer to ASCII • (this is the default and transmits seven bits per character) • put • to copy one file from the local machine to the remote machine • pwd • to find out the pathname of the current directory on the remote machine • mkdir • to make a new directory within the current remote directory • rmdir • to to remove (delete) a directory in the current remote directory

  13. FTP Commands • delete • to delete (remove) a file in the current remote directory (same as rm in UNIX) • mget • to copy multiple files from the remote machine to the local machine; • you are prompted for a y/n answer before transferring each file • mget * • copies all the files in the current remote directory to your current local directory, using the same filenames. Notice the use of the wild card character, *. • mput • to copy multiple files from the local machine to the remote machine; • you are prompted for a y/n answer before transferring each file • bye or quit • to exit the FTP environment

  14. 架設FTP伺服器 • 要自行架設FTP伺服器並不是很困難,只要透過aptitude指令安裝必要的套件,再根據需求調整FTP伺服器的設定值,即可完成安裝。 輸入指令【sudo aptitude install vsftpd】 以安裝FTP伺服器必要的套件。

  15. 架設FTP伺服器 • 簡易測試FTP伺服器服務 • 在安裝FTP伺服器服務的過程,會自動的啟動所安裝的FTP伺服器服務; • 因此,在完成安裝後,可以直接在終端機透過簡易的FTP指令,測試FTP伺服器服務是否正常。 透過指令【ifcong】取得本機的IP位址為「192.168.1.12」

  16. 架設FTP伺服器 • 簡易測試FTP伺服器服務 • 接著,便透過FTP 指令嘗試連接192.168.1.12 的FTP 伺服器,請輸入指令【ftp 192.168.1.12】並依提示輸入使用者帳號及使用者密碼;預設的使用者帳號及使用者密碼即為登入Linux 主機的使用者帳號及使用者密碼。 • 若輸入的使用者帳號與使用者密碼皆正確,則將可以順利登入所架設的FTP伺服器主機,預設會載入使用者帳號的家目錄為登入後預設的目錄,透過FTP指令「ls」可以列出所有檔案。

  17. 架設FTP伺服器 • 簡易測試FTP伺服器服務 • 若發生無法連線的狀況,請檢查安裝程序是否完成及透過指令查詢FTP伺服器服務是否已經被啟動,請輸入指令【sudo service vsftpd status】以確認所安裝的FTP伺服器服務是否正常啟動。 • 若FTP 伺服器服務的狀態為「stop/waiting」代表FTP 伺服器服務尚未啟動,請透過指令【sudo service vsftpd start】手動啟動FTP 伺服器服務。

  18. 管理FTP伺服器 • 透過套件管理指令「dpkg」及參數「-L vsftpd」與接續的管線指令「 | grep/etc」,能夠列出已經安裝的VSFTPD 伺服器套件的相關設定檔案。

  19. 管理FTP伺服器 • 限制不允許使用FTP的使用者帳號列表 /etc/ftpusers • 預設透過「/etc/ftpusers」進行管控,任何不允許登入FTP伺服器的本地使用者帳號,都可以加入這個列表裡;當使用者帳號名稱登入位於該設定檔案的拒絕清單裡,則在登入時將會顯示拒絕登入的訊息。 • 此時,若透過文字編輯器將frank 帳號加入拒絕登入清單裡,並且,透過指令【sudo service vsftpd restart】重新啟動FTP 伺服器後,使用frank 帳號嘗試登入FTP 伺服器,將發現即便輸入正確的密碼,仍然被拒絕登入。

  20. 管理FTP伺服器 • 限制不允許使用FTP的使用者帳號列表 /etc/ftpusers 將frank帳號加入拒絕登入FTP的帳號 清單裡,並重新啟動FTP伺服器。 使用frank帳號登入FTP伺服 器,將發現frank帳號已經 無法登入。

  21. 管理FTP伺服器 • VSFTPD的PAM認證模組 /etc/pam.d/vsftpd • 透過VSFTPD 的PAM 設定檔案,使用者可以根據需求定義FTP 檔案伺服器使用者身份驗證的功能,預設定義只要使用者的帳號名稱出現於「/etc/ftpusers」清單裡,便拒絕登入。

  22. 管理FTP伺服器 • VSFTPD的服務啟動控制 /etc/init.d/vsftpd • 預設提供用來控制FTP 檔案伺服器的服務,可以透過指令: • /etc/init.d/vsftpd start 啟動VSFTPD檔案伺服器的服務。 • /etc/init.d/vsftpd stop 停止VSFTPD檔案伺服器的服務。 • /etc/init.d/vsftpd restart 重新啟動VSFTPD檔案伺服器的服務。

  23. 管理FTP伺服器 • VSFTPD的記錄檔案儲存控制 /etc/logrotate.d/vsftpd • Logrotate工具設計用於簡化大量系統紀錄檔案的管理工作,允許自動分頁壓縮、移除與寄發紀錄檔,也可設定在每天、每週、每個月、或紀錄檔案到達一定的檔案大小時進行處理。通常 logrotate為每天的例行性命令工作。

  24. 管理FTP伺服器 • VSFTPD伺服器環境的組態設定檔案 /etc/vsftpd.conf • 此檔案為VSFTPD 最重要的設定檔案,該檔案的內容主要控制VSFTPD 檔案伺服器的整體運作。管理者可以根據不同的需求進行調整。 • 設定檔案依分類如下,詳細內容請參考書籍13-9頁~13-15頁 • 與VSFTPD伺服器服務的設定選項 • 與實體用戶較相關的設定值 • 匿名者登入的設定值 • 關於系統安全方面的一些設定值

  25. 測試FTP伺服器 • 當伺服器完成架設後,除了在伺服器本機使用ftp 指令進行FTP 檔案伺服器的測試外,更需要透過其它電腦主機及FTP用戶端軟體套件的輔助,進行FTP檔案伺服器的測試,以確保服務正常無誤。分別說明如下 • 在Windows使用FTP用戶端軟體進行測試 • 在X視窗使用FTP用戶端軟體進行測試

  26. 測試FTP伺服器 • 在Windows使用FTP用戶端軟體進行測試 • 使用習慣的FTP用戶端軟體,若沒有慣用的FTP用戶端軟體,則推薦使用開發原始碼資源的FileZilla Client;其為免費下載、無功能限制的FTP 用戶端軟體,讀者可以在http://filezilla.sourceforge.net網站下載Windows 版本的安裝程式。

  27. 測試FTP伺服器 • 在Windows使用FTP用戶端軟體進行測試 • STEP1.啟動FileZilla FTP用戶端軟體後,請直接在「主機」、「使用者帳號」及「使用者密碼」欄位輸入要連線進行測試的FTP 伺服器,並點選「快速連線」以測試FTP Server是否可以從別台電腦主機進行連線。

  28. 測試FTP伺服器 • 在Windows使用FTP用戶端軟體進行測試 • STEP2.在成功連線至透過VSFTPD軟體套件所架設的FTP 伺服器後,請嘗試上傳任意檔案,以確定上傳檔案可以正常運作。

  29. 測試FTP伺服器 • 在Windows使用FTP用戶端軟體進行測試 • STEP3.當將檔案上傳至所架設的FTP 伺服器時,若發現無法順利的上傳檔案,並且,上傳檔案失敗的訊息是「Permission denied 拒絕存取」時,則請先行檢查VSFTPD環境組態設定檔案的設定參數。

  30. 測試FTP伺服器 • 在Windows使用FTP用戶端軟體進行測試 • STEP4.若架設FTP檔案伺服器的規劃,是允許使用者上傳檔案至FTP檔案伺服器,則請檢查vsftpd.conf 設定檔案的內容,確認「write_enable=YES」的參數是否被開啟;預設是以「#」將此功能關閉,不允許使用者上傳檔案至FTP 伺服器。 • STEP5.若要修改成允許使用者上傳檔案,則請直接更改vsftpd.conf 的檔案內容,並且將「#write_enable=YES」修改成「write_enable=YES」。

  31. 測試FTP伺服器 • 在Windows使用FTP用戶端軟體進行測試 • STEP5.完成修改,請記得輸入指令【sudo /etc/init.d/vsftpd restart】以重新啟動所架設的VSFTPD 檔案伺服器服務。成功上傳檔案的參考畫面。預設是不允許使用者上傳檔案至FTP伺服器。 • 完成修改並重新啟動VSFTPD 檔案伺服器服務後,請記得測試原本無法上傳檔案的問題,是否已經被解決。

  32. 測試FTP伺服器 • 在X視窗使用FTP用戶端軟體進行測試 • STEP1.在沒有安裝FTP用戶端軟體的電腦平台,可以直接透過網路瀏覽器進行FTP檔案伺服器的存取;假設FTP 伺服器的IP位址是192.168.1.12,則只要在網頁瀏覽器的網址列輸入【ftp://192.168.1.12】以透過網頁瀏覽器存取FTP伺服器。

  33. 測試FTP伺服器 • 在X視窗使用FTP用戶端軟體進行測試 • STEP2.若要存取的FTP 檔案伺服器必須通過使用者身分驗證,才能夠順利的存取檔案伺服器的檔案資源,則請依提示輸入正確的使用者帳號及使用者密碼。 • 在Ubuntu Linux的X視窗操作介面,除了使用網頁瀏覽器的操作介面,更可以透過FTP 用戶軟體進行FTP檔案伺服器的存取;若預設尚未安裝FTP 用戶端軟體,則可以透過Ubuntu Software Center安裝指定的FTP用戶端軟體。

  34. 測試FTP伺服器 • 在X視窗使用FTP用戶端軟體進行測試 • STEP3.透過Applications(應用程)選單選擇Internet(網際網路)並選擇FileZilla以啟用所安裝的FileZilla FTP用戶端軟體以進行FTP檔案伺服器的存取。 啟用FTP用戶端軟體後,請輸 入FTP伺服器的連線設定參 數,並點選「快速連線」以 進行FTP檔案伺服器的存取。

  35. 測試FTP伺服器 • 在X視窗使用FTP用戶端軟體進行測試 • STEP4.當成功的透過FileZilla FTP用戶端軟體存取FTP 檔案伺服器後,便可以依需求進行FTP檔案伺服器的操作或管理。

  36. 命令列 FTP 工具 wget • wget -t0 -c -nH -np -m -P /localdir http://example.com/mirrors/ftp.redhat.com • # -t0: 設定重試次數。當連結中斷或超時,wget會重新連接。-t0代表把重試次數設為無窮多。 • # -c: 設定續傳功能。 • # -nH: 不建立該網站名稱的子目錄 /example.com/,而直接在當前目錄下建立鏡像的目錄結構。 • # -np: 不遍歷父目錄,如果有連結連到目標資料夾的parent或其他目錄,不下載。 • # -m: 鏡像,相當同時使用-r和-N。 • # -r: 遞迴下載,把文件中所有的連結都下載回來。 • # -N: 下載時檢查timestamp,只下載有更新的文件,如果檔案大小和最修改日期都一樣就不下載。 • # -P: 指定下載到本機的某個目錄下。

  37. 本章結束 Q&A討論時間

More Related