一、FTP介绍

FTP(即文件传输服务器),是一种基于TCP的协议,采用客户/服务器模式。通过FTP协议,用户可以在FTP服务器中进行文件的上传或下载等操作,Linux中推荐使用vsftpd。

vsftpd(very secure FTP daemon)是一款在Linux系统中最受欢迎的FTP服务器。vsftpd支持匿名访问和本地用户模式两种访问方式。匿名访问方式任何用户都可以访问搭建的FTP服务;本地用户模式只支持添加的本地用户访问搭建的FTP服务。

二、配置介绍

1、[root@Linux ~]#yum install -y vsftpd

#安装vsftpd服务

Linux FTP服务器配置与应用_服务器

2、[root@Linux ~]#systemctl enable vsftpd.service

#将vsftpd设为开机自启

Linux FTP服务器配置与应用_服务器_02

3、[root@Linux ~]#netstat -nuptl | more          

#21号端口,如果设置vsftpd服务是否有启动,没有的话启动一下

Linux FTP服务器配置与应用_ftp_03

4、[root@Linux ~]#vim /etc/vsftpd/vsftpd.conf        

#主配置文件,如果要运行多个vsftpd服务,则可以复制该文件为多份,如:vsftpd1.conf、vsftpd2.conf

Linux FTP服务器配置与应用_ide_04

5、[root@Linux ~]#chmod o+w /var/ftp/pub/

#修改权限为其他用户可写入

Linux FTP服务器配置与应用_ide_05

6、[root@Linux ~]# systemctl restart vsftpd.service

#重启服务使vsftpd生效

Linux FTP服务器配置与应用_ide_06

7、[root@Linux ~]# useradd test

[root@Linux ~]# passwd test

#创建本地用户和设置密码

Linux FTP服务器配置与应用_ftp_07

8、[root@Linux ~]# mkdir /var/ftp/ftptest

[root@Linux ~]# chown -R test:test /var/ftp/ftptest/

#创建一个本地用户访问ftp默认的目录并赋予权限

Linux FTP服务器配置与应用_服务器_08

三、其他重要配置

1、ls_recurse_enable=NO          

#允许使用"ls -R" 指令,在一个大型FTP站点的根目录下使用"ls - R"会消耗大量系统资源

2、hide_ids=YES                  

#是否隐藏文件的所有者和组信息

3、write_enable=YES              

#控制是否允许用户使用任何可以修改文件系统的FTP 的指令,比如STOR、DELE、RNFR、RNTO、MKD、RMD、APPE 以及SITE等。

4、deny_file={*.mp3,.avi}       

#限制上传下载这些文件

5、hide_file={.*,*.hide}        

#隐藏这些文件

6、listen_address=              

#vsftpd监听那个接口的ip,默认是所有

7、pasv_addr_resolve=YES|NO      

#在被动模式下是否可以使用域名来代表外网IP,服务器会去解析具体IP地址的。

8、pass_address=                

#可以填IP地址,如果上一项是YES的话这里可以填上服务器的域名,如果服务器是在内网的,则填上服务器外网IP

四、功能测试

通过ftp://ip地址访问,输入用户名和密码可以访问,配置成功。

Linux FTP服务器配置与应用_ftp_09