一、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服务器。