1、配置文件vsftpd.conf
1.1 进入vsftpd.conf
sudo nano /etc/vsftpd.conf
或是使用vim
sudo vim /etc/vsftpd.conf
1.2 进入配置文件
anonymous_enable=NO # 禁止匿名用户登录
local_enable=YES # 允许本地用户登录
write_enable=YES # 允许修改权限(上传、删除文件)
local_umask=022 # 设置本地用户创建文件的umask值
dirmessage_enable=YES # 开启目录消息提示
xferlog_enable=YES # 开启日志记录功能
connect_from_port_20=YES # 允许使用20端口作为数据传输的端口
xferlog_std_format=YES # 使用标准日志格式
ascii_upload_enable=YES # 允许ASCII模式的文件上传
ascii_download_enable=YES # 允许ASCII模式的文件下载
ftp_data_port=20 # 设置FTP数据端口为20(如果从20端口进行数据传输被禁用,则需要设置此项)
listen=YES # 使vsftpd监听单个地址和端口
pam_service_name=vsftpd # 设置PAM认证服务的名称
userlist_enable=YES # 启用userlist,userlist_file中的用户不可登录
tcp_wrappers=YES # 使用tcp_wrappers提供的访问控制
1.3 主动和被动模式(重点)
FTP 服务分主动模式与被动模式
1.3.1 主动模式配置
默认情况下socket连接建立使用21端口,FTP PORT主动模式进行数据传输时使用20端口(ftp-data)。YES使用,NO不使用。
connect_from_port_20=YES
pasv_enable=NO #passive模式关闭
port_enable=YES #port模式开启
1.3.2 被动模式配置
默认情况下socket连接建立使用21端口,设定在PASV模式下,数据传输开放端口默认值为0(任意1024–65535端口)。
考虑安全情况下,可以自主配置端口范围,比如3000-4000。被动模式适用高并发场景。
pasv_enable=YES
pasv_min_port=3000
pasv_max_port=4000