匿名FTP
计算机领域名词
使用FTP时必须首先登录,在远程主机上获得相应的权限以后,方可上传或下载文件。也就是说,要想同哪一台计算机传送文件,就必须具有哪一台计算机的适当授权。换言之,除非有用户ID和口令,否则便无法传送文件。这种情况违背了Internet的开放性,Internet上的FTP主机何止千万,不可能要求每个用户在每一台主机上都拥有账号。匿名FTP就是为解决这个问题而产生的。
基本介绍
anonymous FTP(匿名FTP)
即匿名文件传输协议。用于对远程计算机的连接,这些计算机是作为匿名或客户用户进行连接的,以将公共文件传输到用户的本地计算机
互联网中有很大一部分FTP服务器称为“匿名”FTP服务器。这类服务器的目的是向公众提供文件拷贝服务,不要求用户事先在该服务器进行登记注册,也不用取得FTP服务器的授权。
匿名文件传输能够使用户与远程主机建立连接并以匿名的身份从远程主机上拷贝文件,而不必是该远程主机的注册用户。用户使用特殊的用户名anonymous,许多系统用户要求用户将E-mail地址作为口令,便可登陆“匿名”FTP服务器,访问远程主机上公开的文件。匿名FTP一直是Internet上获取信息资源的最主要方式,在Internet成千上万的匿名FTP主机中存储着无以计数的文件,这些文件包含了各种各样的信息、数据和软件。如 red hat、autodesk等公司的匿名站点。
特性
匿名FTP是这样一种机制:用户可通过它连接到远程主机上,并从其下载文件,而无需成为其注册用户系统管理员建立了一个特殊的用户ID,名为anonymous, Internet上的任何人在任何地方都可使用该用户ID。
通过FTP程序连接匿名FTP主机的方式同连接普通FTP主机的方式差不多,只是在要求提供用户标识ID时必须输入anonymous,该用户ID的口令可以是任意的字符串。习惯上,用自己的E-mail地址作为口令,使系统维护程序能够记录下来谁在存取这些文件。
范围
值得注意的是,匿名FTP不适用于所有Internet主机,它只适用于那些提供了这项服务的主机。
当远程主机提供匿名FTP服务时,会指定某些目录向公众开放,允许匿名存取,系统中的其余目录则处于隐匿状态。作为一种安全措施,大多数匿名FTP主机都允许用户从其下载文件,而不允许用户向其上传文件,也就是说,用户可将匿名FTP主机上的所有文件全部拷贝到自己的机器上,但不能将自己机器上的任何一个文件拷贝至匿名FTP主机上。即使有些匿名FTP主机确实允许用户上传文件,用户也只能将文件上传至某一指定上传目录中。随后,系统管理员会去检查这些文件,他会将这些文件移至另一个公共下载目录中,供其他用户下载。利用这种方式,远程主机的用户得到了保护,避免了有人上传有问题的文件,如带病毒的文件。
实质
匿名FTP服务的实质是:提供服务的机构在它的FTP服务器上建立一个公开账户(一般为anonymous),并赋予该账户访问公共目录的权限。用户想要登录到这些FTP服务器时,无需事先申请用户账户,可以用“anonymous”作为用户名,用自己的E-mail地址或姓名作为用户密码,便可登录,获取FTP服务。
优点
匿名FTP服务的优点是:
第一,匿名FTP运用很广,没有什么指定的要求。所以,每一个人都可以在匿名FTP主机上访问文件。“big deal”是指世界上大量运用的匿名FTP,即上千的匿名主机和无数的文件都可以被免费拷贝。在Internet上,大量信息和大量计算机程序都是可获得的,人们可以利用计算机设备和磁盘空间来获得对自己有用的文件。匿名FTP提供进入最大信息库的通路,并且这个库总是不断壮大,它不关闭,并且无所不包,还可以免费访问。
第二,在Internet上,匿名FTP是软件分发的主要方式。在Internet上保存所有已提供所用标准协议的有用程序。许多程序通过匿名FTP分布,每一个人都可以建立一个Internet主机。
FTP之所有非常重要的最后一个原因是:匿名FTP被用来归档和传播技术信息,从而定义了Internet自己(实现资源共享)。
基本设置
使用匿名FTP,用户无需输入用户名密码即可登录FTP服务器。vsftpd安装后默认就已经开启了匿名FTP的功能,用户无需进行额外配置即可使用匿名登录FTP服务器。vsftpd相关选项的默认值如下所示:
anonymous_enable=YES //开启匿名FTP
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
这时候用户可以匿名方式登录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.
列出当前目录下的所有内容,如下所示:
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
进入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.
下载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)
上传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
创建pub1目录,如下所示:
ftp> mkdir pub1 //上传子目录失败
550 Permission denied.
下面对以上的结果进行说明:
(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的默认配置中不允许匿名账号创建目录,所以操作失败。
参考资料
最新修订时间:2023-07-24 18:01
目录
概述
基本介绍
参考资料