前言

FTP(File Transfer Protocol)是最早应用于主机之间数据传输的基本协议之一,至今仍是使用最广泛的文件传送协议。FTP文件共享服务器在日常办公中可以实现多人之间的文件传递与共享,极大提高协同办公效率。

京东云轻量云主机(IAVM)凭借其高性价比和便捷管理,成为搭建FTP文件共享服务器的理想选择。本文将以Ubuntu 22.04 LTS系统为例,使用vsftpd搭建安全稳定的FTP服务。

一、准备工作

1.1 创建轻量云主机实例

登录京东云控制台,进入轻量云主机产品页面,创建一台Ubuntu 22.04 LTS系统的实例。建议配置不低于1核2G,以确保FTP服务运行流畅。

1.2 连接云主机

通过SSH工具连接服务器:

ssh root@<你的公网IP>

1.3 更新系统包

apt update && apt upgrade -y

二、安装vsftpd

vsftpd(Very Secure FTP Daemon)是一款在Linux发行版中最受推崇的FTP服务器程序,以小巧轻快、安全易用著称。

2.1 安装vsftpd

apt install vsftpd -y

2.2 启动并设置开机自启

systemctl start vsftpd
systemctl enable vsftpd

2.3 验证服务状态

systemctl status vsftpd

看到 active (running) 表示服务运行正常。

三、配置vsftpd

3.1 备份原始配置

cp /etc/vsftpd.conf /etc/vsftpd.conf.default

3.2 编辑配置文件

vim /etc/vsftpd.conf

主要配置项如下:

# 禁止匿名访问
anonymous_enable=NO

# 允许本地用户登录
local_enable=YES

# 允许上传
write_enable=YES

# 限制用户在家目录内
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd.chroot_list

# 被动模式端口范围
pasv_min_port=4242
pasv_max_port=4243

# 启用日志
xferlog_enable=YES
xferlog_file=/var/log/vsftpd.log

3.3 创建用户列表文件

touch /etc/vsftpd.chroot_list

四、创建FTP用户

4.1 添加系统用户

adduser ftpuser

按提示设置密码,其他信息可直接回车跳过。

4.2 创建用户目录并授权

mkdir -p /home/ftpuser/ftp/upload
chmod 550 /home/ftpuser/ftp
chmod 750 /home/ftpuser/ftp/upload
chown -R ftpuser:ftpuser /home/ftpuser/ftp

五、配置防火墙

5.1 京东云控制台放行端口

登录京东云轻量云主机控制台,在防火墙规则中添加以下端口:

  • 21 —— FTP控制端口
  • 4242-4243 —— FTP被动模式数据端口

5.2 Ubuntu内部防火墙配置

ufw allow 21/tcp
ufw allow 4242:4243/tcp
ufw reload

5.3 重启vsftpd使配置生效

systemctl restart vsftpd

六、测试连接

6.1 使用FTP客户端连接

打开FileZilla或其他FTP客户端,填写以下信息:

  • 主机:你的轻量云主机公网IP
  • 用户名:ftpuser
  • 密码:之前设置的密码
  • 端口:21

6.2 传输测试

连接成功后,尝试上传和下载文件。若在上传目录中成功创建文件,则说明FTP服务正常运行。

七、安全加固建议

7.1 启用FTPS加密

在vsftpd配置文件中添加以下内容启用TLS加密:

ssl_enable=YES
allow_anon_ssl=NO
force_local_data_ssl=YES
force_local_logins_ssl=YES
ssl_tlsv1=YES
ssl_sslv2=NO
ssl_sslv3=NO
rsa_cert_file=/etc/ssl/certs/vsftpd.pem

7.2 限制用户列表

只允许特定用户访问FTP,编辑 /etc/vsftpd.user_list

echo "ftpuser" | tee -a /etc/vsftpd.user_list

配置文件中启用用户列表限制:

userlist_enable=YES
userlist_file=/etc/vsftpd.user_list
userlist_deny=NO

7.3 监控连接日志

定期查看 /var/log/vsftpd.log,及时发现异常登录行为。

八、常见问题

8.1 连接超时或拒绝连接

检查京东云轻量云主机控制台的防火墙是否放行了21端口和被动模式端口。同时确认Ubuntu内部ufw状态。

8.2 登录后目录为空

确认用户家目录设置正确,且目标目录拥有可读权限。

8.3 上传文件失败

检查 upload 目录的写权限,确保FTP用户拥有写入权限。

结语

至此,你已成功在京东云轻量云主机(IAVM)上使用Ubuntu系统搭建了FTP文件共享服务器。这套方案可满足日常办公中的文件传输与共享需求。如果需要在公网环境中传输敏感数据,建议启用FTPS加密或改用SFTP协议,进一步提升安全性。