🗣 Wd提问: linux 搭建ftp服务器
🤖 Ai回答: 在 Linux 上搭建 FTP 服务器,最常用且安全的方案是使用 vsftpd(Very Secure FTP Daemon)。以下以 Ubuntu/Debian 为例,提供详细步骤:
✅ 步骤 1:安装 vsftpd
bash
sudo apt update
sudo apt install vsftpd -y
✅ 步骤 2:配置 vsftpd
2.1 编辑配置文件
bash
sudo nano /etc/vsftpd.conf
2.2 关键配置项(根据需求修改):
ini
基础设置
anonymous_enable=NO 禁用匿名登录
local_enable=YES 启用本地用户登录
write_enable=YES 允许上传文件
local_umask=022 上传文件权限为 644
用户隔离
chroot_local_user=YES 用户登录后限制在自身目录
allow_writeable_chroot=YES 避免权限错误(重要!)
被动模式(关键!)
pasv_enable=YES
pasv_address=你的服务器公网IP 替换为你的公网 IP(如无公网 IP 需额外配置)
pasv_min_port=50000
pasv_max_port=50000
安全设置
idle_session_timeout=600 空闲超时时间(秒)
max_clients=10 最大并发连接数
⚠️ 重要提示:
如果服务器 没有公网 IP,需在路由器设置端口转发(21 端口 + 50000-50000 端口)。
`pasv_address` 必须是 公网 IP,否则被动模式无法连接。
2.3 保存退出(Ctrl+O → Enter → Ctrl+X)
✅ 步骤 3:配置防火墙(开放端口)
bash
sudo ufw allow 21/tcp FTP 控制端口
sudo ufw allow 50000:50000/tcp 被动模式端口范围
sudo ufw enable
✅ 步骤 4:创建 FTP 用户(推荐使用非 root 用户)
bash
sudo adduser ftpuser 创建用户(按提示设置密码)
sudo usermod -d /var/ftp ftpuser 设置家目录(可选)
4.1 设置目录权限(关键!)
bash
1、创建可写目录(示例:/var/ftp)
sudo mkdir -p /var/ftp
sudo chown -R ftpuser:ftpuser /var/ftp
sudo chmod -R 755 /var/ftp
2、修改用户主目录权限(如果使用 chroot)
sudo chown -R ftpuser:ftpuser /home/ftpuser
sudo chmod -R 755 /home/ftpuser
✅ 步骤 5:启动服务 & 验证
bash
sudo systemctl restart vsftpd
sudo systemctl enable vsftpd 开机自启
检查状态
systemctl status vsftpd
✅ 步骤 6:测试连接
6.1 使用命令行测试
bash
使用 lftp(推荐)
sudo apt install lftp -y
lftp -u ftpuser,密码 ftp://你的服务器IP
6.2 验证被动模式端口
bash
检查监听的被动端口
sudo netstat -tulpn | grep 50000
🔒 安全增强建议
1、禁用明文传输(推荐使用 SFTP 或 FTPS):
bash
sudo nano /etc/vsftpd.conf
添加:
ini
ssl_enable=YES
allowanonymous_ssl=YES
force_local_logins=YES
2、生成 SSL 证书:
bash
sudo mkdir -p /etc/ssl/vsftpd
sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 \
-keyout /etc/ssl/vsftpd/vsftpd.pem \
-out /etc/ssl/vsftpd/vsftpd.pem
3、限制 IP 访问(防火墙规则):
bash
sudo ufw deny 21 from 192.168.1.0/24 拒绝内网访问
🚨 常见问题解决
| 问题 | 解决方案 |
| 连接被拒绝 | 检查 `ufw` 状态:`sudo ufw status` |
| 被动模式失败 | 确保 `pasv_address` 是公网 IP,且端口范围开放 |
| 目录权限错误 | 执行 `sudo chown -R ftpuser:ftpuser /var/ftp` |
| 用户无法登录 | 检查 `/etc/shadow` 中用户密码是否设置(`passwd ftpuser`) |
📌 最终配置总结
| 配置项 | 值 |
| 安装包 | `vsftpd` |
| 端口 | 控制端口 21,被动端口 50000-50000 |
| 用户 | 非 root 用户(如 `ftpuser`) |
| 目录 | `/var/ftp` 或 `/home/ftpuser` |
| 关键参数 | `chroot_local_user=YES`, `pasv_address=公网IP` |
💡 提示:生产环境建议使用 SFTP(SSH 文件传输协议)代替 FTP,它更安全(默认启用加密)。若需 SFTP,可参考:[SSH SFTP 搭建教程](https://www.digitalocean.com/community/tutorials/how-to-set-up-an-ssh-file-transfer-server-on-ubuntu-20-04)
完成以上步骤后,你的 FTP 服务器即可安全运行!
📣 商家广告:





0
IP地址: 5.27.126.38
搜索次数: 0
提问时间: 2025-11-11 15:50:34
🛒 域名购买:
31.gs
62.chat
jc9.com.cn
zm.gs
vg.gs
jqr.sale
kwzz.cn
lr.gs
jqjp.cn
779.net.cn
❓️ 热门提问:
云计算 难学吗
广州idc服务器托管
国内划算的云服务器
中国域名转让
免费版个人云服务器
如何ping网址
服务器资源申请单
vps 重庆
香港服务器哪里好
熊猫vps
豌豆Ai站群搜索引擎系统
🌐 域名评估:
yd.xj.cn
vance.games
su7.host
uav.sn.cn
s-k.com.cn
vwhu.cn
su7.xj.cn
catl.hb.cn
ab.cq.cn
ee.yn.cn
⛏ 最新挖掘:
凯里酸汤鱼
贵阳烤脑花
都匀毛尖茶
花溪牛肉粉
贵阳烤生蚝
贵阳烤豆腐
贵阳纸包鱼
贵阳特色菜
🖌 热门作画:
🤝 关于我们:
豌豆Ai
域名
建站
站群
留痕
推广
评估
源码
开发Ai
工具
日记
价格
加盟
广告
流量
留言
联系
🗨 加入群聊:
🔗 友情链接:
万词霸屏
台湾搜索神器
ai提问
🧰 站长工具:
Ai工具 whois查询 搜索
📢 温馨提示:本站所有问答由Ai自动创作,内容仅供参考,若有误差请用“联系”里面信息通知我们人工修改或删除。
👉 技术支持:本站由豌豆Ai提供技术支持,使用的最新版:《豌豆Ai站群搜索引擎系统 V.25.10.25》搭建本站。