云主机搭建FTP文件共享服务器完整教程
前言
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协议,进一步提升安全性。