Ubuntu FTP 服务器搭建

By | 2023年6月25日

我参考的 搭建FTP站点(CentOS 7),操作步骤那切换到手动部署设置安全组以及下面内容可以不看。下面是我的安装记录。

安装vsftpd

# 安装vsftpd
apt install -y vsftpd
# 启动FTP服务,并设置开机自启动
systemctl start vsftpd
systemctl enable vsftpd
# 查看FTP服务监听的端口(默认监听端口号为21)
netstat -antup | grep ftp

配置vsftpd

# 创建一个Linux用户并设置密码(如:ftptest/ftptest.123),
sudo adduser ftpwanghua(修改密码请用:sudo passwd ftpwanghua)
# 创建一个供FTP服务使用的文件目录。
sudo mkdir -p /var/ftp/public
# 创建测试文件
sudo touch /var/ftp/public/testfile.txt
# 更改 /var/ftp/public 目录的拥有者为 ftptest
sudo chown -R ftptest:ftptest /var/ftp/public

vim /etc/vsftpd.conf,修改下列参数的值:

# 禁止匿名登录FTP服务器。
anonymous_enable=NO
# 允许本地用户登录FTP服务器。
local_enable=YES
# 监听IPv4 sockets。
listen=YES
# 允许往FTP写文件
write_enable=YES

在行首添加#注释掉以下参数,关闭监听IPv6 sockets:
#listen_ipv6=YES

此外,在配置文件的末尾添加下列参数,其中pasv_address需修改为FTP服务器的公网IP地址

#设置本地用户登录后所在目录。
local_root=/var/ftp/public
#全部用户被限制在主目录。
chroot_local_user=YES
#启用例外用户名单。
chroot_list_enable=YES
#指定例外用户列表文件,列表中用户不被锁定在主目录。
chroot_list_file=/etc/vsftpd.chroot_list
#开启被动模式。
pasv_enable=YES
allow_writeable_chroot=YES
#本教程中为Linux实例的公网IP。
pasv_address=192.168.1.200
#设置被动模式下,建立数据传输可使用的端口范围的最小值。
#建议您把端口范围设置在一段比较高的范围内,例如50000~50010,有助于提高访问FTP服务器的安全性。
pasv_min_port=50000
#设置被动模式下,建立数据传输可使用的端口范围的最大值。
pasv_max_port=50010

重要:/etc/vsftpd.chroot_list 是空的也要创建出来,否则客户端连上去一直报验证失败。

重启让配置生效:systemctl restart vsftpd
最后,阿里云、ufw都放通 21 端口。

测试

XFTP 主动模式连上去成功了,但被动模式没有成功,应该是阿里云防火墙上未放通 50000-50010 端口。

卸载

# 卸载ftp服务,--purge:选项表示彻底删除改软件和相关文件
sudo apt-get remove --purge vsftpd   

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注