linux中的ftp是什么意思,什么是linux的ftp
vsftpd是一款在Linux發行版中最受推崇的FTP服務器程序。
特點是小巧輕快,安全易用。并且是一個完全免費開放源碼的ftp軟件
ftp的作用:
FTP(File Transfer Protocol, FTP)是TCP/IP網絡上兩臺計算機傳送文件的協議,FTP是在TCP/IP網絡和INTERNET上最早使用的協議之一,
它屬于網絡協議組的應用層。FTP客戶機可以給服務器發出命令來下載文件,上載文件,創建或改變服務器上的目錄。
概述:
FTP是應用層的協議,它基于傳輸層,為用戶服務,它們負責進行文件的傳輸。FTP是一個8位的客戶端-服務器協議,能操作任何類型的文件而不需要進一步處理,就像MIME或Unencode一樣。但是,FTP有著極高的延時,這意味著,從開始請求到第一次接收需求數據之間的時間會非常長,并且不時的必需執行一些冗長的登陸進程。
FTP服務一般運行在20和21兩個端口。端口20用于在客戶端和服務器之間傳輸數據流,而端口21用于傳輸控制流,并且是命令通向ftp服務器的進口。當數據通過數據流傳輸時,控制流處于空閑狀態。而當控制流空閑很長時間后,客戶端的防火墻會將其會話置為超時,這樣當大量數據通過防火墻時,會產生一些問題。此時,雖然文件可以成功的傳輸,但因為控制會話會被防火墻斷開,傳輸會產生一些錯誤。
主動和被動模式
FTP有兩種使用模式:主動和被動。主動模式要求客戶端和服務器端同時打開并且監聽一個端口以建立連接。在這種情況下,客戶端由于安裝了防火墻會產生一些問題。所以,創立了被動模式。被動模式只要求服務器端產生一個監聽相應端口的進程,這樣就可以繞過客戶端安裝了防火墻的問題。
一個主動模式的FTP連接建立要遵循以下步驟:
1.客戶端打開一個隨機的端口(端口號大于1024,在這里,我們稱它為x),同時一個FTP進程連接至服務器的21號命令端口。此時,源端口為隨機端口x,在客戶端,遠程端口為21,在服務器。
2.客戶端開始監聽端口(x+1),同時向服務器發送一個端口命令(通過服務器的21號命令端口),此命令告訴服務器客戶端正在監聽的端口號并且已準備好從此端口接收數據。這個端口就是我們所知的數據端口。
3.服務器打開20號源端口并且建立和客戶端數據端口的連接。此時,源端口為20,遠程數據端口為(x+1)。
4.客戶端通過本地的數據端口建立一個和服務器20號端口的連接,然后向服務器發送一個應答,告訴服務器它已經建立好了一個連接。
被動模式FTP:
為了解決服務器發起到客戶的連接的問題,人們開發了一種不同的FTP連接方式。這就是所謂的被動方式,或者叫做PASV,當客戶端通知服務器它處于被動模式時才啟用。
在被動方式FTP中,命令連接和數據連接都由客戶端發起,這樣就可以解決從服務器到客戶端的數據端口的入方向連接被防火墻過濾掉的問題。
當開啟一個 FTP連接時,客戶端打開兩個任意的非特權本地端口(N > 1024和N+1)。第一個端口連接服務器的21端口,但與主動方式的FTP不同,客戶端不會提交PORT命令并允許服務器來回連它的數據端口,而是提交 PASV命令。這樣做的結果是服務器會開啟一個任意的非特權端口(P > 1024),并發送PORT P命令給客戶端。然后客戶端發起從本地端口N+1到服務器的端口P的連接用來傳送數據。
對于服務器端的防火墻來說,必須允許下面的通訊才能支持被動方式的FTP:
1. 從任何大于1024的端口到服務器的21端口 (客戶端的初始化連接)
2. 服務器的21端口到任何大于1024的端口 (服務器響應到客戶端的控制端口的連接)
3. 從任何大于1024端口到服務器的大于1024端口 (客戶端初始化數據連接到服務器指定的任意端口)
4. 服務器的大于1024端口到遠程的大于1024的端口(服務器發送ACK響應和數據到客戶端的數據端口)
linux配置ftp高級權限
建一個用于管理的ftp高級賬號,ftproot,定義它的目錄,也就是我們存放項目的地址,所屬組www, useradd -d /home/www -g www ftproot www里存放很多項目,我 ...
linux開啟FTP以及添加用戶配置權限,只允許訪問自身目錄,不能跳轉根目錄
1.切換到root用戶 2.查看是否安裝vsftp,我這個是已經安裝的. [root@localhost vsftpd]# rpm -qa |grep vsftpd vsftpd--.el7_2.x8 ...
Linux啟動ftp服務器530 Permission denied解決方法(已試,行)
Linux啟動ftp服務器530 Permission denied解決方法重新在虛擬機下安裝了linux.現在我想啟動linux自帶的ftp服務器:#service? vsftpd? start . ...
linux下ftp常用命令
1. Linux 終端連接FTP $ ftp 10.85.3.12 Name : fxm5547 Password: ftp> 如果FTP 允許匿名用戶,那么用戶名要輸入anonymous,密碼 ...
Linux下ftp和ssh詳解
學習了幾天Linux下ftp和ssh的搭建和使用,故記錄一下.學習ftp和ssh的主要目的是為了連接遠程主機,并且進行文件傳輸.廢話不多說,直接開講! ftp服務器 1. 環境搭建 本人的系統是Arc ...
《Linux下FTP服務器搭建及FTP使用》
.LOGAndy:mxtd114 0.root登錄 1.安裝ftp # yum -y install ftp 2.安裝vsftpd # yum -y in ...
Linux篇---ftp服務器的搭建
一.前述 企業中linux搭建ftp服務器還是很實用的,所以本文針對centoos7和centoos6搭建服務器教程做個總結. 二.具體 1.顯示如下圖則表示已安裝 vsftp軟件.如果未顯示則需要安 ...
linux 安裝 ftp 實現文件共享
轉載:http://blog.sina.com.cn/s/blog_165e646820102xe1q.html 參考:1.http://www.cnblogs.com/mrcln/p/6179673 ...
Linux 下 ftp的使用
最近需要在Linux上搭建FTP服務,通過網上的一些大神學習了一些新知識,在這個做一個總結: Linux 下FTP 為 vsftp (linux red hat)1.FTP配置路徑:/etc/vsft ...
使用Linux搭建FTP服務器實現文件共享
使用Linux搭建FTP服務器實現文件共享... ---------------- Linux中的文件共享:FTPVSFTPDVSFTPD虛擬用戶 FTP可以用在Linux與Linux 和Window ...
隨機推薦
深圳 Maker Faire 2016 &; Microsoft Booth
首先,感謝Hackster.io和微軟,因為發表在Hackster.io的項目
Python 對目錄中的文件進行批量轉碼(GBK>;UTF8)
通過python實現對文件轉碼,其實處理很簡單: 1.打開讀取文件內容到一個字符串變量中,把gbk編碼文件,對字符串進行decode轉換成unicode 2.然后使用encode轉換成utf-8格式. ...
【HDU 5835】Danganronpa(分配禮物)
10種禮物,每種有ai個,每個小朋友分兩個禮物,其中普通禮物要求相鄰兩人的不能一樣,求最多分給幾個小朋友. sum/2是最多的情況.什么時候發不了那么多,就是當max很大,無論怎么發,都發不完max. ...
POJ 1061 青蛙的約會【擴展歐幾里德】
設跳的次數為t 根據題意可得以下公式:(x+mt)%L=(y+nt)%L 變形得 (x+mt)-(y+nt)=kL (n-m)t+kL=x-y 令a=(n-m),b=L,c=x-y 得 at+bk=c ...
Linux性能檢測命令 - vmstat
一.vmstat命令描述 最常見的Linux/Unix監控工具想必是vmstat了,vmstat是Virtual?Meomory?Statistics(虛擬內存統計)的縮寫,可以展現給定時間間隔的服務 ...
ImageView類簡介
4.8? 圖片控件 本節將要介紹的是圖片控件ImageView,首先對ImageView類進行簡單介紹,然后通過一個案例來說明ImageView的用法. 4.8.1? ImageView類簡介 Ima ...
數據結構 : Hash Table
http://www.cnblogs.com/lucifer1982/archive/2008/06/18/1224319.html 作者:Angel Lucifer 引子 這篇仍然不講并行/并發. ...
Linux 網絡編程基礎(3) -- 數據的IO
首先介紹兩個數據結構及相關的操作函數:struct iovec.struct msghdr struct iovec { void * iov_base; ? ?/*向量的緩沖地址*/ size_t ...
Flutter采坑之路 用真機跑起來的時候提示 initGradle失敗,IO異常,downloading Gradle-4.6-all.zip失敗
這個異常就是Gradle下載異常,進而下面會提示一行IO異常 我這里的原因就是Gradle對應的4.6-all版本下載不下來(一般情況下確實很難下載下來) 所以在正常AS工程呢,我們選擇一下Gradl ...
【微服務No.4】 API網關組件Ocelot+Consul
介紹: Ocelot是一個.NET API網關.該項目針對的是使用.NET運行微服務/面向服務架構的人員,他們需要一個統一的入口進入他們的系統.然而,它可以處理任何說HTTP并在ASP.NET Cor ...
總結
以上是生活随笔為你收集整理的linux中的ftp是什么意思,什么是linux的ftp的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux怎样反向查找路径,Linux中
- 下一篇: Linux有趣小工具命令,终端中的乐趣: