FTP 是FileTransfer Protocol(文件传输协议)的英文简称,而中文简称为“文传协议”。用于Internet上的控制文件的双向传输。同时,它也是一个应用程序(Application)。基于不同的操作系统有不同的FTP应用程序,而所有这些应用程序都遵守同一种协议以传输文件。在FTP的使用当中,用户经常遇到两个概念:"下载"(Download)和"上传"(Upload)。"下载"文件就是从远程主机拷贝文件至自己的计算机上;"上传"文件就是将文件从自己的计算机中拷贝至远程主机上。用Internet语言来说,用户可通过客户机程序向(从)远程主机上传(下载)文件。

vsftpd是“very secure FTP daemon”的缩写,安全性是它的一个最大的特点。vsftpd是一个 UNIX 类操作系统上运行的服务器的名字,它可以运行在诸如 Linux、BSD、Solaris、 HP-UNIX等系统上面,是一个完全免费的、开发源代码的ftp服务器软件,支持很多其他的 FTP 服务器所不支持的特征。比如:非常高的安全性需求、带宽限制、良好的可伸缩性、可创建虚拟用户、支持IPv6、速率高等。[2] 

vsftpd是一款在Linux发行版中最受推崇的FTP服务器程序。特点是小巧轻快,安全易用。

   下面我以centos6.5为例演示vsftpd的简单配置

1,先检查是否安装了vsftpd软件

CentOS6.5搭建ftp服务器_centos6.5

2.如果没有安装,可以通过yum在线安装

CentOS6.5搭建ftp服务器_ftp服务器_02

3.vsftpd默认端口是21,不过我们可以在配置文件里面修改,不管修改成什么端口都需要在防火墙配置中开启,比如我要使用2121端口,然后重启防火墙。

CentOS6.5搭建ftp服务器_ftp服务器_03

CentOS6.5搭建ftp服务器_centos6.5_04

4.为了能正常登陆vsftpd服务器,需要解除SELinux保护,否则无法读取FTP目录。

CentOS6.5搭建ftp服务器_ftp服务器_05

5.启动vsftpd服务,并设为开机自启动,检查运行状态

CentOS6.5搭建ftp服务器_centos6.5_06

6.修改默认端口,

CentOS6.5搭建ftp服务器_centos6.5_07

7.修改完配置文件需要重启vsftpd服务,这件事需要经常操作

CentOS6.5搭建ftp服务器_ftp服务器_08

8.访问ftp服务器的几种方法:建议使用filezilla

CentOS6.5搭建ftp服务器_centos6.5_09

CentOS6.5搭建ftp服务器_ftp服务器_10

CentOS6.5搭建ftp服务器_centos6.5_11

④利用一些客户端如winscpfilezilla

CentOS6.5搭建ftp服务器_ftp服务器_12

CentOS6.5搭建ftp服务器_centos6.5_13

9.限制上传下载带宽

CentOS6.5搭建ftp服务器_centos6.5_14

10.配置特定用户的带宽

CentOS6.5搭建ftp服务器_centos6.5_15

CentOS6.5搭建ftp服务器_centos6.5_16

11.限制客户端可以连接的IP地址

CentOS6.5搭建ftp服务器_ftp服务器_17

CentOS6.5搭建ftp服务器_centos6.5_18

CentOS6.5搭建ftp服务器_centos6.5_19

12.限制黑名单用户,系统默认将一些与ftp无关的账号加入了黑名单

CentOS6.5搭建ftp服务器_centos6.5_20

CentOS6.5搭建ftp服务器_ftp服务器_21

tom登陆时会出错

CentOS6.5搭建ftp服务器_centos6.5_22

13.禁止匿名用户登陆

CentOS6.5搭建ftp服务器_ftp服务器_23

CentOS6.5搭建ftp服务器_centos6.5_24

或者直接提示

CentOS6.5搭建ftp服务器_ftp服务器_25

14.限制一个IP的连接数量

CentOS6.5搭建ftp服务器_ftp服务器_26

4个登录时报错

CentOS6.5搭建ftp服务器_ftp服务器_27

15.设置空闲等待时间CentOS6.5搭建ftp服务器_ftp服务器_28

16.禁止用户切换目录,默认情况下是可以访问

chroot_local_user设置了YES,那么所有的用户默认将被chroot,也就用户目录被限制在了自己的home下,无法向上改变目录。
chroot_list_enable设置了YES,即让chroot用户列表有效。如果chroot_local_user设置了YES,那么chroot_list_file设置的文件里的用户,是不被chroot的用户(可以向上改变目录)

如果chroot_local_user设置了NO,那么chroot_list_file设置的文件里的用户,是被chroot的用户(无法向上改变目录)

CentOS6.5搭建ftp服务器_ftp服务器_29

CentOS6.5搭建ftp服务器_ftp服务器_30

CentOS6.5搭建ftp服务器_centos6.5_31

特定用户可以切换目录

CentOS6.5搭建ftp服务器_ftp服务器_32

CentOS6.5搭建ftp服务器_ftp服务器_33

切换成功后

CentOS6.5搭建ftp服务器_ftp服务器_34