资源描述:
《用linux系统构建高效ftp服务器》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、用Linux系统构建高效FTP服务器 在众多网络应用中,FTP(文件传输协议)有着非常重要的地位。Inter中一个十分重要的资源就是软件资源,而各种各样的软件资源大多数都放在FTP服务器中。与大多数Inter服务一样,FTP也是一个客户机/服务器系统。用户通过一个支持FTP协议的客户机程序,连接到主机上的FTP服务器程序。用户通过客户机程序向服务器程序发出命令,服务器程序执行用户发出的命令,并将执行结果返回给客户机。 FTP服务可以根据服务对象的不同分为两类:系统FTP服务器只允许系统上的合法用户使用;匿名F
2、TP服务器(AnonymousFTPServer)允许任何人登录到FTP服务器去获取文件。 FTP的数据传输模式针对FTP数据连接而言,分为主动传输模式、被动传输模式和单端口传输模式三种。 1.主动传输模式 当FTP的控制连接建立,客户提出目录列表、传输文件时,客户端发出PORT命令与服务器进行协商,FTP服务器使用一个标准端口20作为服务器端的数据连接端口(ftp-data),与客户建立数据连接。端口20只用于连接源地址是服务器端的情况,并且端口20没有监听进程来监听客户请求。 在主动传输模式下,FTP
3、的数据连接和控制连接方向相反,由服务器向客户端发起一个用于数据传输的连接。客户端的连接端口由服务器端和客户端通过协商确定。 2.被动传输模式 当FTP的控制连接建立,客户提出目录列表、传输文件时,客户端发送PASV命令使服务器处于被动传输模式,FTP服务器等待客户与其联系。FTP服务器在非20端口的其它数据传输端口上监听客户请求。 在被动传输模式下,FTP的数据连接和控制连接方向一致,由客户端向服务器发起一个用于数据传输的连接。客户端的连接端口是发起该数据连接请求时使用的端口。当FTP客户在防火墙之外访问F
4、TP服务器时,需要使用被动传输模式。 3.单端口模式 除上述两种模式之外,还有一种单端口模式。该模式的数据连接请求由FTP服务器发起。使用该传输模式时,客户端的控制连接端口和数据连接端口一致。因为这种模式无法在短时间连续输入数据、传输命令,因此并不常用。 Linux下有很多可用的FTP服务器,其中比较流行的有ode(127,0,0,1,63,15)150Hereesthedirectorylisting.drode(127,0,0,1,232,34)150Hereesthedirectorylisting.
5、-rw-r--r-- 10 0 21Dec0401:35test.txt226DirectorysendOK. 12345下一页....,。下载test.txt文件:ftp>mgettest.txtmgettest.txt?y227EnteringPassiveMode(127,0,0,1,186,210)150OpeningBINARYmodedataconnectionfortest.txt(21bytes).226FilesendOK.21bytesreceivedin0.0108secs(1.9K
6、bytes/sec) 查看本机目录内容,可以看到test.txt已成功下载到本机。ftp>!lsa EIO_Bindersinitrd mnt proc tftpbootylg.txtbin etc lib mymnt root tmpboothome lost+foundmysharesbin usrdev id_dsas.pubmisc opt test.txtvar 尝试上传名为ylg.txt的文件,可以看到请求被拒绝了。ftp>putylg.txtloc
7、al:ylg.txtremote:ylg.txt227EnteringPassiveMode(127,0,0,1,243,10)550Permissiondenied. 退出登录:ftp>bye221Goodbye. 由测试可以看出,已经可以下载文件,但不能上传文件(也不能在服务器上创建目录和文件)。实际上这是一个专门提供下载服务的匿名FTP服务器。 从上面的步骤可以看出,并不需要做什么配置就可以完成一个简易FTP服务器的架设。这是因为RedHat已经配置好一个缺省的FTP服务器。不过在实际应用中,大
8、部分情况下这个简易的服务器并不能满足需求。 进一步配置FTP服务器 下面将创建一个能够满足常用需求的FTP服务器。实际应用中,FTP服务器一般要同时提供上传和下载功能。此外,出于安全考虑,还需要有用户身份验证、用户权限设置及空间管理等。下面就来搭建这样一个FTP服务器。 1.创建欢迎语。如果希望使用者在进入目录时,能够看到欢迎语或对本目录的介绍,可以通过以下方法来实