vsftpd 服务常用配置说明
环境信息
- Centos 7
- vsftpd 3.0.2
FTP(File transfer Protocol)是一种在互联网中进行文件传输的协议,基于客户端/服务器模式,默认使用 20、21 号端口,
其中端口 20(数据端口)用于进行数据传输,端口 21(命令端口)用于接受客户端发出的相关 FTP 命令与参数。
FTP 有两种工作模式:
- 主动模式(PORT) - 服务器主动向客户端发起连接请求.
- 被动模式(PAVS) - FTP 服务器打开协商好的端口,等待客户端发起连接请求(默认工作模式).
FTP 协议需要用到两个 TCP 连接:
- 命令连接 - 用来在 FTP 客户端与服务器之间传递命令。
- 数据连接 - 用来在服务器和客户端进行文件传输。
无论是主动模式还是被动模式,其要进行文件传输都必须依次建立两个连接,分别为命令连接与数据连接。而主动模式与被动模式的差异主要体现在数据连接通道上。[1]
服务配置文件
通用配置
匿名用户和本地用户是否能登录,匿名用户使用的登陆名为ftp或anonymous,口令为空,匿名用户不能离开匿名 用户家目录/var/ftp,且只能下载不能上传。 |
匿名用户(anonymous)设置
若是启动这项功能,则使用匿名登入时,不会询问密码。默认值为NO。 |
本地用户设置
控制是否允许本地用户登入,默认值为YES。 |
欢迎语设置
如果启动这个选项,那么使用者第一次进入一个目录时,会检查该目录下是否有.message这个档案 |
控制用户是否允许切换到上级目录
是否将用户限制在用户主目录。默认值为NO。 |
数据传输模式设置
FTP在传输数据时,可以使用二进制方式,也可以使用ASCII模式来上传或下载数据。 |
访问控制设置
两种控制方式:一种控制主机访问,另一种控制用户访问。 |
访问速率设置
设置匿名登入者使用的最大传输速度,单位为B/s,0 表示不限制速度。默认值为0。 |
超时时间设置
设置建立FTP连接的超时时间,单位为秒。默认值为60。 |
日志文件设置
是否启用上传/下载日志记录。如果启用,则上传与下载的信息将被完整纪录在xferlog_file 所定义的档案中。预设为开启 |
FTP 的工作方式与端口设置
FTP有两种工作方式:PORT FTP(主动模式)和 PASV FTP(被动模式) |
与连接相关的设置
设置vsftpd服务器是否以standalone模式运行。以standalone模式运行是一种较好的方式,此时listen必须设置为YES,此为默认值。 |
虚拟用户相关配置
vsftpd 虚拟用户配置过程参考使用虚拟用户功能,必须允许本地用户登录 |
虚拟用户配置文件
每个虚拟用户都需要一个单独的配置文件,虚拟用户配置文件在 vsftpd 配置中 user_config_dir
对应的目录 (/etc/vsftpd/virtual_user_conf
) 下
文件名必须和用户名一样
指定虚拟用户根目录 |