一、FTP服务器,则是在互联网上提供存储空间的计算机,它们依照FTP协议提供服务。 FTP的全称是File Transfer Protocol(文件传输协议)。顾名思义,就是专门用来传输文件的协议。简单地说,支持FTP协议的服务器就是FTP服务器。 

 

二、一般来说.用户联网的首要目的就是实现

信息共享文件传输是信息共享非常重要的一个内容之一。Internet上早期实现传输文件,并不是一件容易的事,我们知道 Internet是一个非常复杂的计算机环境,有PC,有工作站,有MAC,有大型机,据统计连接在Internet上的计算机已有上千万台,而这些计算机可能运行不同的操作系统,有运行Unix的服务器,也有运行DosWindowsPC机和运行MacOS的苹果机等等,而各种操作系统之间的文件交流问题,需要建立一个统一的文件传输协议,这就是所谓的FTP。基于不同的操作系统有不同的FTP应用程序,而所有这些应用程序都遵守同一种协议,这样用户就可以把自己的文件传送给别人,或者从其它的用户环境中获得文件。

  与大多数Internet服务一样,FTP也是一个客户机/服务器系统。用户通过一个支持FTP协议的客户机程序,连接到在远程主机上的FTP服务器程序。用户通过客户机程序向服务器程序发出命令,服务器程序执行用户所发出的命令,并将执行的结果返回到客户机。比如说,用户发出一条命令,要求服务器向用户传送某一个文件的一份拷贝,服务器会响应这条命令,将指定文件送至用户的机器上。客户机程序代表用户接收到这个文件,将其存放在用户目录中。  

 

 

三、FTP的使用当中,用户经常遇到两个概念:"

下载"Download)和"上载"Upload)。"下载"文件就是从远程主机拷贝文件至自己的计算机上;"上载"文件就是将文件从自己的计算机中拷贝至远程主机上。用Internet语言来说,用户可通过客户机程序向(从)远程主机上载(下载)文件。

使用FTP时必须首先登录,在远程主机上获得相应的权限以后,方可上传或下载文件。也就是说,要想同哪一台计算机传送文件,就必须具有哪一台计算机的适当授权。换言之,除非有用户ID和口令,否则便无法传送文件。这种情况违背了Internet开放性Internet上的FTP主机何止千万,不可能要求每个用户在每一台主机上都拥有帐号。匿名FTP就是为解决这个问题而产生的。  匿名FTP是这样一种机制,用户可通过它连接到远程主机上,并从其下载文件,而无需成为其注册用户。系统管理员建立了一个特殊的用户ID,名为anonymous,Internet上的任何人在任何地方都可使用该用户ID

通过FTP程序连接匿名FTP主机的方式同连接普通FTP主机的方式差不多,只是在要求提供用户标识ID时必须输入anonymous,该用户ID的口令可以是任意的字符串。习惯上,用自己的E-mail地址作为口令,使系统维护程序能够记录下来谁在存取这些文件。  值得注意的是,匿名FTP不适用于所有Internet主机,它只适用于那些提供了这项服务的主机

当远程主机提供匿名FTP服务时,会指定某些目录向公众开放,允许匿名存取。系统中的其余目录则处于隐匿状态。作为一种安全措施,大多数匿名FTP主机都允许用户从其下载文件,而不允许用户向其上载文件,也就是说,用户可将匿名FTP主机上的所有文件全部拷贝到自己的机器上,但不能将自己机器上的任何一个文件拷贝至匿名FTP主机上。即使有些匿名FTP主机确实允许用户上载文件,用户也只能将文件上载至某一指定上载目录中。随后,系统管理员会去检查这些文件,他会将这些文件移至另一个公共下载目录中,供其他用户下载,利用这种方式,远程主机的用户得到了保护,避免了有人上载有问题的文件,如带病毒的文件。  作为一个Internet用户,可通过FTP在任何两台Internet主机之间拷贝文件。但是,实际上大多数人只有一个Internet帐户,FTP主要用于下载公共文件,例如共享软件、各公司技术支持文件等。

Internet上有成千上万台匿名FTP主机,这些主机上存放着数不清的文件,供用户免费拷贝。实际上,几乎所有类型的信息,所有类型的计算机程序都可以在Internet上找到。这是Internet吸引我们的重要原因之一。

匿名FTP使用户有机会存取到世界上最大的信息库,这个信息库是日积月累起来的,并且还在不断增长,永不关闭,涉及到几乎所有主题。而且,这一切是免费的。

匿名FTPInternet网上发布软件的常用方法。Internet之所以能延续到今天,是因为人们使用通过标准协议提供标准服务的程序。像这样的程序,有许多就是通过匿名FTP发布的,任何人都可以存取它们。

Internet中的有数目巨大的匿名FTP主机以及更多的文件,那么到底怎样才能知道某一特定文件位于哪个匿名FTP主机上的那个目录中呢?这正是 Archie服务器所要完成的工作。Archie将自动在FTP主机中进行搜索,构造一个包含全部文件目录信息的数据库,使你可以直接找到所需文件的位置信息。

 

 

四、六月七日测试成功

 

 

五、作者:zhouyuqin3510

 

 

六、具体实现

常见的ftp服务器软件有:

                      Server-u

                      FileZilla_Server

                      IIS

                      VsFTP

在这里我使用的是虚拟机创建的两个redhat linux 5.8系统使用VsFTP进行ftp通信

虚拟机一:ip 172.16.122.1(服务器)

虚拟机二:ip 172.16.123.1

 

 

(一)、首先下载需要用到的vsftp服务器软件

      这里我下载的是官方的vsftpd-2.3.5.tar.gz

      在开始安装之前检查一下,系统是否安装了Development Tools,如果没有安装,会导致后面的vsftpd软件安装失败

      # yum grouplist经行检查

      检查无误后开始安装

(二)、先解压vsftpd-2.3.5.tar.gz,这是一个归档后压缩的文件

     我们通过 tar -xf vsftpd-2.3.5.tar.gz,将其解压到当前目录

      然后cd进去cd vsftpd-2.3.5

      make 编译软件

      编译完成后,进行安装 make install

      而后安装成功

      由于是编译安装,这里是没有/var/ftp/pub目录的,我们可以手动创建:mkdir /var/ftp/pub

      vsftpd安装路径默认是安装在/usr/local/sbin/vsftpd

      因为编译安装,所以是没有配置文件的,回到刚才软件安装文件的那个目录,里面有个vsftpd.conf配置文件,将它拷贝到/etc/vsftpd/

      最后就可以编译服务配置文件了,这里附上我的服务配置文件图,很拙劣,所以仅供参考,大神绕道

编写完成后将编写好的vsftpd.sh(实现要加好执行权限)复制到/etc/rc.d/init.d/vsftpd

(三)、这样配置完成后,启用另一台虚拟机访问ftp:172.16.122.1,便可访问成功

(四)、补充说明:

     以上编辑好后,我们用chkconfig --list vsftpd依然无法找到vsftpd服务,那是因为我们没有将其加上

     使用chkconfig -add vsftpd将其加上即可

六、整个ftp服务器配置过程大致就是这些

在这里要感谢马哥教育http://mageedu.blog.51cto.com/

有更多服务器方面需求请参考:

http://andyxu.blog.51cto.com/2050315/888583