天天看點

FTP伺服器

控制連接配接(持續連接配接) -> TCP21(指令信道) -> 使用者收發FTP指令

資料連接配接(按需連接配接) -> TCP20(資料信道) -> 用于上傳下載下傳資料

FTP伺服器
FTP伺服器

ftp模式分為主動模式(active mode)和被動模式(passive mode),ftp是tcp連接配接,是以要進行三次握手。

@See

在指令行輸入vim /etc/vsftpd/vsftpd.conf:

active mode:

passive mode:

在linux上,如果不配置pasv_enable=NO,預設是passive模式。(以前在鎮江農商行,遇到檔案傳輸過不去的問題,後來才發現為被動模式,但配置的為NO,改成YES即可。

service vsftpd restart 重新開機ftp服務;

通過指令行連接配接ftp server:

​ active mode: ftp -A 192.168.180.106

​ active模式連接配接ftp server時一定要加 -A

​ passive mode: 可以直接使用 ftp 192.168.180.106

FTP伺服器

如下圖,在active模式下,要傳輸資料時,ftp client通過第23個包通過21号端口告訴server資料傳輸聯系端口43187(大于1024的任意端口),并進行listen,server端用端口20主動和client端43187建立資料傳輸通道,并傳輸資料(第30,32,34個包)。這裡是server知道了client端的資料通道監聽端口後,主動建立了資料傳輸通道,是以是主動模式。

FTP伺服器

在active模式下,資料傳輸部分(FTP-DATA類型的包),ftp-server端用的端口是20,預設情況下,FTP PORT主動模式進行資料傳輸時使用20端口,ftp-client端用的是43187端口,是上一步client發給server的資料傳輸監聽端口。

FTP伺服器

總結:active 模式

FTP伺服器
FTP伺服器

在passive模式下,如下圖的第28個包,是由client端發起PASV(passive mode)的資料傳輸通道連接配接請求,是以為被動模式。

FTP伺服器

而在passive模式的資料傳輸部分(FTP-DATA類型的包),ftp-server端用的端口是3542,這個端口是在/etc/vsftpd/vsftpd.conf檔案中passive模式下設定的端口範圍(3000-4000,可以自己設定)中任意選的一個端口,ftp-client端用的是53001端口,是大于1024的任意一個端口。

FTP伺服器

總結:

passive模式

FTP伺服器

Binary模式: 不對資料進行任何處理,适合進行可執行檔案、壓縮檔案、圖檔等。

ASCII模式:進行文本傳輸時,自動适應目标作業系統的結束符,如回車符等

LINUX的紅帽發行版中VSFTP預設采用的是Binary模式,這樣能保證絕大多數檔案傳輸後能正常使用

切換方式:

FTP伺服器

FTP的使用可以使用?查詢所有指令

注:關閉防火牆和SELINUX

FTP伺服器

注:在用戶端登入後,預設情況下可以下載下傳,不能上傳

FTP伺服器端

FTP伺服器

FTP用戶端

FTP伺服器

實作上傳

FTP伺服器
FTP伺服器

實作建立目錄和檔案其他操作

FTP伺服器

實作檔案下載下傳

FTP伺服器
FTP伺服器

建立的使用者,不需要登入作業系統,僅用來登入VSFTP

建立的時候,如果想限制使用者的家目錄,可以這樣建立

将所有的使用者禁锢在自己的家目錄下(即不能随意切換路徑)

FTP伺服器

将部分使用者禁锢在自己的家目錄下

FTP伺服器

​ 注:白名單使用的前提,要把chroot_local_user=YES開啟,測了幾遍發現這個問題

配置檔案:/etc/vsftpd/ftpusers

所有寫入此檔案内的使用者名都不允許登入ftp,立即生效

修改被動模式資料傳輸使用端口

FTP伺服器
FTP伺服器

注:做虛拟使用者配置檔案設定時,将主配置檔案中的自定義的匿名使用者相關設定注釋掉

給3個配置檔案賦予權限

FTP伺服器
FTP伺服器

接下來

FTP伺服器
上一篇: FTP伺服器

繼續閱讀