老牛博客,源自生活
让知识服务生活

导航

 

一、ftp服务器简介
  linux/unix下有很多可用的ftp服务器,根据这些ftp服务器的可配置性大概可以分为3类:弱、中等、高。
  功能比较简单的ftp服务器软件有“ftpd”和“oftpd”。前者与ftp客户端工具“ftp”类似,只实现了标准的ftp功能,支持安全套接字(SSL)连接,。“oftpd”则是一款非常小巧的匿名ftp服务器软件。
  可配置性居中等的主要是“vsftp”和“pure-ftpd”。这两个ftp服务器软件侧重于安全、速度和轻量级的平衡,一般在大型的ftp服务器上使 用较多,尤其是“vsftpd”。这类服务器对用户认证和权限控制比较简单,更注重安全性和速度平衡,并且非常稳定。例如:“vsftpd“可以在单机 (非集群)上支持4000个以上的并发用户同时连接。”vsftp“和“pure-ftpd”都支持虚拟用户,但用户权限仍然依赖于文件的系统权限。不支 持针对目录的权限配置,在配置依赖于目录的权限时很麻烦。

二、安装vsftp服务器
  VSFTP是一个基于GPL协议发布的,应用于类unix系统上的ftp服务器软件。vsftp能够满足常见的ftp服务器设计要求,并且有着相当不错的安全性。vsftp具有以下特点:
  #安全、高速、稳定
  #它可以作为给予多个ip的虚拟ftp主机服务器
  #匿名服务设置十分方便
  #匿名ftp的根目录不需要任何特殊的目录结构
  #不执行任何外部程序,减少了安全隐患
  #支持虚拟用户,并且每个虚拟用户可以具有独立的属性配置
  #拥有xinetd中启动,或者独立的ftp服务器两种运行方式
  #支持两种认证方式(pap或xinetd/tcp_wrappers)。
  #支持带宽限制

fedora发布时,往往已经将vsftp服务器软件包含在套件之间,所以在fedora中安装vsftp非常简易。基本步骤如下:
  #在gnome桌面菜单上选择“应用程序”——“系统工具”——“yum exteder”,打开“软件包管理”窗口。
  #在“软件包管理”窗口中,单击“搜索”选项,在文本框中输入“vsftp”,选中vsftp,单击“处理软件包队列”,系统将自动下载并安装其到计算机上,如下图所示:



三、vsftp服务器的配置和管理
  ftp服务器的基本功能就是上传和下载文件,此外,它还需要管理用户,为用户设定权限。
  在fedora中,vsftp服务器安装到计算机后使用默认配置。默认配置下,vsftp服务器允许fedora中的合法用户使用他自己的口令登录到他的用户主目录,并访问那些该用户拥有权限的文件。

  1、启动ftp服务器:
  在fedora中,vsftp服务器软件安装后,默认是作为一个独立的ftp服务器而存在的,启动vsftp服务器的方法如下:
  在菜单中选择“系统”——“管理”——“服务”,打开“服务配置”窗口。
  在“服务配置”窗口中找到“vsftp”,再单击工具栏上的“enable”和“start”按钮。可以在右边状态栏中看到一些成功启动的信息,如图:


  2、修改系统安全设置
  vsftp正常启动后,ftp客户端仍然不能访问ftp服务器或上传/下载文件,这是因为fedora系统的防火墙或selinux设置阻止了vsftp服务器的正常使用。所以在用户能够使用vsftp服务器的功能之前,还必须进行相关的安全设置。
  在菜单中选择“系统”——“管理”——“防火墙”,打开“防火墙配置”窗口,在下面的列表中选中“ftp”,单击“确定”按钮。
  随后再打开“服务配置”窗口,重启“iptable”服务,让刚才的修改生效。

  3、连接ftp服务器
  在fedora中可以使用客户端登录到本地的ftp服务器,然后以匿名的(anonymous)身份登录:
  [root@localhost ~]# lftp 127.0.0.1
  lftp 127.0.0.1:~> ls
  drwxr-xr-x    2 0        0            4096 May 21 13:58 pub
 
  使用“cd”命令切换到“pub”目录下,并显示内容,可以看到什么内容都没有。
  lftp 127.0.0.1:/> cd /pub
  lftp 127.0.0.1:/pub>

  现在我们可以拷贝一些文件到/var/ftp/pub目录下 然后执行命令ls,重新显示:
  lftp 127.0.0.1:/pub> ls
  -rw-rw-r--    1 0        0              57 Jun 29 08:29 a.c
  -rwxrwxr-x    1 0        0            4835 Jun 29 09:27 a.out
  -rw-rw-r--    1 0        0              51 Jun 29 09:27 hello.c
  drwx------    2 14       50           4096 Jun 29 08:29 test

  现在我们下载文件a.c
  lftp 127.0.0.1:/pub> mget a.c

  现在完毕后运行!s 命令,查看本机内容,可以看到文件“a.c”已成功下载到本机目录下:
  lftp 127.0.0.1:/pub> !ls
  a.c  公共的  视频  文档  音乐
  模板    图片  下载  桌面
 
  尝试上传个名为“a.b”文件,可以看到上传请求被拒绝了:
  lftp 127.0.0.1:/pub> put a.b
  put: Access failed: 553 Could not create file. (a.b)

  退出ftp登录:
  lftp 127.0.0.1:/pub> bye
 
  从上面过程可以看出:匿名用户已经可以下载文件,但不能上传文件(也不能在服务器上创建目录和文件)。实际上匿名用户就是一个专门提供下载服务的匿名ftp服务器。

posted on 2012-12-14 20:00  GeekyNiu  阅读(660)  评论(0编辑  收藏  举报