340 likes | 450 Views
Chap 16 FTP 伺服器. 16-1 FTP 與 VSFTP 16-2 用戶端連接 16-3 伺服器組態設定 16-4 使用者管理. 16-1 FTP 與 VSFTP. FTP 特色. 交談式( Interactive )存取 指定下載的檔案格式 身份驗證控制 提供跨平台的資料交換 穩定的傳輸機制. 使用二個連接埠與用戶端通訊. 伺服器與用戶端資料交換. FTP 用戶端使用「三段式交握」( Three-Way Handshake )的方式,來與 FTP 伺服器建立 TCP 交談。
E N D
Chap 16 FTP伺服器 • 16-1 FTP與VSFTP • 16-2 用戶端連接 • 16-3 伺服器組態設定 • 16-4 使用者管理
FTP特色 • 交談式(Interactive)存取 • 指定下載的檔案格式 • 身份驗證控制 • 提供跨平台的資料交換 • 穩定的傳輸機制
伺服器與用戶端資料交換 • FTP用戶端使用「三段式交握」(Three-Way Handshake)的方式,來與FTP伺服器建立TCP交談。 • FTP伺服器利用TCP 21連接埠以傳送和接收FTP控制資訊,它主要是用來監聽用戶端的連接要求,而在交談建立後,這個連接埠將在交談進行時全程開啟。 • FTP伺服器另外使用TCP 20連接埠以傳送和接收檔案(可能是ASCII或二進位檔),但它會在檔案傳輸後立即關閉。 • FTP用戶端在向FTP伺服器提出連接要求時會動態指定一個連接埠號碼,通常這些用戶端指定的連接埠號碼是由1024到65535。 • 在FTP交談建立後,用戶端會開啟一個連接埠以連接到伺服器上的TCP 21連接埠。 • 當檔案開始傳輸時,用戶端會開啟另一個連接埠以連接到伺服器上的TCP 20連接埠,而且每一次檔案傳輸時,用戶端都會開啟另一個新的連接埠以傳送檔案。
FTP架構 • 下載(Downloading/Getting) • 上傳(Uploading/Putting)
FTP指令 ftp 伺服器名稱或IP位址 ftp> ? # 列出所有可用指令 Commands may be abbreviated. Commands are: ! cr mdir proxy send $ delete mget sendport site account debug mkdir put size append dir mls pwd status ……….. ftp> ? get # 檢視單一指令說明 get receive file
瀏覽器 以瀏覽器連接FTP伺服器
瀏覽器 在瀏覽器中輸入個別使用者帳號資料
FTP程式 檢視本機預設目錄內容
FTP程式 檢視Site Manager內容
/etc/vsftpd/vsftpd.conf檔案 • 主要憑藉的組態設定檔為-/etc/vsftpd/vsftpd.conf • 設定檔中的每一行都表示單一的指令 • 若是以「#」開頭則屬於註解文字 • 指令的格式如下: 選項=設定值
布林值選項 • ascii_download_enable • ascii_upload_enable • async_abor_enable • check_shell • connect_from_port_20 • hide_ids • listen • log_ftp_protocol • one_process_model
布林值選項 • pasv_enable • pasv_promiscuous • port_enable • port_promiscuous • setproctitle_enable • tcp_wrappers • use_localtime • write_enable • xferlog_enable • xferlog_std_format
數字選項 • accept_timeout • connect_timeout • data_connection_timeout • file_open_mode • ftp_data_port • listen_port • max_per_ip • pasv_max_port • pasv_min_port
字串選項 • anon_root • banned_email_file • banner_file • chown_username • ftpd_banner • listen_address • local_root
字串選項 • message_file • nopriv_user • pam_service_name • secure_chroot_dir • user_config_dir • userlist_file • xferlog_file
訊息編號 • 110:重新啟動標記應答 • 120:服務在多久時間內Ready • 125:資料連結埠開啟,準備傳送。 • 150:文件狀態正常,開啟資料連接埠。 • 200:命令執行成功 • 202:命令執行失敗 • 211:系統狀態或是系統求助回應 • 212:目錄狀態
訊息編號 • 213:文件狀態 • 214:求助訊息 • 215:名稱系統類型 • 220:新的連線服務Ready • 221:服務控制連接埠關閉表示可以登出 • 225:數據連結開啟但無傳輸動作 • 226:關閉資料連接埠表示請求的文件操作成功 • 227:進入Passive Mode
訊息編號 • 230:使用者登入 • 250:請求的文件操作完成 • 257:顯示目前的路徑名稱 • 331:用戶名稱正確但需要密碼 • 332:登入時需要帳號資訊 • 350:請求的操作需要進一步的命令 • 421:無法提供服務並且關閉控制連結 • 425:無法開啟資料連結
訊息編號 • 426:關閉連線並且終止傳輸 • 450:請求的操作未執行 • 451:命令終止:有本地錯誤 • 452:未執行命令:磁碟空間不足 • 500:格式錯誤因此無法識別命令 • 501:參數語法錯誤 • 502:命令執行失敗 • 503:命令順序錯誤
訊息編號 • 504:命令所接的參數不正確 • 530:未登入 • 532:儲存文件需要帳戶登入 • 550:未執行請求的操作 • 551:請求的命令終止因為類型未知 • 552:請求的文件終止因為儲存位元溢出 • 553:未執行請求的命令因為名稱不正確
布林值選項 • anon_mkdir_write_enable • anon_other_write_enable • anon_upload_enable • anon_world_readable_only • anonymous_enable • chown_uploads
布林值選項 • chroot_list_enable • chroot_local_user • deny_email_enable • dirmessage_enable • guest_enable • local_enable
布林值選項 • ls_recurse_enable • no_anon_password • text_userdb_names • userlist_deny • userlist_enable
數字選項 • anon_max_rate • anon_umask • idle_session_timeout • local_max_rate • local_umask • max_clients
字串選項 • chroot_list_file • guest_username • ftp_username
ftpusers設定檔 • /etc/vsftpd/ftpusers檔案是用來管理登入帳號的設定檔 • 它是用來指定「不允許」登入的帳號