1.安装vsftpd
sudo apt install vsftpd
2.配置vsftpd
sudo vim /etc/vsftpd.conf
write_enable=YES # 启用任何形式的FTP写入命令,即可以修改文件
local_umask=022 # 本地用户创建文件的 umask 值,默认是被注释的
connect_from_port_20=YES # 针对 PORT 类型的连接使用端口 20,默认开启(FTP 数据)
xferlog_std_format=YES # 保持标准日志文件格式,默认被注释
# 允许chroot_list文件(白名单)中配置的用户登录此ftp服务器
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd.chroot_list
#配置ftp服务器的上传下载文件所在的目录,可以不设置
local_root=/home/ftpfile
utf8_filesystem=YES //编码统一为utf8编码,可以识别中文,防止乱码
# 设置FTP端口范围,以便在打开了防火墙的情况下开放对应端口,这里的39000-40000是被动端口范围
allow_writeable_chroot=YES
pasv_min_port=39000
pasv_max_port=40000
新建 /etc/vsftpd.chroot_list 文件,添加登录ftp服务器的用户,可以直接用当前账号
sudo vim /etc/vsftpd.chroot_list
FTP在连接和传输数据分别用到了两个不同的端口21和20。其中,21用于连接,是FTP命令端口,20用于传输数据,是FTP数据端口