前言
当前Ubuntu版本: Ubuntu 18.04.5 LTS (GNU/Linux 4.15.0-118-generic x86_64)
使用的是在腾讯云租的便宜服务器。
需要注意的是,这里配置的FTP是明文传输,未加密,可以使用SSL-TLS加密,但不包含在本文中。
配置的vsftpd 采用的是被动模式。
最后更新:2021年1月23日
注:被动模式打开,首先要在防火墙打开配置文件里设置的最小端口和最大端口范围里的所有端口号。
正篇:安装和搭建vsftpd
首先通过apt完成 vsftpd的安装,再对vsftpd.conf文件进行简单配置。
Ⅰ:建议更新apt
建议先通过以下指令更新apt
#apt-get update
#apt-get upgrade
Ⅱ:通过apt安装vsftpd
在ubuntu中可以使用apt直接安装(需要sudo 权限):
#apt-get install vsftpd
安装结束后可以通过以下指令
vsftpd -version
来判断是否安装成功。若返回版本号则代表安装成功。如下:
user@VM-0-14-ubuntu:~$ vsftpd -version
vsftpd: version 3.0.3
Ⅲ:配置vsftpd.conf
vsftpd.conf文件一般在 /etc 中,也可能在 /etc/vsftpd 中,找一下就能找到。
我版本的 vsftpd.conf 在 /etc 下。
通过vim 打开vsftpd.conf。在修改前一定记得对vsftpd.conf文件进行备份
按下i, 打开输入模式。(下面提示INSERT)
sudo vim /etc/vsftpd.conf
i:一般配置
将以下指令写入配置文件中,注意: 原文件中有的,应该修改,不可重复出现。
anonymous_enable=NO #关闭 匿名用户访问 (原文件中有)
local_enable=YES #打开本地用户访问 (原文件中有)
chroot_local_user=YES #打开限制本地用户目录 (原文件中有)
chroot_list_enable=YES #打开本地例外用户名单 (原文件中有)
chroot_list_file=/etc/vsftpd/chroot_list #本地例外用户配置文件目录 (原文件中无,需要追加)
listen=YES #开启监听 (原文件中有)
write_enable=YES #允许写入 (原文件中有)
#--------
user_config_dir=/etc/vsftpd/userconfig #本地用户配置目录 (原文件中无,需要追加)
如上
ii:需要手动注释掉的配置
#listen_ipv6=YES #此处默认是打开的,但是我们需要注释掉,关闭IPv6 sockets
iii:配置被动模式
主动模式*(port)和被动模式(pasv)是ftp 客户端和服务端两种不同的连接方式。
下面简要介绍主要区别
** 主动模式:*
指令通道:21
数据通道:20 (对于服务端)
** 被动模式:**
指令通道:21
数据通道:1024以上任意端口皆有可能
为信息安全,一般采用被动模式。且大多数客户端,以及网页浏览器以及window文件资源管理器采用的连接方式为被动模式
在vsftpd.conf文件中添加以下指令(原文件中不一定有这些指令)
allow_writeable_chroot=YES #允许在限制目录内修改
pasv_enable=YES #打开被动模式
pasv_address=xxx.xx.xxx.xx #请修改为您的 Linux 云服务器公网 IP
pasv_min_port=40000 #被动模式可用最小数据端口
pasv_max_port=45000 #被动模式可用最大数据端口
完成后,按ESC退出输入模式
按下 :wq 来保存并退出vim,到此及完成了对vsftpd.conf的配置。
Ⅳ:重启vsftpd服务
在终端重启vsftpd。
systemctl status vsftpd
可以很显然的看到vsftpd 的运行情况。 若为绿色active 及运行正常。
推荐
可以使用网页浏览器访问,也可以使用文件资源管理器访问。但推荐使用FileZilla。在使用FileZilla访问时,软件会显示访问不安全,这是因为vsftpd 未采用加密,文件传输会以明文传输,vsftpd ssl-tls加密后续更新。