匿名文件传输协议(Anonymous File Transfer Protocol),简称匿名FTP,又称不具名FTP、无名FTP。它具有一个称为“匿名(anonymous)”的特殊注册账户,用户用这个名字去登录,用自己的电子函件地址作为口令去进行访问,便可获得网上公开发布的文件。
中文名
匿名文件传输协议
外文名
Anonymous File Transfer Protocol
别 称
不具名FTP、无名FTP简 称
匿名FTP
领 域
计算机
作 用
用户在访问文件前不须验证
匿名文件传输协议FTP
编辑
语音
通常情况下,计算机联网的主要目的是实现资源共享,包括信息资源、硬件资源、软件资源的共享等,以方便人与人之间更广泛的沟通交流,其中文件传输是信息共享非常重要的内容和手段之一。互联网上早期实现传输文件,并不是一件容易的事,随着互联网的不断发展,连接互联网的计算机已无法统计,而且运行各种不同的操作系统,而要完成各种操作系统之间的文件传输问题,就需要建立一个统一的文件传箱协议,这就是所谓的FTP(File Transfer Protocol文件传输协议)。
匿名文件传输协议FTP协议
文件传输协议(FTP)是在TCP/IP网络上两台计算机之间传送文件的协议,也是TCP/IP网络和INTERNET上最早使用的协议之一,它位于网络协议组的应用层。FTP使用TCP生成一个虚拟连接用于控制信息,然后再生成一个单独的TCP连接用于数据传输。
匿名文件传输协议FTP工作原理
与许多互联网应用一样,FTP服务也是一个客户机用反务器系统(C/S)。用户通过一个支持FTP协议的客户端程序,连接到远程主机上的FTP服务器程序。用户通过客户端程序向服务器程序发出命令,服务器程序执行用户所发出的命令,并将执行的结果返回到客户端。
以文件下载为例,当启动FTP客户端程序从远程计算机下载文件时,事实上启动了两个程序:一个本机上的FTP客户端程序,它向FTP服务器提出拷下载文件的请求;另一个是启动了远程计算机的上的FTP服务器程序,它响应你的请求并将指定的文件传送到你的计算机中。FTP的应用软件有很多,如服务器端的有Server-U、FileZilla等,客户端的有CuteFtp 、 FlashFTP等,极大的方便了用户的使用。
匿名文件传输协议匿名FTP
编辑
语音
匿名文件传输协议背景
用户使用FTP时必须首先登录,在远程FTP服务器上获得相应的权限以后,才能够上载或下载文件。也就是说,只有输人用户帐号和口令,否则无法传送文件。而这种情况违背了互联网的开放性,互联网上的FTP服务器成千上万,不可能要求每个用户在每台FTP服务器上都拥有帐号。这样,便有了匿名FTP的概念和应用。
匿名文件传输协议工作机制
匿名FCP是这样一种机制,用户可通过它连接到远程FTP服务器上,进行文件的上传或下载,而不需要成为其注册用户。系统管理员建立一个特殊的用户帐号(匿名帐号),一般名为anonymous或助,互联网上的任何人在任何地方都可使用该用户的帐号。
通过FTP程序连接匿名FTP服务器的方式同连接普通FTP服务器的方式类似,只是在要求提供用户帐号时必须输人anonymous或ftP,而该用户帐号的口令可以是任意的字符。
当远程服务器提供匿名FTP服务时,会预先指定某些目录及文件向公众开放,允许匿名用户的存取,而系统中的其余目录则处于隐匿状态。作为一种安全措施,大多数匿名FTP服务器都只允许用户下载文件,而不允许用户上传文件。
创建匿名FTP服务器的方法
(1)增加新用户ftp,设置其主目录对任何用户都无写权限;
(2)新建立一个组anonymou,它只能被匿名ftp使用;
(3)在ftp用户的主目录下创建一个bin目录,它属于root用户,而且对任何用户都不能写;
(4)在ftp用户主目录下创建一个etc目录,它属于root用户,而且对任何用户都不能写;
(5)在ftp用户主目录下创建一个public目录,它属于ftp用户,而且对任何用户都能写。如果由于安全等原因,不允许其他用户在您的计算机上具有存储能力,那么可以将其权限设置成555;
(6)将ls程序放到已创建的bin目录下,并将其修改成111方式,即对任何用户只能执行;
(7)在已创建的etc目录下,创建passwd和group两个文件,并将它们设置成444方式(只读)。
匿名FTP的建立示例
不同操作系统环境下匿名FTP服务的建立可能略有不同,下面以AIX为例介绍Unix环境下匿名FTP服务器的建立及其应用。
以下所有操作都必须在root登录环境下执行。
(1)增加匿名用户ftp(可以设置为anonymous等其他名字),设置其主目录为root所有且对任何用户都无写权限。
mkuser home='/home/ftp' ftp
chmod 555小ome/ftp
chown root /home/ftp
设置匿名用户ftp的主目录为/home/ftp,强烈建议主目录不要建在/etc、/bin、/usr、/usr/bin、/dev之下。
(2)在ftP用户的主目录下创建一个bin目录,它属于root用户,而且对任何用户都不能写。
cd /home/frp
mkdir bin
chown root bin
chgrp system /home/,tp/bin
chmod 555 /home/ftp/bin
(3)将ls程序放到已创建的bin目录下,并将其修改成111方式,即对任何用户只能执行。
cp /bin/ls /home/frplbin/ls
chmod 111 /home/ftp/bin/ls
(4)在ftp用户主目录下创建一个etc目录,它属于root用户,而且对任何用户都不能写。
mkdir etc
chown root etc
chmod S55 etc
chirp system /home/ftp/etc
(5)在ftp用户主目录下创建一个pub目录,对任何用户都能读写,用于存放可供公共用户存取的文档。如果由于安全等原因,不允许其他用户在计算机上具有存储能力,那么可以将其权限设置成555:
mkdir pub
chmod 777 pub
(或chmod 555 pub)
chgrp system /home/ftp/pub
(6)在ftp用户主目录下创建一个lib目录,它属于root用户,而且对任何用户都不能写,再考人必要的库文件。
mkdir lib
chmod 555 lib
chown root lib
chgrp system /home/ftp/lib
cp /lib/libc.a lib/libc.a
cp /lib/libcurses.a lib/libcurses.a
cp /lib/libcrypt.a lib/libcrypt.a
(7)停止、启动ftpd守护进程,使以上改动生效。
stop src -t ftp
start src -t ftp[1]
参考资料
1.
吕常胜.AIX系统匿名FTP服务器的实现[J].科技信息,2014,(7):57,54.