ftp是什么意思呢 什么是ftp
2022-06-08 15:11:48 閱讀(236)
相對來說很少人會在工作中接觸到FTP這一塊,可能計算機相關(guān)的工作接觸的很多,下面萬商云集小編就給大家來詳細(xì)介紹一下 ftp是什么意思呢 什么是ftp這一塊的內(nèi)容,希望能幫助到大家。
Ftp 介紹
文件傳輸協(xié)議(File Transfer Protocol,F(xiàn)TP),基于該協(xié)議FTP客戶端與服務(wù)端可以實現(xiàn)共享文件、上傳文件、下載文件。 FTP 基于TCP協(xié)議生成一個虛擬的連接,主要用于控制FTP連接信息,同時再生成一個單獨的TCP連接用于FTP數(shù)據(jù)傳輸。用戶可以通過客戶端向FTP服務(wù)器端上傳、下載、刪除文件,F(xiàn)TP服務(wù)器端可以同時提供給多人共享使用。
FTP服務(wù)是Client/Server(簡稱C/S)模式,基于FTP協(xié)議實現(xiàn)FTP文件對外共享及傳輸?shù)能浖Q之為FTP服務(wù)器源端,客戶端程序基于FTP協(xié)議,則稱之為FTP客戶端,F(xiàn)TP客戶端可以向FTP服務(wù)器上傳、下載文件。
FTP Server 作用:提供文件共享服務(wù),實現(xiàn)上傳下載 端口: 21號,建立tcp連接 默認(rèn)端口 20號:傳輸數(shù)據(jù)
一、FTP基礎(chǔ)
軟件包: vsftpd FTP端口: 控制端口 command 21/tcp 配置文件: /etc/vsftpd/vsftpd.conf
ftp主動模式
ftp主動模式:客戶端開啟一個端口N(>1023)向服務(wù)端的21端口,建立連接,同時開啟一個N+1,告訴服務(wù)端,我監(jiān)聽的是N+1端口,服務(wù)端接到請求之后,用自己的20端口連接到客戶端的N+1端口,進(jìn)行傳輸 21端口建立連接 20端口傳輸數(shù)據(jù)
ftp被動模式
ftp被動模式:客戶端同時開啟兩個端口(1024,1025),一個端口(1024)跟服務(wù)端的21端口建立連接,并請求,大哥,我連上了,你再開一個端口唄。服務(wù)端接到請求之后,隨機會開啟一個端口(1027)并告訴客戶端我開啟的是1027端口,客戶端用另一個端口(1025)與服務(wù)端的(1027)端口進(jìn)行連接,傳輸數(shù)據(jù)
Vsftp 服務(wù)器簡介
非常安全的FTP服務(wù)進(jìn)程(Very Secure FTP daemon,Vsftpd),Vsftpd在Unix/Linux發(fā)行版中最主流的FTP服務(wù)器程序,優(yōu)點小巧輕快,安全易用、穩(wěn)定高效、滿足企業(yè)跨部門、多用戶的使用(1000用戶)等。
二、vsftpd配置
FTP Server(服務(wù)端) 實驗環(huán)境--準(zhǔn)備兩臺機器 關(guān)
FTP是用來傳送文件的協(xié)議。使用FTP實現(xiàn)遠(yuǎn)程文件傳輸?shù)耐瑫r,還可以保證數(shù)據(jù)傳輸?shù)目煽啃院透咝浴?/p>
FTP的應(yīng)用
在企業(yè)網(wǎng)絡(luò)中部署一臺FTP服務(wù)器,將網(wǎng)絡(luò)設(shè)備配置為FTP客戶端,則可以使用FTP來備份或更新VRP文件和配置文件。 也可以把網(wǎng)絡(luò)設(shè)備配置為FTP服務(wù)器,將設(shè)備的日志文件保存到某臺主機上方便查看。
FTP傳輸模式
FTP傳輸數(shù)據(jù)時支持兩種傳輸模式:ASCII模式和二進(jìn)制模式。
ASCII模式用于傳輸文本。 發(fā)送端的字符在發(fā)送前被轉(zhuǎn)換成ASCII碼格式之后進(jìn)行傳輸,接收端收到之后再將其轉(zhuǎn)換成字符。 二進(jìn)制模式常用于發(fā)送圖片文件和程序文件。 發(fā)送端在發(fā)送這些文件時無需轉(zhuǎn)換格式,即可傳輸。
FTP傳輸文件過程
使用FTP進(jìn)行文件傳輸時,會使用兩個TCP連接。 第一個連接是FTP客戶端和FTP服務(wù)器間的控制連接。 FTP服務(wù)器開啟21號端口,等待FTP客戶端發(fā)送連接請求。
第二個連接是FTP客戶端和FTP服務(wù)器間的數(shù)據(jù)連接。 服務(wù)器使用TCP的20號端口與客戶端建立數(shù)據(jù)連接。 通常情況下,服務(wù)器主動建立或中斷數(shù)據(jù)連接。
FTP的配置
執(zhí)行ftp server enable命令使能FTP功能。
執(zhí)行set default ftp-directory命令設(shè)置FTP用戶。
在配置FTP服務(wù)器時,可以使用AAA為每個用戶分別配置登錄賬號和訪問權(quán)限。
aaa命令用來進(jìn)入AAA視圖。
local-user user-name { access-limit max-number | ftpdirectory directory | idle-timeout minutes [ seconds ] | password cipher password [ opt ]| privilege level level | state {active | block } } *命令用來創(chuàng)建本地用戶,并配置本地用戶的各項參數(shù)。
user-name指定用戶名。
local-user huawei service-type ftp命令用來配置本地用戶的接入類型為ftp。
ftp-directory指定FTP用戶可訪問的目錄。 如果丌配置FTP用戶可訪問的目錄,則FTP用戶無法登錄設(shè)備。
access-limit指定用戶名可建立的最大連接數(shù)目。
idle-timeout指定用戶的閑置超時時間。
privilege level指定用戶的優(yōu)先級。
ftp客戶端連接ftp服務(wù)器
ftp命令用來不遠(yuǎn)程FTP服務(wù)器建立控制連接,并進(jìn)入FTP客戶端視圖。
binary命令用來在設(shè)備作為FTP客戶端時設(shè)置文件傳輸方式為Binary模式,又稱二進(jìn)制模式。缺省情況下,文件傳輸方式為ASCII模式。get命令用來從遠(yuǎn)程FTP服務(wù)器下載文件并保存在本地。
閉防火墻和selinux #systemctl stop firewalld #systemctl disable firewalld #setenforce 0 ========================================= ftp-server 192.168.246.160 client 192.168.246.161 ========================================== [root@ftp-server ~]# yum install -y vsftpd [root@ftp-server ~]# systemctl start vsftpd FTP默認(rèn)共享目錄:/var/ftp [root@ftp-server ~]# touch /var/ftp/pub/test.txt #創(chuàng)建文件到共享目錄 [root@ftp-server ~]# systemctl enable vsftpd [root@ftp-server ~]# cd /var/ftp/ [root@ftp-server ftp]# ls pub [root@ftp-server ftp]# chown ftp.ftp pub/ -R #修改根目錄的屬主與屬組 [root@ftp-server ftp]# ll total 0 drwxr-xr-x. 2 ftp ftp 22 Aug 3 03:15 pub
重點:改變根目錄的屬主,如果不改變的話,只能訪問,其他權(quán)限不能生效。因為我們是以ftp用戶的身份訪問的,而pub默認(rèn)的屬主屬組是root。
注意:
- 修改完配置之后需要重啟完服務(wù)才能生效- 還需要從新從客戶端登陸,否則修改后的配置看不到效果。
編輯配置文件
[root@ftp-server ~]# vi /etc/vsftpd/vsftpd.conf ----找到29行將下面的注釋取消 34 anon_other_write_enable=YES
[root@ftp-server ~]# systemctl restart vsftpd FTP Clinet(客戶端) 關(guān)閉防火墻和selinux [root@client ~]# yum -y install lftp #安裝客戶端 get命令(下載,首先要開啟下載功能) [root@client ~]# lftp 192.168.246.160 lftp 192.168.246.160:~> ls drwxr-xr-x 2 0 0 6 Oct 30 2018 pub lftp 192.168.246.160:/> cd pub/ lftp 192.168.246.160:/pub> ls -rw-r--r-- 1 14 50 0 Aug 02 19:14 test.txt lftp 192.168.246.160:/pub> get test.txt #下載 lftp 192.168.246.160:/pub> exit [root@client ~]# ls #會下載到當(dāng)前目錄 anaconda-ks.cfg test.txt [root@client ~]# lftp 192.168.246.160 lftp 192.168.246.160:/pub> mkdir dir #也可以創(chuàng)建目錄 mkdir ok, `dir' created put命令(上傳命令,上傳之前請在服務(wù)端進(jìn)行配置,將上傳功能打開) [root@client ~]# touch upload.txt #創(chuàng)建測試文件 [root@client ~]# mkdir /test/ #創(chuàng)建測試目錄 [root@client ~]# touch /test/test1.txt #在測試目錄下面創(chuàng)建測試文件 [root@client ~]# lftp 192.168.246.160 lftp 192.168.246.160:~> cd pub/ lftp 192.168.246.160:/pub> put /root/upload.txt #上傳文件 lftp 192.168.246.160:/pub> ls -rw------- 1 14 50 0 Nov 16 12:14 upload.txt drwx------ 2 14 50 6 Aug 02 19:17 dir lftp 192.168.246.160:/pub> mirror -R /test/ #上傳目錄以及目錄中的子文件 Total: 1 directory, 1 file, 0 symlinks New: 1 file, 0 symlinks lftp 192.168.246.160:/pub> ls drwx------ 2 14 50 23 Nov 16 12:18 test -rw------- 1 14 50 0 Nov 16 12:14 upload.txt mirror 下載目錄
上面就是關(guān)于ftp是什么意思呢 什么是ftp的全部內(nèi)容介紹,希望上面的內(nèi)容能幫助到大家了解FTP的相關(guān)內(nèi)容。
未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明出處