中文名 | FTP服務(wù)器 | 外文名 | File Transfer Protocol Server |
---|---|---|---|
服務(wù)協(xié)議 | FTP協(xié)議提供服務(wù) | 定????義 | 支持FTP協(xié)議的服務(wù)器 |
在主動模式下,F(xiàn)TP客戶端首先與FTP服務(wù)器的TP21端口建立連接,通過這個通道發(fā)送命令,客戶端需要接收數(shù)據(jù)的時候在這個通道上發(fā)送Port命令。Port命令包含了客戶端用什么端口接收數(shù)據(jù)。在傳送數(shù)據(jù)的時候,服務(wù)器端通過其TCP20端口連接到客戶端的指定端口發(fā)送數(shù)據(jù)。FTP服務(wù)器必須與客戶端建立一個新的連接用來傳送數(shù)據(jù)。主動FTP連接過程如下:
命令連接:客戶端>1024端口→服務(wù)器21端口;
數(shù)據(jù)連接:客戶端>1024端口←服務(wù)器20端口。
在被動模式下,建立控制通道時與主動模式類似,但建立連接后發(fā)送的不是Port命令,而是Pasv命令。FTP服務(wù)器收到Pas命令后,隨機(jī)打開一個高端端口(端口號大于1024)并且通知客戶端在這個端口上傳送數(shù)據(jù)的請求,客戶端連接FTP服務(wù)器上的這個端口,然后FTP服務(wù)器將通過這個端口傳送數(shù)據(jù)。在這種情況下,F(xiàn)TP服務(wù)器不再需要與客戶端建立一個新的連接,被動FTP連接過程如下:
命令連接:客戶端>1024端口→服務(wù)器21端口;
數(shù)據(jù)連接:客戶端>1024端口→服務(wù)器>1024端口。
主動FTP對FTP服務(wù)器的管理有利,但對客戶端的管理不利。因為FTP服務(wù)器企圖與客戶端的高位隨機(jī)端口建立連接,而這個端口很有可能被客戶端的防火墻阻塞掉。被動FTP對FTP客戶端的管理有利,但對服務(wù)器端的管理不利。因為客戶端要與服務(wù)器端建立兩個連接,其中一個連到一個高位隨機(jī)端口,而這個端口很有可能被服務(wù)器端的防火墻阻塞掉。
FTP是用來在兩臺計算機(jī)之間傳輸文件,是Internet中應(yīng)用非常廣泛的服務(wù)之一。它可根據(jù)實際需要設(shè)置各用戶的使用權(quán)限,同時還具有跨平臺的特性,即在UNIX、Linux和Windows等操作系統(tǒng)中都可實現(xiàn)FTP客戶端和服務(wù)器,相互之間可跨平臺進(jìn)行文件的傳輸。因此,F(xiàn)TP服務(wù)是網(wǎng)絡(luò)中經(jīng)常采用的資源共享方式之一。FTP協(xié)議有PORT和PASV兩種工作模式,即主動模式和被動模式。
FTP(File Transfer Protocol)即文件傳輸協(xié)議,是一種基于TCP的協(xié)議,采用客戶/服務(wù)器模式。通過FTP協(xié)議,用戶可以在FTP服務(wù)器中進(jìn)行文件的上傳或下載等操作。雖然現(xiàn)在通過HTTP協(xié)議下載的站點有很多,但是由于FTP協(xié)議可以很好地控制用戶數(shù)量和寬帶的分配,快速方便地上傳、下載文件,因此FTP已成為網(wǎng)絡(luò)中文件上傳和下載的首選服務(wù)器。同時,它也是一個應(yīng)用程序,用戶可以通過它把自己的計算機(jī)與世界各地所有運(yùn)行FTP協(xié)議的服務(wù)器相連,訪問服務(wù)器上的大量程序和信息。FTP服務(wù)的功能是實現(xiàn)完整文件的異地傳輸。特點如下:
(一)FTP使用兩個平行連接:控制連接和數(shù)據(jù)連接??刂七B接在兩主機(jī)間傳送控制命令,如用戶身份、口令、改變目錄命令等。數(shù)據(jù)連接只用于傳送數(shù)據(jù)。
(二)在一個會話期間,F(xiàn)TP服務(wù)器必須維持用戶狀態(tài),也就是說,和某一個用戶的控制連接不能斷開。另外,當(dāng)用戶在目錄樹中活動時,服務(wù)器必須追蹤用戶的當(dāng)前目錄,這樣,F(xiàn)TP就限制了并發(fā)用戶數(shù)量。
(三)FTP支持文件沿任意方向傳輸。當(dāng)用戶與一遠(yuǎn)程計算機(jī)建立連接后,用戶可以獲得一個遠(yuǎn)程文件也可以將一本地文件傳輸至遠(yuǎn)程機(jī)器。
第1步,在開始菜單中依次單擊“管理工具”→“Internet信息服務(wù)(IIS)管理器”菜單項,打開“Internet信息服務(wù)(IIS)管理器”窗口。在左窗格中展開“FTP站點”目錄,右鍵單擊“默認(rèn)FTP站點”選項,并選擇“屬性”命令。
第2步,打開“默認(rèn)FTP站點 屬性”對話框,在“FTP站點”選項卡中可以設(shè)置關(guān)于FTP站點的參數(shù)。其中在“FTP站點標(biāo)識”區(qū)域中可以更改FTP站點名稱、監(jiān)聽IP地址以及TCP端口號,單擊“IP地址”編輯框右側(cè)的下拉三角按鈕,并選中該站點要綁定的IP地址。如果想在同一臺物理服務(wù)器中搭建多個FTP站點,那么需要為每一個站點指定一個IP地址,或者使用相同的IP地址且使用不同的端口號。在“FTP站點連接”區(qū)域可以限制連接到FTP站點的計算機(jī)數(shù)量,一般在局域網(wǎng)內(nèi)部設(shè)置為“不受限制”較為合適。用戶還可以單擊“當(dāng)前會話”按鈕來查看當(dāng)前連接到FTP站點的IP地址,并且可以斷開惡意用戶的連接。
第3步,切換到“安全賬戶”選項卡,此選項卡用于設(shè)置FTP服務(wù)器允許的登錄方式。默認(rèn)情況下允許匿名登錄,如果取消選中“允許匿名連接”復(fù)選框,則用戶在登錄FTP站點時需要輸入合法的用戶名和密碼。本例選中“允許匿名連接”復(fù)選框。
第4步,切換到“消息”選項卡,在“標(biāo)題”編輯框中輸入能夠反映FTP站點屬性的文字(如“服務(wù)器配置技術(shù)務(wù)網(wǎng)FTP主站點”),該標(biāo)題會在用戶登錄之前顯示。接著在“歡迎”編輯框中輸入一段介紹FTP站點詳細(xì)信息的文字,這些信息會在用戶成功登錄之后顯示。同理,在“退出”編輯框中輸入用戶在退出FTP站點時顯示的信息。另外,如果該FTP服務(wù)器限制了最大連接數(shù),則可以在“最大連接數(shù)”編輯框中輸入具體數(shù)值。當(dāng)用戶連接FTP站點時,如果FTP服務(wù)器已經(jīng)達(dá)到了所允許的最大連接數(shù),則用戶會收到“最大連接數(shù)”消息,且用戶的連接會被斷開。
第5步,切換到“主目錄”選項卡。主目錄是FTP站點的根目錄,當(dāng)用戶連接到FTP站點時只能訪問主目錄及其子目錄的內(nèi)容,而主目錄以外的內(nèi)容是不能被用戶訪問的。主目錄既可以是本地計算機(jī)磁盤上的目錄,也可以是網(wǎng)絡(luò)中的共享目錄。單擊“瀏覽”按鈕在本地計算機(jī)磁盤中選擇要作為FTP站點主目錄的文件夾,并依次單擊“確定”按鈕。根據(jù)實際需要選中或取消選中“寫入”復(fù)選框,以確定用戶是否能夠在FTP站點中寫入數(shù)據(jù)。
第6步,切換到“目錄安全性”選項卡,在該選項卡中主要用于授權(quán)或拒絕特定的IP地址連接到FTP站點。例如只允許某一段IP地址范圍內(nèi)的計算機(jī)連接到FTP站點,則應(yīng)該選中“拒絕訪問”單選框。然后單擊“添加”按鈕,在打開的“授權(quán)訪問”對話框中選中“一組計算機(jī)”單選框。然后在“網(wǎng)絡(luò)標(biāo)識”編輯框中輸入特定的網(wǎng)段),并在“子網(wǎng)掩碼”編輯框中輸入子網(wǎng)掩碼。最后單擊“確定”按鈕。
第7步,返回“默認(rèn)FTP站點 屬性”對話框,單擊“確定”按鈕使設(shè)置生效?,F(xiàn)在用戶已經(jīng)可以在網(wǎng)絡(luò)中任意客戶計算機(jī)的Web瀏覽器中輸入FTP站點地址來訪問FTP站點的內(nèi)容了。
HTPC通常是擺在客廳里,作為家庭數(shù)碼影音的中心。放在客廳上的東西,如同電視,DVD機(jī),音響,功放一樣,它必須要有精致的外觀,誰也不愿意在典雅的客廳上看到一個丑陋的機(jī)箱。另外體積不能太大,不論是美感上...
執(zhí)行ntpdate xxx.xxx.xxx.xxx(ntp服務(wù)器地址)。Linux下配置NTP服務(wù)器配置方法:1、ntp服務(wù)安裝NTP服務(wù)在RHEL5.x中式默認(rèn)安裝的軟件包,可用rpm -qa |g...
網(wǎng)線中:UTP,FTP,SFTP,是什么意思.而STP又是什么意思,請把STP詳寫,謝謝
非雙絞線(UTP):UTP無金屬材料,只有一層絕緣膠皮包裹,價格相對便宜,組網(wǎng)靈活,其線路優(yōu)點是阻燃效果好,不容易引起火災(zāi) STP, Shielded Twisted Pair 網(wǎng)絡(luò)線; FT...
Serv-U是一種被廣泛運(yùn)用的FTP服務(wù)器端軟件,支持3x/9x/ME/NT/2K/2000/xp等全Windows系列??梢栽O(shè)定多個FTP服務(wù)器、限定登錄用戶的權(quán)限、登錄主目錄及空間大小等,功能非常完備。 它具有非常完備的安全特性,支持SSl FTP傳輸,支持在多個Serv-U和FTP客戶端通過SSL加密連接保護(hù)您的數(shù)據(jù)安全等。
Serv-U 是眾多的FTP服務(wù)器軟件之一。通過使用Serv-U,用戶能夠?qū)⑷魏我慌_PC 設(shè)置成一個FTP 服務(wù)器,這樣,用戶或其他使用者就能夠使用FTP 協(xié)議,通過在同一網(wǎng)絡(luò)上的任何一臺PC與FTP 服務(wù)器連接,進(jìn)行文件或目錄的復(fù)制,移動,創(chuàng)建,和刪除等。這里提到的FTP 協(xié)議是專門被用來規(guī)定計算機(jī)之間進(jìn)行文件傳輸?shù)臉?biāo)準(zhǔn)和規(guī)則,正是因為有了象FTP 這樣的專門協(xié)議,才使得人們能夠通過不同類型的計算機(jī),使用不同類型的操作系統(tǒng),對不同類型的文件進(jìn)行相互傳遞。
是一款經(jīng)典的開源FTP解決方案,包括FileZilla客戶端和FileZillaServer。其中,F(xiàn)ileZillaServer的功能比起商業(yè)軟件FTP Serv-U毫不遜色。無論是傳輸速度還是安全性方面,都是非常優(yōu)秀的一款。
VSFTP是一個基于GPL發(fā)布的類Unix系統(tǒng)上使用的FTP服務(wù)器軟件,它的全稱是Very Secure FTP 從此名稱可以看出來,編制者的初衷是代碼的安全。
安全性是編寫VSFTP的初衷,除了這與生俱來的安全特性以外,高速與高穩(wěn)定性也是VSFTP的兩個重要特點。
在速度方面,使用ASCII代碼的模式下載數(shù)據(jù)時,VSFTP的速度是Wu-FTP的兩倍,如果Linux主機(jī)使用2.4.*的內(nèi)核,在千兆以太網(wǎng)上的下載速度可達(dá)86MB/S。
在穩(wěn)定方面,VSFTP就更加的出色,VSFTP在單機(jī)(非集群)上支持4000個以上的并發(fā)用戶同時連接,根據(jù)Red Hat的Ftp服務(wù)器的數(shù)據(jù),VSFTP服務(wù)器可以支持15000個并發(fā)用戶。
假定正在傳輸?shù)奈募唵蔚腁SCI碼文本,當(dāng)文件傳輸時FTP通常會自動地調(diào)整文件的內(nèi)容,以便將文件存儲為另外一臺計算機(jī)上的ASCI碼文本文件。
在二進(jìn)制傳輸中,保存的是文件的二進(jìn)制位序,以便源文件與目標(biāo)文件逐位一一對應(yīng),從而保證二進(jìn)制文件的正確傳輸。如果在ASCI方式下傳輸二進(jìn)制文件,則系統(tǒng)會自動將二進(jìn)制數(shù)據(jù)轉(zhuǎn)譯為ASCI信息。這樣不僅會使傳輸速度變慢,還會損壞數(shù)據(jù),從而使文件變得無法使用。所以一般在使用FTP傳輸文件時,通常建議使用二進(jìn)制傳輸模式。
一般來說,用戶聯(lián)網(wǎng)的首要目的就是實現(xiàn)信息共享,文件傳輸是信息共享非常重要的一個內(nèi)容之一。Internet上早期實現(xiàn)傳輸文件,并不是一件容易的事,我們知道 Internet是一個非常復(fù)雜的計算機(jī)環(huán)境,有PC,有工作站,有MAC,有大型機(jī),據(jù)統(tǒng)計連接在Internet上的計算機(jī)已有上千萬臺,而這些計算機(jī)可能運(yùn)行不同的操作系統(tǒng),有運(yùn)行Unix的服務(wù)器,也有運(yùn)行Dos、Windows的PC機(jī)和運(yùn)行MacOS的蘋果機(jī)等等,而各種操作系統(tǒng)之間的文件交流問題,需要建立一個統(tǒng)一的文件傳輸協(xié)議,這就是所謂的FTP?;诓煌牟僮飨到y(tǒng)有不同的FTP應(yīng)用程序,而所有這些應(yīng)用程序都遵守同一種協(xié)議,這樣用戶就可以把自己的文件傳送給別人,或者從其它的用戶環(huán)境中獲得文件。
與大多數(shù)Internet服務(wù)一樣,F(xiàn)TP也是一個客戶機(jī)/服務(wù)器系統(tǒng)。用戶通過一個支持FTP協(xié)議的客戶機(jī)程序,連接到在遠(yuǎn)程主機(jī)上的FTP服務(wù)器程序。用戶通過客戶機(jī)程序向服務(wù)器程序發(fā)出命令,服務(wù)器程序執(zhí)行用戶所發(fā)出的命令,并將執(zhí)行的結(jié)果返回到客戶機(jī)。比如說,用戶發(fā)出一條命令,要求服務(wù)器向用戶傳送某一個文件的一份拷貝,服務(wù)器會響應(yīng)這條命令,將指定文件送至用戶的機(jī)器上??蛻魴C(jī)程序代表用戶接收到這個文件,將其存放在用戶目錄中。
授權(quán)FTP服務(wù)器只允許該FP服務(wù)器系統(tǒng)上的授權(quán)用戶使用。在使用授權(quán)FTP服務(wù)器之前必須向系統(tǒng)管理員申請用戶名和密碼,連接此類FTP服務(wù)器時必須輸入用戶名和密碼。
匿名FTP服務(wù)器允許任何用戶以匿名賬戶FTP或 anonymous登錄到FTP服務(wù)器,并對授權(quán)的文件進(jìn)行查閱和傳輸。有些FTP服務(wù)器習(xí)慣上要求用戶以自己的E-mai地址作為登錄密碼,但這并沒有成為大多數(shù)服務(wù)器的標(biāo)準(zhǔn)作法。
格式:pdf
大?。?span id="ax5lwp0" class="single-tag-height">76KB
頁數(shù): 5頁
評分: 4.5
隨著Internet的發(fā)展和完善,越來越多的企業(yè)開始通過使用隧道技術(shù)在Internet上構(gòu)建自己的私有企業(yè)網(wǎng)絡(luò)。L2TP是基于隧道技術(shù)的虛擬專用網(wǎng)第二層隧道協(xié)議。本文根據(jù)L2TP協(xié)議的工作原理,分析L2TP協(xié)議的結(jié)構(gòu)以及包格式,介紹L2TP網(wǎng)絡(luò)服務(wù)器工作流程,對L2TP網(wǎng)絡(luò)服務(wù)器的功能模塊進(jìn)行設(shè)計,詳細(xì)闡述各個模塊的實現(xiàn)過程和主要的數(shù)據(jù)結(jié)構(gòu),最后對服務(wù)器進(jìn)行測試分析。
格式:pdf
大?。?span id="yfa4neu" class="single-tag-height">76KB
頁數(shù): 11頁
評分: 4.5
NTP SERVER 和 CLIENT 配置 1 NTPSERVER 配置 1.1. Windows 下配置 NTP SERVER 環(huán)境: WindowsServer 2012 R2 【運(yùn)行】 -【regedit】打開注冊表 1) 修改 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Tim e\TimeProviders\NtpServer 的 Enabled 的值為 1 2) 修改 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Tim e\Config 的"AnnounceFlags" 值為【 5】 3) 修改 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Tim e\Config 的
導(dǎo)讀有時你需臨時搭建一個簡單的 Web Server,但你又不想去安裝 Apache、Nginx 等這類功能較復(fù)雜的 HTTP 服務(wù)程序時。這時可以使用 Python 內(nèi)建的 SimpleHTTPServer 模塊快速搭建一個簡單的 HTTP 服務(wù)器。
用 Python 快速實現(xiàn) HTTP 服務(wù)器
SimpleHTTPServer 模塊可以把你指定目錄中的文件和文件夾以一個簡單的 Web 頁面的方式展示出來。
假設(shè)我們需要以 Web 方式共享目錄 /Users/Mike/Docker,只需要以下這個命令行就可以輕松實現(xiàn):
$ cd /Users/Mike/Docker$ python -m SimpleHTTPServerServing HTTP on 0.0.0.0 port 8000 ...
SimpleHTTPServer 模塊默認(rèn)會在 8000 端口上監(jiān)聽一個 HTTP 服務(wù),這時就可以打開瀏覽器輸入 http://IP:Port訪問這個 Web 頁面。例如類似下面的 URL:
http://192.168.100.49:8000
如果你需要 Web 服務(wù)有一個默認(rèn)頁,可以在目錄下創(chuàng)建一個名為 index.html 的文件。如果沒有默認(rèn)頁,那么會以列表的形式將目錄中的內(nèi)容顯示出來。
如果默認(rèn)的 8000 端口已經(jīng)被占用,你想換成使用其它端口號,可以使用如下的命令:
$ python -m SimpleHTTPServer 8080
用 Python 快速實現(xiàn) FTP 服務(wù)器
有時當(dāng)你想快速搭建一個 FTP 服務(wù)器來臨時實現(xiàn)文件上傳下載時,這是特別有用的。我們這里利用 Python 的Pyftpdlib 模塊可以快速的實現(xiàn)一個 FTP 服務(wù)器的功能。
首先安裝 Pyftpdlib 模塊
$ sudo pip install pyftpdlib
通過 Python 的 -m 選項將 Pyftpdlib 模塊作為一個簡單的獨立服務(wù)器來運(yùn)行,假設(shè)我們需要共享目錄 /Users/Mike/Docker,只需要以下這個命令行就可以輕松實現(xiàn):
$ cd /Users/Mike/Docker$ python -m pyftpdlib[I 2018-01-02 16:24:02] >>> starting FTP server on :::2121, pid=7517 <<<[I 2018-01-02 16:24:02] concurrency model: async[I 2018-01-02 16:24:02] masquerade (NAT) address: None[I 2018-01-02 16:24:02] passive ports: None
至此一個簡單的 FTP 服務(wù)器已經(jīng)搭建完成,訪問 ftp://IP:PORT 即可。例如類似下面的 URL:
ftp://192.168.100.49:2121默認(rèn) IP 為本機(jī)所有可用 IP,端口為 2121。默認(rèn)登陸方式為匿名。默認(rèn)權(quán)限是只讀。
如果你要建一個有認(rèn)證且可寫的 FTP 服務(wù)器,可使用類似以下指令:
$ python -m pyftpdlib -i 192.168.100.49 -w -d /tmp/ -u mike -P 123456
小插曲:測試時一直使用密碼 000000 這樣的弱密碼做認(rèn)證密碼,在客戶端登陸時一直提示認(rèn)證失敗。看來 Pyftpdlib 模塊還做了基本的安全策略喲,不錯的!
常用可選參數(shù)說明:
-i 指定IP地址(默認(rèn)為本機(jī)所有可用 IP 地址)-p 指定端口(默認(rèn)為 2121)-w 寫權(quán)限(默認(rèn)為只讀)-d 指定目錄 (默認(rèn)為當(dāng)前目錄)-u 指定登錄用戶名-P 指定登錄密碼
更多參數(shù)可以使用以下指令查詢:
$ python -m pyftpdlib --helpUsage: python -m pyftpdlib [options]Start a stand alone anonymous FTP server.Options:-h, --helpshow this help message and exit-i ADDRESS, --interface=ADDRESSspecify the interface to run on (default all interfaces)-p PORT, --port=PORTspecify port number to run on (default 2121)-w, --writegrants write access for logged in user (default read-only)-d FOLDER, --directory=FOLDERspecify the directory to share (default current directory)-n ADDRESS, --nat-address=ADDRESSthe NAT address to use for passive connections-r FROM-TO, --range=FROM-TOthe range of TCP ports to use for passive connections (e.g. -r 8000-9000)-D, --debugenable DEBUG logging evel-v, --versionprint pyftpdlib version and exit-V, --verboseactivate a more verbose logging-u USERNAME, --username=USERNAMEspecify username to login with (anonymous login will be disabled and password required if supplied)-P PASSWORD, --password=PASSWORDspecify a password to login with (username required to be useful)
如果你需卸載 Pyftpdlib 模塊,可以通過以下命令:
$ pip uninstall pyftpdlib
原文來自:http://www.linuxprobe.com/python-httpftp.html
Tips:“小鳥云”是深圳前海小鳥云計算有限公司旗下云計算品牌,國內(nèi)領(lǐng)先的企業(yè)級云計算服務(wù)商。團(tuán)隊擁有多年行業(yè)經(jīng)驗,專注云計算技術(shù)研發(fā),面向廣大開發(fā)者、政企用戶、金融機(jī)構(gòu)等,提供基于智能云服務(wù)器的全方位云計算解決方案,為用戶提供可信賴的企業(yè)級公有云服務(wù)。
當(dāng)你想快速共享一個目錄的時候,這是特別有用的,只需要1行代碼即可實現(xiàn)。
FTP 服務(wù)器,在此之前我都是使用Linux的vsftpd軟件包來搭建FTP服務(wù)器的,現(xiàn)在發(fā)現(xiàn)了利用pyftpdlib可以更加簡單的方法即可實現(xiàn)FTP服務(wù)器的功能。
環(huán)境要求
Python 2.7Windows / Linux
環(huán)境搭建
pip install pyftpdlib
一行代碼實現(xiàn)FTP服務(wù)器
通過Python的-m選項作為一個簡單的獨立服務(wù)器來運(yùn)行,當(dāng)你想快速共享一個目錄的時候,這是特別有用的。
在需要共享的目錄下執(zhí)行如下命令即可把當(dāng)前目錄共享出去(匿名登錄)
python -m pyftpdlib
至此一個簡單的FTP服務(wù)器已經(jīng)搭建完成,訪問 ftp://127.0.0.1:2121 即可
(默認(rèn)IP為 127.0.0.1 、端口為 2121 )
可選參數(shù)
-i 指定IP地址(默認(rèn)為本機(jī)的IP地址)
-p 指定端口(默認(rèn)為2121)
-w 寫權(quán)限(默認(rèn)為只讀)
-d 指定目錄 (默認(rèn)為當(dāng)前目錄)
-u 指定用戶名登錄
-P 設(shè)置登錄密碼
簡單示例
上述的一行命令已經(jīng)可以實現(xiàn)一個簡單的FTP服務(wù)器,但是要搭建一個功能強(qiáng)大完善的FTP服務(wù)所涉及到的配置較多,這時需要使用Pyftpdlib提供的 API 來編寫。如下是一個簡單的示例
from pyftpdlib.authorizers import DummyAuthorizer
from pyftpdlib.handlers import FTPHandler
from pyftpdlib.servers import FTPServer
# 實例化DummyAuthorizer來創(chuàng)建ftp用戶
authorizer = DummyAuthorizer()
# 參數(shù):用戶名,密碼,目錄,權(quán)限
authorizer.add_user('user', '12345', '/opt/pyftp/test', perm='elradfmwMT')
# 匿名登錄# authorizer.add_anonymous('/home/nobody')
handler = FTPHandlerhandler.authorizer = authorizer
# 參數(shù):IP,端口,handler
server = FTPServer(('192.168.56.100', 21), handler)
server.serve_forever()
perm權(quán)限選項
讀取權(quán)限:
"e" =更改目錄(CWD,CDUP命令)
"l" =列表文件(LIST,NLST,STAT,MLSD,MLST,SIZE命令)
"r" =從服務(wù)器檢索文件(RETR命令)
寫入權(quán)限:
"a" =將數(shù)據(jù)追加到現(xiàn)有文件(APPE命令)
"d" =刪除文件或目錄(DELE,RMD命令)
"f" =重命名文件或目錄(RNFR,RNTO命令)
"m" =創(chuàng)建目錄(MKD命令)
"w" =將文件存儲到服務(wù)器(STOR,STOU命令)
"M"=更改文件模式/權(quán)限(SITE CHMOD命令)
"T"=更改文件修改時間(SITE MFMT命令)
在考慮FTP服務(wù)器安全性工作的時候,第一步要考慮的就是誰可以訪問FTP服務(wù)器。在Vsftpd服務(wù)器軟件中,默認(rèn)提供了三類用戶。不同的用戶對應(yīng)著不同的權(quán)限與操作方式。
一類是Real帳戶。這類用戶是指在FTP服務(wù)上擁有帳號。當(dāng)這類用戶登錄FTP服務(wù)器的時候,其默認(rèn)的主目錄就是其帳號命名的目錄。但是,其還可以變更到其他目錄中去。如系統(tǒng)的主目錄等等。
第二類帳戶是Guest用戶。在FTP服務(wù)器中,我們往往會給不同的部門或者某個特定的用戶設(shè)置一個帳戶。但是,這個賬戶有個特點,就是其只能夠訪問自己的主目錄。服務(wù)器通過這種方式來保障FTP服務(wù)上其他文件的安全性。這類帳戶,在Vsftpd軟件中就叫做Guest用戶。擁有這類用戶的帳戶,只能夠訪問其主目錄下的目錄,而不得訪問主目錄以外的文件。
第三類帳戶是Anonymous(匿名)用戶,這也是我們通常所說的匿名訪問。這類用戶是指在FTP服務(wù)器中沒有指定帳戶,但是其仍然可以進(jìn)行匿名訪問某些公開的資源。
在組建FTP服務(wù)器的時候,我們就需要根據(jù)用戶的類型,對用戶進(jìn)行歸類。默認(rèn)情況下,Vsftpd服務(wù)器會把建立的所有帳戶都?xì)w屬為Real用戶。但是,這往往不符合企業(yè)安全的需要。因為這類用戶不僅可以訪問自己的主目錄,而且,還可以訪問其他用戶的目錄。這就給其他用戶所在的空間 帶來一定的安全隱患。所以,企業(yè)要根據(jù)實際情況,修改用戶所在的類別。