複製鏈接
請複製以下鏈接發送給好友

匿名FTP

鎖定
使用FTP時必須首先登錄,在遠程主機上獲得相應的權限以後,方可上傳或下載文件。也就是説,要想同哪一台計算機傳送文件,就必須具有哪一台計算機的適當授權。換言之,除非有用户ID和口令,否則便無法傳送文件。這種情況違背了Internet的開放性,Internet上的FTP主機何止千萬,不可能要求每個用户在每一台主機上都擁有賬號。匿名FTP就是為解決這個問題而產生的。
中文名
匿名FTP
外文名
anonymous FTP
簡    介
匿名文件傳輸協議
特    性
可通過它連接到遠程主機
範    圍
那些提供了這項服務的主機

匿名FTP基本介紹

anonymous FTP(匿名FTP)
即匿名文件傳輸協議。用於對遠程計算機的連接,這些計算機是作為匿名或客户用户進行連接的,以將公共文件傳輸到用户的本地計算機
互聯網中有很大一部分FTP服務器稱為“匿名”FTP服務器。這類服務器的目的是向公眾提供文件拷貝服務,不要求用户事先在該服務器進行登記註冊,也不用取得FTP服務器的授權。 [1] 
匿名文件傳輸能夠使用户與遠程主機建立連接並以匿名的身份從遠程主機上拷貝文件,而不必是該遠程主機的註冊用户。用户使用特殊的用户名anonymous,許多系統用户要求用户將E-mail地址作為口令,便可登陸“匿名”FTP服務器,訪問遠程主機上公開的文件。匿名FTP一直是Internet上獲取信息資源的最主要方式,在Internet成千上萬的匿名FTP主機中存儲着無以計數的文件,這些文件包含了各種各樣的信息、數據和軟件。如 red hat、autodesk等公司的匿名站點。 [1] 

匿名FTP特性

匿名FTP是這樣一種機制:用户可通過它連接到遠程主機上,並從其下載文件,而無需成為其註冊用户系統管理員建立了一個特殊的用户ID,名為anonymous, Internet上的任何人在任何地方都可使用該用户ID。
通過FTP程序連接匿名FTP主機的方式同連接普通FTP主機的方式差不多,只是在要求提供用户標識ID時必須輸入anonymous,該用户ID的口令可以是任意的字符串。習慣上,用自己的E-mail地址作為口令,使系統維護程序能夠記錄下來誰在存取這些文件。

匿名FTP範圍

值得注意的是,匿名FTP不適用於所有Internet主機,它只適用於那些提供了這項服務的主機。
當遠程主機提供匿名FTP服務時,會指定某些目錄向公眾開放,允許匿名存取,系統中的其餘目錄則處於隱匿狀態。作為一種安全措施,大多數匿名FTP主機都允許用户從其下載文件,而不允許用户向其上傳文件,也就是説,用户可將匿名FTP主機上的所有文件全部拷貝到自己的機器上,但不能將自己機器上的任何一個文件拷貝至匿名FTP主機上。即使有些匿名FTP主機確實允許用户上傳文件,用户也只能將文件上傳至某一指定上傳目錄中。隨後,系統管理員會去檢查這些文件,他會將這些文件移至另一個公共下載目錄中,供其他用户下載。利用這種方式,遠程主機的用户得到了保護,避免了有人上傳有問題的文件,如帶病毒的文件。

匿名FTP實質

匿名FTP服務的實質是:提供服務的機構在它的FTP服務器上建立一個公開賬户(一般為anonymous),並賦予該賬户訪問公共目錄的權限。用户想要登錄到這些FTP服務器時,無需事先申請用户賬户,可以用“anonymous”作為用户名,用自己的E-mail地址或姓名作為用户密碼,便可登錄,獲取FTP服務。

匿名FTP優點

匿名FTP服務的優點是:
第一,匿名FTP運用很廣,沒有什麼指定的要求。所以,每一個人都可以在匿名FTP主機上訪問文件。“big deal”是指世界上大量運用的匿名FTP,即上千的匿名主機和無數的文件都可以被免費拷貝。在Internet上,大量信息和大量計算機程序都是可獲得的,人們可以利用計算機設備和磁盤空間來獲得對自己有用的文件。匿名FTP提供進入最大信息庫的通路,並且這個庫總是不斷壯大,它不關閉,並且無所不包,還可以免費訪問。
第二,在Internet上,匿名FTP是軟件分發的主要方式。在Internet上保存所有已提供所用標準協議的有用程序。許多程序通過匿名FTP分佈,每一個人都可以建立一個Internet主機。
FTP之所有非常重要的最後一個原因是:匿名FTP被用來歸檔和傳播技術信息,從而定義了Internet自己(實現資源共享)。

匿名FTP基本設置

使用匿名FTP,用户無需輸入用户名密碼即可登錄FTP服務器。vsftpd安裝後默認就已經開啓了匿名FTP的功能,用户無需進行額外配置即可使用匿名登錄FTP服務器。vsftpd相關選項的默認值如下所示:
anonymous_enable=YES //開啓匿名FTP
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES [2] 
這時候用户可以匿名方式登錄FTP服務器,查看並下載匿名賬號主目錄下的各級子目錄和文件,但不能上傳文件或創建目錄。登錄FTP服務器,如下所示:
#ftp localhost
Connected to localhost (127.0.0.1)
220 Welcome to Sam's Ftp Server
Name (localhost:root) : anonymous
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files. [2] 
列出當前目錄下的所有內容,如下所示:
ftp> ls //列出目錄下的所有內容
227 Entering Passive Mode (127.0.0.1.183.106)
150 Here comes the directory listing.
drwxr-xr-x 2 0 0 4096 Oct 14 04:31 data
-rw-r--r-- 1 0 0 31 Oct 14 04:32 files.tar
-rw-r--r-- 1 0 0 26 Oct 14 04:32 hello.log
drwxr-xr-x 2 0 0 4096 Oct 14 04:33 pub
drwxr-xr-x 2 0 0 4096 Oct 14 04:33 src [2] 
進入pub目錄,如下所示:
ftp> cd pub //進入pub子目錄
250 Directory successfully changed.
ftp>ls
227 Entering Passive Mode (127.0.0.1.111.125)
150 Here comes the directory listing.
-rw-r--r-- 1 0 0 23 Oct 14 04:33 sql.txt
-rw-r--r-- 1 0 0 20 Oct 14 04:33 sysadm.dmp
226 Directory send OK. [2] 
下載sql.txt文件,如下所示:
ftp> get sql //下載sql.txt文件
local: sql.txt remote: sql.txt
227 Entering Passive Mode (127.0.0.1.148.0)
150 Opening BINARY mode data connection for sql.txt (23 bytes).
226 File send OK.
23 byte received in 0.0001 seconds (2.1e+02 Kbytes/s) [2] 
上傳top.log文件,如下所示。
ftp> put top.log //上傳top.log文件失敗
local: top.log remote : top.log
227 Entering Passive Mode (127.0.0.1.155.93)
550 Permission denied [2] 
創建pub1目錄,如下所示:
ftp> mkdir pub1 //上傳子目錄失敗
550 Permission denied. [2] 
下面對以上的結果進行説明:
(1)Name( localhost : root ):anonymous :以匿名方式登錄FTP服務器必須使用anonymous作為用户賬户。
(2)ftp>ls :與Linux 系統一樣,ls命令用於列出FTP中當前目錄下的文件和子目錄。
(3)ftp>cd pub :進入Pub目錄。
(4)ftp>get sql.txt :使用匿名賬號下載pub目錄下的sql.txt文件。
(5)ftp>put top.log :使用匿名賬號上傳top.log文件到pub目錄,但由於vsftpd的默認配置中不允許匿名賬號上傳文件,所以操作失敗。
(6)ftp>mkdir pub1 :使用匿名賬號創建子目錄pub1,但由於sftpd的默認配置中不允許匿名賬號創建目錄,所以操作失敗。 [2] 
參考資料
  • 1.    施智勇編著.網絡實踐教程.北京:清華大學出版社 ,2014:109-110
  • 2.    餘柏山編著 .Linux系統管理與網絡管理.北京:清華大學出版社,2014:333-337